オラ、ドラゴンレーダーを作るぞ(5)
(***) 5.1 もしかしてドラゴンレーダーだめ?だめ?
一つ前の日記にも載せていた動画。
早ければ明日にも注文したLCDが来るということもあり、ヒマさえあれば何となく眺めていました。
それで気がついたのですが、デジタルIOピンのほとんどがLCDとの接続に使われてる・・・?
外部パーツを制御するのに使うデジタルIOピンはArduino Duemilanoveで14ピンあるのですが(pin 0~13)、そのうち12本くらい使われているように見えるぞ・・・。
LCDを表示してお終いなら構わないのですが、ドラゴンレーダーにはGPSやデジタルコンパス、もしかしたら加速度センサーもつける予定です。
ArduinoにはデジタルIOピン以外にもアナログINピンが6本(pin 0~5)あるので、もしかしたらセンサー関係はこっちにつなげられるのかもしれませんが、残るデジタルIOピンが2本だけというのは多分致命的な気がします。
あわてて「Arduino ピン数 増やす」とかでググったりしましたが、見つかるのはDuemilanoveのピン数少ないよね的な話題ばかり。
Arduino MEGAという姉妹品はデジタルIOピンが53本もあるのですが、6,980円と高めの値段設定。いや、これも最初に買っていれば安いものかもしれない。
いやいや、MEGA買ったとしてもこんなの大きすぎるぞ。。
iPhoneとかあんなに小さいのに、GPSもカメラもLCDもタッチセンサーもよく詰め込まれているなあ・・・
(***) 5.2 大は小を兼ねない電源
ピン数のことでショックを受けている私に追い打ちをかけるように、もう一つ別の問題に気がつきました。
注文したLCDの電圧は2.6~3.5Vとのこと。そういえば5Vとか3.3Vとかってどこかで読んだなあ・・・
Arduinoについている電源は5Vなので、そのまま接続するとパーツが壊れるかもしれない・・・?
5Vがあるんだったら抵抗とかトランジストとか使って3.3Vに小さく出来るんじゃないかと軽く考えていたのですが、いろいろなページを読んでいるとそういう簡単なものでもないらしい。
電圧の変換はレベルシフトと呼ぶそうですが、ケースバイケースなので「このチップをはさめばOK!」的な感じではないようです。
Arduino Duemilanoveの仕様書を見ていて5Vと3.3Vの電源が用意されていることに気がつきましたが、3.3Vは50mAまでしか使えないそうです。
LCDって何mAなんだろ。
さらにウェブ検索していると、3.3V化改造 – arduinoまとめサイトというページに3.3Vに対応する改造法が載せられていました。
「対象デバイスは50mA以上の消費電流を持つTFTディスプレイやCMOSカメラです。」とあるので、今回の僕のドラゴンレーダーでもこの改造は必要なのか・・・
パターンカットってなんだ。。基盤の裏にくっつけてるのは何なんだ。。!
気落ちしながらも一番上のLCDの接続サンプル動画をもう一度見ていたら、3.3V化改造してるじゃん!!
・・・実は一番最初にこの動画を見たときも、なんか自分の基盤にはないのがくっついてるぞと思っていたのですが、見てみない振りをしていました(おい)。
しょうがない!3.3V化改造は避けては通れないか。
ということで、追加のお買い上げ~(とほほ)
| 商品名 | 単価 | 個数 | 金額 |
|---|---|---|---|
| 電解コンデンサー 100μF 25V 85℃ | 10円 | 5個 | 50円 |
| 表面実装型低損失CMOS三端子レギュレーター3.3V500mA NJU7223DL1(4個入) | 100円 | 1個 | 100円 |
| ピンヘッダ(オス) 1×40 (40P) | 50円 | 1個 | 50円 |
| はんだ吸取線 CP-3015 | 190円 | 1個 | 190円 |
| デジタルマルチメータ MAS-830L マニュアルレンジ | 1,000円 | 1個 | 1,000円 |
| 透明熱収縮チューブ φ1mm 1m | 58円 | 1個 | 58円 |
「はんだ吸取線」と「デジタルマルチメータ」はせっかくなので一緒に注文しました。
そうじゃないと送料の方が高くつくので悔しい。
(***) 5.3 LCDのマニュアルを読むことに
電圧の方は何とか対応できそうですが、問題はピン数。
LCDって何でこんなにピンを使うんだろ。
しかもいまだに取り付け方や扱い方が全く分かっていない。
LCDを購入したaitendoさんのページに、英語ですがLCDのマニュアルがついていましたので、それをよく読むことにしました。
今出来ることはそれぐらいだもんなあ。
| マニュアル名 | 内容 |
|---|---|
| コントローラチップ:ILI9325(PDF) | 一番大きなドキュメント。これがメインドキュメント |
| 詳細データシート(PDF) | インターフェース仕様の概要。あと取り扱いの注意点など。 |
| アプリケーションノート(PDF) | 何だか初期化の方法?みたいのが書いてある。あまり関係なさそう。 |
メインドキュメントの目次を見ていると、「7. システムインターフェース」という項目があり、「18ビットシステムインターフェース」「16ビットシステムインターフェース」「9ビットシステムインターフェース」「8ビットシステムインターフェース」「SPI」「VSYNCインターフェース」「RGBインターフェース」と色々なインターフェース(接続方法)が説明されています。
そういえばArduinoで8ビットで使うためにはどこかの抵抗を移動するとか何とか書いてあったなあと読んでいたら、「SPI(Serial Peripheral Interface)」で使う端子の数がすごい少ないことに気がつきました。
4本しかいらないの??(nCS/SCL/SDI/SDOの4本らしい)
多分電源とかは別途つなげるんだろうけど、10本以上つなげなくちゃいけないと思っていたら、こんな簡易なインターフェースもあるのかな。本当かな。
でも、16本とか10本使うところをたった4本で行うんだから遅いんだろうな。でもでも、ドラゴンレーダーってチープなインターフェースで済むし、SPIでいけるのならこれでいいじゃん!
あらためて「Arduino SPI LCD」とかで検索すると、やっぱり4本でつなげることが出来るらしい。しかもやっぱり少し遅いらしい。
それでも今回のドラゴンレーダーにはぴったりだ!SPIで接続できるといいなあ~!
(***) 5.4 今日までの報告書
ブックマークしたページ
| タイトル | 説明 |
|---|---|
| 3.3V化改造 – arduinoまとめサイト | 詳しい解説をありがとうございます!うまく出来るかなあ・・・ |
| お気楽工作日記 FRマイコンでLCD・・・ | Arduinoではないですが、今回買ったLCDの8bit化する手順を書かれています。 |
| ねむいさんのぶろぐ ねむいさんは心がきれいだからウソなんて付けない | ここにも8bit化の手順が書かれていました。バス幅という用語はググってみたけど、何となく分かったような・・・? |
| REDUINO-GHOST644U | ピン数と電源の問題があって、またこんなの見てた。 |
| なんでも作っちゃう、かも。 Arduinoで遊ぼう – GPSを使った高精度な時計 | このLCD、なぜかデジタルIOではなくアナログINに挿しています。何でこんなこと出来るんだろう。裏技? |
| 132×132 Serial Color Graphic LCD | サイズが小さいLCD。こいつは5Vでもいけるらしい。 |
| Arduino control AD7843 to achieve handwriting | 買ったLCDのチップでも同じコードがいけるらしいサンプルコード。 |
| エレキジャック ArduinoにSPI通信を行う機器を接続する(1) | 書かれている用語はいまだ理解できないのですが、SPIはやっぱり4本でいけるらしいですよ。 |
| INAの日記 今週末のINA | 僕と同じようにArduino+ILI9325にトライしていて、しかも成功しています!ただ8bitインターフェースなので、13本(!)の線をつなげています。 |
| Arduino cheat sheet | Arduinoのチートシート。これ便利かも。回路図とかいちいち本を開くの面倒だもんね。 |
| 2.8 inch QVGA TFT LCD with Touch Screen | 似た感じの液晶の販売ページ。サンプルコードとか参考になるかしら。 |
| Arduino Forum – i2c Vs SPI LCD connection | i2cとSPI、LCDをつなげるのはどっちがいいの?という話題。よく分からないけど、今回買った液晶もi2cっていうの使えるのかな。 |
| マイコミジャーナル シンプルなバス(その5):SPI(その1) | SPIの説明。マスターとスレーブって言うのがいまだ理解不能。何となく懐かしい響きなんだけどIDE的に |