こぶたのラッパ » 8月 2010

Monthly Archives: 8月 2010

コンピュータ

オラ、ドラゴンレーダーを作るぞ(8)

Published by:

*** 8.1 Arduino Duemilanoveの3.3V化

例によってワタシ、ハードウェアワカリマセン状態に変わりはないので、3.3V化改造に書かれている手順の通りに進めました。

すごく分かりやすく書かれているのですが、あちらこちらで理解できない説明があるんですよね・・・
自分なりに読み解いて、こんな感じでつなげてみました。

!注意!まだこの組み立てで動いていません!良い子は真似しないでください!

!注意!まだこの組み立てで動いていません!良い子は真似しないでください!



あと、表面のパターンカットも自信ないのですが、ググってみたところカッターナイフやマイナスのドライバーで傷をつけるということなので、そのようにしてみました。

分かりにくいけど、パターンカットした後。違うところまで傷ついているような・・・

分かりにくいけど、パターンカットした後。違うところまで傷ついているような・・・



あと、ピンヘッダそのものは購入していたのですが、2つのピンヘッダをつなげるコードを買っていない!
っていうか、このコードなんていう名前なの?(T T)
ピンソケットが両側にくっついているような感じなんだけど・・・

そういえば、LCDのピンソケットで半分にぶった切った残りがあるから、それをジャンパワイヤの先にくっつけちゃえ。
我ながらいい思い付きだと思ったのですが、ピンソケットをニッパーできるのはかなり無理があり、どんどん駄目パーツが増えていく・・・

ピンソケットの亡骸。ほんとごめんなさい。

ピンソケットの亡骸。ほんとごめんなさい。



とにもかくにも、やっと3.3V化が完了したぞ~。

パターンカットが一番びびりました。後戻りできないから・・・

パターンカットが一番びびりました。後戻りできないから・・・



*** 8.2 配線してみたけど・・・

Arduino Forum › Software › Development › Arduino control the 2.4″ TFT LCDを参考に、ArduinoとLCDをつなげていきます。
が、購入したLCDと微妙に違うので、なんか番号が違うんだよなあ。。

とりあえずこんな感じでつなげてみました。

Arduino Duemilanove側 WBX280V009-PCB(ILI9325)側
デジタル0 DB10
デジタル1 DB11
デジタル2 DB12
デジタル3 DB13
デジタル4 DB14
デジタル5 DB15
デジタル6 DB16
デジタル7 DB17
デジタル8 RS
デジタル9 WR
デジタル10 CS
デジタル11 RESET
GND DB0~7をブレッドボード経由で

そして、USBでPCにつなげて、itdb02のサンプルコードを流し込む!!
一発で動くといいなあ~♪
(そんなに甘くはない・・・)

これがサンプルコードのスケッチ。

#include <ITDB02.h>
 
ITDB02 lcd(0,1,2,3,4,5,6,7,8,9,10,11);
 
void setup()
{
  lcd.Initial();
  lcd.CleanLCD();
}
 
void loop()
{
  lcd.Setcolor(0x00,0xffff);
  lcd.Dispshowstr(80,300,"iteadstudio.com");
}

どきどきしながら「アップロード」ボタンを押す!
ってこんな無造作にアップしていいものなのかもよく分からない!

いつものようにTXとRXのLCDがテケテケと点滅し、そして・・・あれ、TXだけが延々点滅しているぞ・・・
よく分からないけど、いったんUSBを外し、うーんどうしよう。

*** 8.3 問題の切り分け

いっぺんにLCDの8bit化とArduinoの3.3V化をやったので、原因箇所とおぼしきものはすごく多い。
とりあえず大まかに切り分けるとこんなところでしょうか。

  • LCDの8bit化のチップ抵抗付け替えをミスった
  • Arduinoの3.3V化の手順に誤りがある(配線方法の間違い)
  • Arduinoの3.3V化の作業に誤りがあった(ハンダ付けがへた)
  • ArduinoとLCDの配線に誤りがある
  • LCDが壊れている。または自分が壊した。
  • Arduinoを壊した。

一番嫌なのは、Arduinoそのものが壊れたのではないかということです。
いったん配線を外して、一番シンプルな、LEDをデジタル13ピンとGNDにつけて点滅させるプログラムが動くかどうかを試してみました。

と、アップロードしようとすると今度はArduino IDEにエラーメッセージが。
こんな感じのエラーが出ます。

avrdude: stk500_getsync(): not in sync: resp=0x30
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

あ~・・・どんどん悪くなっていく~・・・
どうもコードの接触不良とか配線ミスが原因らしいのですが、なんといってもさっきパターンカットとかしたばっかりだしなあ(大汗)

3.3Vのほうについていた電源切り替えのピンソケットを5Vに変えて再トライしたところ、今度は動いたっっ!!!
LEDが点滅してくれました。良かった~。Arduinoそのものはまだ死んでいないようです。

5Vに差し込んだり3.3Vに差し込んだりしても、いずれも問題ないようなので、改めて3.3VにつなげてLCD用のサンプルコードをアップロードします。
今度はTXとRXが数秒点滅した後止まって・・・LCDを期待の目で見つめるのですが・・・うんともすんとも言わないなあ。
まったく無反応です。

う~ん・・・やっぱり配線が悪いのかなあ。
また後日チャレンジすることにします。

現状の組み立て。動いてないこともあり非常にしょぼく見える。

現状の組み立て。動いてないこともあり非常にしょぼく見える。

コンピュータ

オラ、ドラゴンレーダーを作るぞ(7)

Published by:

*** 7.1 ILI9325の8bit化

先日注文したハンダゴテが届きました!が、意外にコテ先が大きいなあ・・・
もっと針みたいのを想像していたんだけど、これであの米粒6分の1サイズのチップを外したりつけたり出来るのか。
ともかくもねむいさんの該当記事お気楽工作日記を開いてハンダゴテを温める。。

ええい、ままよっ!と左手にはんだ吸取線、右手にハンダゴテを持ってチップの接着部分をジュウジュウ温めること3分。変化ないなあ。
ラジオペンチでぐいぐい引っ張ろうにも、小さすぎてつかむことが出来ないし。
さらにハンダゴテで温めつつコテ先でぐいぐい押していたら、ずるっと斜めにずれた!
よしっとばかりにさらに力を加えたところ・・・どこかへチップが飛んでった!!!

ぎええ!あんなに小さなチップ、一度なくしたら絶対見つからないぞ!
慌ててきょろきょろと探しまくりますが、右手には高温のハンダゴテ、前方には興味深々で近づいてこようとする1歳11ヶ月の息子!
「アッチッチだからね!」「こっちこないでね!」と絶叫しながらハンダゴテの電源を抜き、もしかしたら自分の服についたかもしれない、床に落ちたかもしれないと目を皿にしてチップを探します。
とはいえせいぜい1mmくらいしかないチップなので、見つからない・・・
あんなのどうやって注文したらいいのか分からないし、こんな情けない形でプロジェクトが終わるのか・・・と思うと探す気力も萎えてくる。

灯台下暗しだと改めて基盤のそばを探していると、、あった!!!!!!もう絶対なくさんぞ!!!

この写真を撮っているときはまだ心臓がどきどきしています

この写真を撮っているときはまだ心臓がどきどきしています

*** 7.2 外した抵抗チップの取り付け

一息ついて、またハンダゴテを温め直します。
付けるほうがまだ簡単だろうと思いながら、さっき見つけたチップをラジオペンチでつかみつつハンダゴテを当てますが、チップが小さすぎてラジオペンチでつかみながらというのはほぼ不可能。
それではと目標となるR2の場所にチップを置いて、そこにコテ先を当てる感じで作業したところ、良さ気にチップがくっついたかな・・?
出来るだけ真っ直ぐになるように微調整して終了!ということにしよう!

付いたけど、周辺がハンダゴテで焦げていないか不安

付いたけど、周辺がハンダゴテで焦げていないか不安

*** 7.3 ついでにピンソケットもつける

同じくLCDのキャリーボードに、LCDと一緒に購入したピンソケットをハンダでくっつけます。
↓ の動画で見えているやつ。

が、間違えててピン数40のを2列買っちゃった!
正しくはピン数20の2列ですが、半分に切らないと・・・とニッパーで無理やり半分のぶった切りましたが、すごくいい加減な感じになってきたぞ。
まあ気にするな俺!

裏面からハンダ付けしますが、さっきのチップと比べると超簡単です。
とはいえど素人の私なので、出来上がりを見るとすごくムラだらけ。
これでちゃんと動くのかな・・・

こうやって写真で見るとますます粗が目立つ。

こうやって写真で見るとますます粗が目立つ。

これで動くかどうかを確認するには更にArduinoの3.3v化と、いまだよく分かっていない配線の問題をクリアするまでお預けです。

*** 7.4 今日までの報告書

理解した用語

用語名 説明
はんだ吸取線 一度つけたハンダを取り除くのに使う布状の金属線。素人仕事の場合ハンダをのせる時間より、これを握っている時間の方が長くなる傾向がある。あっという間にハンダが吸い取られるのが気持ちいい。うかうかしていると吸取線そのものがあっちっちになる。
コンピュータ

オラ、ドラゴンレーダーを作るぞ(6)

Published by:

*** 6.1 タッチパネルについて

待ちに待った2.8インチTFT液晶が届きました!
縦長なので、上のほうにドラゴンレーダー、下のほうに操作関連のボタンなどを配置できればと思っています。
そう!この液晶はタッチパネルなのです。

はじめタッチパネルは無視しようと思っていたのですが、今回購入した液晶のコントローラチップ(ILI9325)でも使えるらしいArduino用のライブラリを作っている人がいたのです!

itdb02

す、すばらしい・・・
2010/6/1に最初のバージョンがアップされていますので、本当に出来立てほやほやです。
今日現在ではV1.2が最新バージョンです。
使い方などを少し見てみましたが、これなら衝撃的初心者の私でも扱えそうなレベルにまでブレイクダウンされています。

LCDの扱いは8bitもしくは16bitのようで、SPIでの処理は検討されていない模様。。
やっぱりそういうものなのか~。

逆にタッチパネル用の接続をSPIで行うようで、そうなると8bit接続(つまりラインが8本のIOピン必要)と併せると12本のIOピンが必要になります。
ますますGPSが使えなくなるぞ。

*** 6.2 ピンについて再調査

以前ブックマークしたなんでも作っちゃう、かも。 Arduinoで遊ぼう – GPSを使った高精度な時計みたいに、アナログINのピンを使えるといいんだけどなあ・・・ということであらためてググってみて、衝撃の事実が・・・!

アナログINピンはデジタルIOピンとしてつかえるそうな。

Arduino Referenceより
Note
If the pin isn’t connected to anything, digitalRead() can return either HIGH or LOW (and this can change randomly).
The analog input pins can be used as digital pins w/ numbers 14 (analog input 0) to 19 (analog input 5).
※この情報は日本語訳サイトや教本「Arduinoをはじめよう」にはまだ未掲載です。

ただ、「digital pins w/」の最後の「w/」って書き込みだけってこと?
まあ試してみれば分かるかな。

これを使えば、デジタルIOピン14本+アナログINピン6本=最大20ピンをデジタルIOピンとして使えるわけだ!
8bitモードでLCD接続してタッチパネルも扱うとしても、ぎりぎりGPSやコンパスも乗っけられそうだ・・・

*** 6.3 よーし液晶をつなげるぞー

とはいえ、まずやらなくてはいけない難関が2つ。

  • 1. LCDの8 bit化
  • 2. Arduino Duemilanoveの3.3V化

「2. Arduino Duemilanoveの3.3V化」は3.3V化改造 – arduinoまとめサイトに書かれているパーツを追加購入したので、それの到着待ち。

ということは「1. LCDの8 bit化」を先にやってみよ~と、あらためてねむいさんの該当記事を確認してみました。

んでもってWBX280V009もJ4にあるチップ抵抗をR2に移すと8bitバス化できるけど
この改造でIM0が端子に引き出せられるようになるので外部から簡単にバス幅を切り
替えられますよぅ!!
(20100720追:
 当たり前ですがこの改造を行ったら外部に出たIM0端子は使用するバス幅に
合わせてちゃんとレベルを決めてやらないとだめです)

なんのことやらと思っていたこの文章ですが、LCDが届いてみて初めて意味を理解できました。
LCDにくっついているビニールぽいコネクタケーブルについているチップ型の抵抗をいったん外して隣りのラインにハンダ付けするということだそうです。
思わずデキルカボケーと叫んでしまいました。だって、数mmの世界なんですよ(T T

できるかぼけー

できるかぼけー

まあ、うすうすこういうことかとは思っていたのですが、こんなにも小さいとは想像していませんでした。
私が持っているごついハンダゴテでは、ケーブルに穴を開けるのが関の山というところです。

仕方がないので、またも出費・・・新しいハンダゴテ(HOZAN(ホーザン) H-130 ハンダゴテ 15W 2,356円(税込))を購入しました。
いつ先に進めるんだー!!

*** 6.4 今日までの報告書

ブックマークしたページ

タイトル 説明
TFT-2.4″-320*240-With-Touch-Shield-(Arduino-Compatible) 今回買ったLCDに似てるLCDシールド。ソースコードを参考に出来そう。
Arduino control the 2.4″ TFT LCD 今回利用させていただくitdb02はこのフォーラムから生まれた!ITeadさんVery Thank you!!!です。
New Ball Prototype ドラゴンレーダーとは関係ないけど、真似したい!ボールがころころ動きます。なぜか癒されます。
コンピュータ

オラ、ドラゴンレーダーを作るぞ(5)

Published by:

*** 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的に
コンピュータ

オラ、ドラゴンレーダーを作るぞ(4)

Published by:

*** 4.1 LCDを注文した

最後の最後まで迷いに迷いましたが、aitendoで2.8インチTFT液晶(キャリーボード付き)[WBX280V009-PCB]を注文しました。

2.8インチTFT液晶(キャリーボード付き)[WBX280V009-PCB] 2,580円 (税込)

2.8インチTFT液晶(キャリーボード付き) / WBX280V009-PCB / 2,580円 (税込)

一回り小さい2.4インチTFT液晶(キャリーボード付き)[YHY024006A-PCB]ノキア液晶3300の3点セット[NOKIA3300LCD-SET] はArduinoとの接続成功例などありましたが、ドラゴンレーダーとしては少し小さすぎるかなあと・・・。

まあ失敗して買いなおしたとしても1,500~2,000円くらいだし、まずは自分が欲しいと思うものからトライしようと思います。

2.4インチTFT液晶(キャリーボード付き)[YHY024006A-PCB] 1,980円 (税込)

2.4インチTFT液晶(キャリーボード付き) / YHY024006A-PCB / 1,980円 (税込)

ノキア液晶3300の3点セット[NOKIA3300LCD-SET] 1,480円 (税込)

ノキア液晶3300の3点セット / NOKIA3300LCD-SET / 1,480円 (税込)

あと、せっかくなので他にもいくつかパーツなど購入してみました。
Arduinoなしでも動かすことが出来そうな電子工作がありましたので、それらも一緒に作ってみたいと思います。

商品名 単価 個数 金額
緑色LED(5mm)(50個入り)[CSL-500G1AT-50P] 200 円 1 個 200 円
ボタン電池(3V)[CR3032] 100 円 5 個 500 円
電池ボックス(単3×2本)[BATTERYBOX-T3-2] 120 円 1 個 120 円
カラーキーボードスイッチ(○3.5/10個入り) (色: 黄)[SW-6X6X5H] 100 円 1 個 100 円
ジャンプワイヤ(70本セット)[JWIRE-80X60P190X10P] 590 円 1 個 590 円
2.8インチTFT液晶(キャリーボード付き)[WBX280V009-PCB] 2,580 円 1 個 2,580 円
ピンソケット(2.54mmピッチ・メス・単列)(ピン数:: 40)[PSOKET-2.54PT-S] 50 円 2 個 100 円

上記注文リストのうち、一番下の2つ以外はドラゴンレーダーとは関係なく買ったものです。

そうそう、今日買うのを迷った2.4インチTFT液晶(キャリーボード付き)[YHY024006A-PCB]のArduinoとの接続サンプル動画を見ていたら、Arduinoとの接続部分に商品には含まれていないパーツがありました。

ピンヘッダとかピンソケットというものらしいのですが、いまいち自信がない・・・。
動画を見る限りピンソケットのように見えるので、これも一緒に注文しました。
今回買った液晶にも同様のものが必要そうです。

ハンダ付けが必要そうなパーツですが、なぜかハンダごてとハンダは持っています。
以前から憧れていた世界ですので、何かの折に秋葉原で買った記憶があります。

*** 4.2 今日までの報告書

理解した用語

用語名 説明
マイコン マイクロコンピュータのこと。パートナーに「Arduinoって何?」と聞かれて「マイコンだよ」と答えたのですが、「マイコンって何?」と聞かれて「マイコンピュータの略じゃない?」なんてことを答えていました。

ブックマークしたページ

タイトル 説明
Arduino 日本語リファレンス 言語仕様はJavaに似ているため、何の違和感もなく使えます。こりゃ楽だ。
PIC AVR 工作室別館 arduinoの館:キャラクターLCD表示ライブラリ ドラゴンレーダーではキャラクターLCD(文字表示)ではなくグラフィックLCD(グラフィック表示)を使うのでそのまま真似することは出来ないですが、丁寧に書かれているため私にも理解できます。
ねむいさんのぶろぐ 液晶関係の記事が充実しています。何している人なんだろう・・・
BL-TFT240320PLUS V2 BL-TFT240320PLUS V2 とは TFT LCD QVGA 3.2インチの開発ボード(タッチスクリーンつき)だそうです。Arduinoのシールドとして使えるのでこれを買えば一発でLCDのハードウェアは解決するのですが、何となくつまらないんだよなあ。
How to use LCD TFT Arduino shield BL-TFT240320PLUS LCD 上記LCDシールドの使い方ページ。なんだかんだ言って気になっている。
2.4″ TFT LCD Screen Module: ITDB02-2.4 これもArduinoのシールドになるLCDパーツ(別売りのでかいコネクタが必要)。
TFT-LCD Shield まだ発売前みたいですが、これもArduinoに取り付けできそうなLCDシールド。あれ、「ネムイ・トリノミアスさまデザイ」ってこれねむいさんだ。
エレ玩 Konyaの開発記録:AitendoのTFT液晶モジュール(ZY-FGD1442701V1)を使う この方も詳しくLCD関係の記事を載せています。私の場合ハードウェア愛が少ないんだよなあ・・・
コンピュータ

オラ、ドラゴンレーダーを作るぞ(3)

Published by:

*** 3.1 Arduinoが到着

到着する数時間前にたまたまみた動画。なんて不吉な・・・・!

爆発する電子部品(HD版)

via なんでも作っちゃう、かも。

まあ、とりあえず教本どおりに進めるのが吉ですね。。
まずは箱をあけてパーツを確認します。
・・・と、Amazonに書かれているパーツより格段に多いんですけど?!

どれが何なのかまったく知らない上に何の説明書きもないので、のっけから途方に暮れる。
Amazonの説明書きと教本を読みながら、送られてきた箱にメモ書きをしていきます。

特に抵抗のカラーバーが分からん。こちとら色弱でい!

特に抵抗のカラーバーが分からん。こちとら色弱でい!

ジャンパ線が各種いっぱい入っていることが分かりました。

教本といい、このはじめようキットといい、初心者向けとは思えない・・・
Amazonの評価には↓な感じに書かれていたのに・・・

本当に「入門」な人には購入をお勧めします。

もしかしてこの分野の人たちは、初心者に厳しいのか。

*** 3.2 日々のお勤め

私も一応社会人ですので、平日は大体(?)働いています。
今日は夕方6時までPC労働を行い、その後市民農園へ行って野良仕事。
今年すごくよく出来ているモロヘイヤやトマトなどを収穫しました。

ご飯を作ったりお風呂に入ったり録っといた映画を見たりと一通りの一般市民的な活動を行った後、おもむろにArduinoへと向かうのでありました。

ちなみに今日見た映画は「バグダッド・カフェ ニュー・ディレクターズ・カット版」と「ブレードランナー ファイナル・カット(の最初の15分だけ)」。
ブレードランナーの最初のほうに出てくる↓みたいな光が、バグダッド・カフェのジャスミンの部屋にかかっている「ハリウッドで背景画を書いていた男の作品」として描かれていたのが面白いと感じました。

ジャスミンのビジョンとしてなんども登場するイメージ

ジャスミンのビジョンとしてなんども登場するイメージ

ブレードランナーが1982年公開、バグダッド・カフェが1987年公開ということですので、意外と本当に本当かもしれませんよ。
「砂漠」というキーワードも両方に登場するしね(ブレードランナー・・・砂漠を歩いていて亀をひっくり返すという挿入話。バグダッドカフェ・・・モハーヴェ砂漠が舞台)。

*** 3.3 ようやくLED点灯

といった与太話はこれくらいにして、いよいよArduinoをPCに接続です。

USBケーブルははじめようキットにはついていないので、以前買ったjouet bleuのを使おうとしたらサイズが合わない。
デジカメ、プリンタなど色々確認してみましたがみんな合わない!!
あわあわとさらに探していたら、ようやく外付けHDDに使っていたUSBがぴったりだったので、これを使うことにしました。

PC上のIDE(開発用のソフトウェア。3~4日前からこれのインストールだけは済ましておいた)でポートの設定を行い、「Arduinoをはじめよう」の最初のサンプルを試す。
わーい。光った光った。

次にタクトスイッチを使った押しボタン式ランプのサンプルを試す。
・・・あれ、ボタンを押さなくても光りっぱなしだぞ・・・

Example02の間違ったタクトスイッチのつけ方

Example02の間違ったタクトスイッチのつけ方

もしかしてタクトスイッチの向きが悪いのかなと横向きなのをたてにすると、今度はブレッドボード(配線が簡単に出来る基盤。上記写真の穴だらけの部分)のabcdeのたて5マス部分に収まらない。。
教本の絵の通りなんだけどなあ。。

と、ここで気がつきました。

正しいタクトスイッチの向き。たてに使うこと!

正しいタクトスイッチの向き。たてに使うこと!

次のブロックだと電気が通らないと思い込んでいたのですが、ジャンパ線(電線)使うと別ブロックでもいいわけだ。なるほど~。

その他、Macのスリープ風点滅や、光センサーを使ったLEDの強弱指定など、はじめようキットで出来ることは一通りやってみました。
よーし次はLCDだ(お前に出来るのかーという声が方々から聞こえそうですが)。

*** 3.4 今日までの報告書

ゲットしたもの

内容 リンク 説明
ブレッドボードではじめる電子工作 – 初歩のラジオ製作 事前にいろんな回路図など見ていたのですが、まったく自分に理解できそうなものではなかったので、良さそうかなと思って図書館から借りてきました。しかし!小さく書かれていたサブタイトルの通りラジオ作りの本でした。。パーツの予備加工の方法などはとても参考になります。
最新LED活用工作ガイド これも図書館で借りてきました。パーツの説明や配線の細かい図解などが素人には非常にありがたいです。

ブックマークしたページ

タイトル 説明
Little Bird Electronics – Arduino Arduino関連のいろんなパーツが紹介されています。ぼけーっと眺めていると飛ぶように時間が過ぎていきます。
コンピュータ

オラ、ドラゴンレーダーを作るぞ(2)

Published by:

*** 2.1 何を作るのか

具体的に何を作るのかということですが、これが完成イメージです。

ドラゴンレーダーの作り方

ドラゴンレーダーの作り方

技術的に可能なのかどうかもいまひとつ分かっていませんが、何となく上手くいく意味不明な自信だけはあります。

遊び方としては、

  1. お宝の位置情報(緯度、経度)を本体にセットする(LCDとボタンによる画面操作か、現在地をそのまま使用)。お宝は最大20個くらいまで登録できるようにする。
  2. お宝を探す人にドラゴンレーダーを渡す。
  3. お宝を探す人はドラゴンレーダーの表示から、お宝までの距離と方向を大雑把に知ることが出来るので、お宝の場所まで向かう。
  4. お宝を見つけたら、見つけたことをドラゴンレーダーに通知し、次のお宝探しに向かう。
  5. お宝を全部見つけたらミッションコンプリート!

という感じです。

ユーザーインターフェースは大きく次の3つになると思います。

  • 位置情報セット(管理画面的な)
  • お宝探索(現在地とお宝位置表示、つまみによる縮尺変更、場所移動や回転の即時反映)
  • 見つけたときの通知セット(お宝に近づいているときだけ使用可能)

ハードウェア周りとしては次の4つを使うことになりますが、現在のところどれ一つとして理解していません。
というか、電圧、電流、抵抗について、今日はじめて知りました。というくらいの素人です。

  • ボタンやつまみによる入力処理
  • LCD処理
  • GPS処理
  • デジタルコンパス処理

*** 2.2 フィジカルコンピューティングについて

能書きはいいからさっさと作らんかいという言葉が聞こえそうですが、もう少し現在の私自身の情報をお伝えしようと思います。
そもそも手元にArduinoが届いていないし。

普段私はWeb系のアプリケーションのみを開発しています。
どんなにすばらしいアルゴリズムを思いつこうと、最先端のプログラミング手法を学ぼうと、出来ることはWebブラウザに表示することだけです。
なので、以前からWebブラウザの外、ディスプレイの外のコンピューティングに強い興味を持っていました。

たまにそれっぽい雑誌や本を眺めることはあったのですが、インピーダンスだのレジスタだの意味を想像することも出来ない言葉たちに臆病になり、結局いつもどおりのJavaやPHPやAjaxに逃げ込んでいるという状況でした。
そのぶ厚く聳え立っていたハードウェアへの心の敷居を、例のGeekDadが軽々と崩してくれたのです。

今回作るドラゴンレーダーもWebブラウザで動かすだけのものであれば半日仕事で終わるようなものなので、普段からハードウェアに親しんでいる人にとってはあっという間に作り上げられるちょろいものかもしれません。
私にとっては配線一つとっても一日がかりになりそうな予感がしますので、完成までは何ヶ月かかるのか分かりません。
それでも今日どこかでチラッと読んだ「続けた人が勝ち組」の言葉を信じて、今度こそ自分の力で新しいハードウェアを作り上げたいと思います。

*** 2.3 今日までの報告書

ゲットしたもの

内容 リンク 説明
Arduino解説書 買おうと思ったら図書館に置いてありましたので、速攻借りてきました。
Arduino初心者のためのスターターキット Arduino互換機で良さそうなのがあったのですが、結局Arduino Duemilanove 328が入っているこれにしました。明日か明後日くるはず。

ブックマークしたページ

タイトル 説明
スタパ齋藤の「週刊スタパトロニクスmobile」 ■ 2009年、Arduinoの現在 Arduinoのこれまでの歴史をざっとふり返ることが出来ます。
aitendo 「LCD」検索結果 秋葉原にショップがあるaitendoのWebサイト。安い。
[備忘ログ] 時計・SDカードリーダー付Arduino互換機「Seeeduino Stalker」 位置情報を記憶するためにSDカードが必要かと思い、最初はこれを買おうとした。でもArduino本体にEEPROMという保存用の領域があるので、これを上手く使おうと思い、スタパ齋藤さんもおすすめのArduino Duemilanoveを選択しました。
デバイスの接続 GPSやデジタルコンパスへの接続例を紹介してくれています。
スイッチサイエンス 超小型トラックボールモジュール スイッチサイエンスさんは色々なパーツを売っているお店。今回購入したスターターキットもこちらで作っているそうです。
2.8 TFT Color LCD,touch screen shield V1.2 for Arduino 168/328 タッチパネル式の液晶シールド。海外からの取り寄せになるので割高になるけど、これもありかなあと見ていました。たぶん買わないけど色々参考になりそう。
aitendo I/F変換基板[IFB-LQ080T3AG01] LCDは既成のシールドを使わずに自分で作りたいのですが、何が必要なのか皆目わからん・・・。このパーツは必要なのか??
arduinoにnokiaのLCDを接続 800円とちょこっと部品 ちょうどいいことやってる人見つけた!分からなくなったらこの人に聞こう・・・
Learning About Arduino and Nokia LCD Nokiaの液晶(安い)を使うためのノウハウリンク集。超初心者向けのページが欲しいんだけどなあ。
Arduino Tutorial – connecting a parallel LCD このページが一番詳しく配線とか書いてくれています。いつか理解したいものです。
NokiaLCDライブラリでNOKIA3300-LCDが動いた これまたありがたい情報です。ただつなげ方が分からん!
千石電商オンラインショップ SparkFun GPS-09487 このGPSめちゃくちゃ安いです。1695円て。
Arduino + グラフィック液晶 配線が詳しく書いてあります!応用できるといいんだけど。

今一番自信がないのはLCD。
とりあえずGPSとコンパスからはじめるか・・・

コンピュータ

オラ、ドラゴンレーダーを作るぞ(1)

Published by:

*** 1.1 事始め

先週、カリフォルニアにあるシャスタ山に再訪してきました。
シャスタ山へは3年前に初めて訪れ、その時の日記はこぶたのラッパに書いています。
今回の旅行記はメンドクチイので興味のある方はパートナーのブログをご覧ください。

その旅行中に立ち寄った本屋さんで一冊の本を購入しました。
それが『Geek Dad(ギークなパパ)』。
まだ翻訳されていないので、アメリカのAmazonへのリンクになっています。

今でも2歳の息子とはよく遊ぶのですが、まったく考えたこともないような遊び方の提案に大興奮し、帰りの機中で読破してきました。
そんなに英語は得意ではありませんが、実用的な内容なので結構簡単に読み進められました。

その中でも作ってみたい!!と思ったのがこれら。

まえがき:Arduinoを使ったオートパイロット飛行機
4. エレクトリック・折り紙
5. サイボーグ風ハロウィンかぼちゃとギーク・オーナメント
11. ラジコンカーを使った破壊対決
12. 風船を使って空からデジカメで撮る
14. いつでも蛍
17. アウトドア・ムービー・シアターを作る
24. 二進法カレンダー
27. LEGOランプ

「子供を遊ばせる」ことではなく「子供と一緒に最高に楽しみ遊ぶ」ことを目標とした本で、著者のKen Denmeadさんが実際に自分の子供たちと一緒に作ったり、自身のサイト「GeedDad」に投稿された選りすぐりのアイディアが満載です。
読んでるとわくわくしてきますよ~。

特に気になったのが、Arduino(アルドゥイーノ)というマイコンキット。
これまでも一度jouet bleuというマイコンキットを購入したことがあったのですが、あくまで教育用ということで拡張機能なしのため、LEDを光らせたりボタンでLEDを制御することくらいでおしまい。もっと色々作りたい!と思わせるものではありませんでした。

Arduinoも基本的な使い方はjouet bleuと同じですが、センサーやもろもろの拡張モジュールが世界中で開発・公開・販売されていて、一大コミュニティが出来上がっています。
主な遊び方として、LED、赤外線センサ、GPS、デジタルコンパス、LCD、モーター、3軸加速度センサ、サウンド、etc.. とにかくいろいろあるんです!

*** 1.2 なぜドラゴンレーダーなのか

そもそもドラゴンレーダーが何かをご存じない人のために説明しますと、漫画ドラゴンボールに登場する、ある意味もっとも重要なアイテムです。
漫画ドラゴンボールは、世界に7つある「ドラゴンボール」を集めると、シェンロンと呼ばれる龍の神様が現れて願いを一つかなえてくれる(その後ボールは世界中に飛び散り、一年間石となる)という設定がベースになっています。
ドラゴンレーダーはそのドラゴンボールを探すためのこういう機械。

ドラゴンレーダーを操作するブルマ

ドラゴンレーダーを操作するブルマ

今回作る予定のドラゴンレーダーは、ドラゴンボールを見つけるというハイスペックなものではなく、事前に設定した緯度経度の場所を画面上にマッピングするごくごく簡単な(に違いない)機械です。

*** 1.3 ここで昔話

昔、私がまだ高校生だったころ、当時小学生だった妹とその友達から、次のようなお願いをされました。
「ねえねえ、宝の地図つくってよ」
よく漫画に出てくる○○から東へ20歩、さらに北へ5歩いき・・・的なものをお願いされた覚えがあります。

当時の私は非情にも、「えーめんどくさい」とむげに断ってしまいました(まあ、今でも同じように答えるかも・・・)。
妹もしぶとく何度かお願いしてきたのですが、「めんどくさい」「また今度」でお茶を濁して、結局宝の地図を作ることはありませんでした。

この出来事を妹が覚えているかどうか走りませんが、私の中ではなぜか1年に一回くらい良心の呵責とともに思い出され、「ああ、作ってやればよかったなあ」と何とはなく遠くを見つめることになるのでありました。

このドラゴンレーダーが完成した暁には、お宝をあちこちに設置した後に、お宝の位置を記憶させたドラゴンレーダーを妹に渡すことになるはずです。
美談で終わるとよいのですが・・・