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

*** 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)

*** 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)

*** 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)

*** 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)

*** 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)

*** 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)

*** 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年に一回くらい良心の呵責とともに思い出され、「ああ、作ってやればよかったなあ」と何とはなく遠くを見つめることになるのでありました。

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

chromeTouchをメンテしながら

Google Chrome(クロム)というブラウザをご存知でしょうか。

Googleが公開しているWebブラウザで、私は初めて公開された2008年9月から今までずっと使っています。

現在の世界シェアとしては6%という、一見すると小さな数字でしかありませんが、インターネット・エクスプローラー(10年以上もOSシェア90%以上を維持し続けるWindowsのデフォルトブラウザ)が圧倒的優位を保つブラウザシェアの中では、新顔としては驚くべき数字です。

インターネット・エクスプローラーがWindowsデフォルトブラウザである限りは、たった今インターネット・エクスプローラーを使っている人が今さらChromeに乗り換えるというキッカケはそれほどないでしょうが、それでも試してみたいという人は、是非↓こちらから。

Google Chromeをダウンロード

もちろん無料でWindowsでもMacでも使えます。

Chromeの画面はとてもシンプルです。

Yahoo! Japanを開いたところ
Yahoo! Japanを開いたところ



Chromeの特徴は、「シンプル」、「速い」の2つですので、難しいのはちょっと・・・という人には本当に最適ですので、これを機に一回試してみてね!
インターネット・エクスプローラーを使っていて、いつの間にかほにゃららツールバーがどんどん増殖している人をよく見かけますが、そんな人からすると物足りない?感じがするかもしれませんが・・・

・・・というのが長い前置きでした。

でですね、今回ご紹介しようと思ったのは、そんなGoogle Chromeの拡張機能「chromeTouch」です。

世界中でGoogle Chrome用にプラグインソフト(Google Chromeでは拡張機能といいます)が作成されており、ギャラリーやインターネットで探してイントールすることが出来ます。

そんな拡張機能を、私ことsmilkobutaもいくつか作っており、昨年の9月に公開したのがこのchromeTouchです。

chromeTouchを簡単にいうと、iPhoneみたいに画面をつっついてスライドさせる機能です。
もちろんタブレットPC/タッチパネルPCには最適ですが、マウスを使っている人にもおすすめです。

・・・とここまでが前置き第2弾
ずいぶん久しぶりにブログを書くので、文章のまとめ方を忘れてしまいましたよ。

ここから本題ですが、私はchromeTouchを公開してから、今後やりたい事が大きく変わったということを書きたかったのです。

そもそもchromeTouchを作成したのは、私自身Eee TopというタッチパネルPCを購入したことから始まります。
これからはタッチパネルだっ!!と勢いよく買ったのは良いのですが、マルチタッチに対応していたわけではないので、Webページのスクロールや前の画面に戻ったりといった操作に非常なストレスを強いられていました。

そのときフッと思いついたのが、画面の余白をドラッグできれば、ものすごく楽なんじゃなかろうかというアイディアです。

早速プロトタイプを作って動かしてみたところ、鼻血が出るほど使いやすい!!たまらん!!
と、パートナーにも使ってもらってみたら、これいいんじゃない?!と好感触。

今までありがちだったのが、思いついたアイディアをリリースする前に他の人に先をこされてしまうこと。
Webの世界はスピードが早いので、ノリをそのまんま行動に移さないと遅れをとってしまいます。
というわけでまったく未完成の状態のまま、当時唯一存在していたギャラリーサイトにとりあえず公開してしまいました。

chromeTouch の公開ページ

公開初日からパラパラとダウンロードしてくれる人がいて、リアルに小躍りをおどりました。

そのうちコメントが付くようになり、「素晴らしい!!」とか「こういうソフトを探していた!!」とか「Chrome必携ソフトだ!!」とか、いかにもな英語の賞賛をいただいたりしている内に、100ダウンロードを突破。

以前、私の恩師といえる方から「どんなサービスでも、最初の100人を集めるのが大事だよ。100人集まったら後はどんどん人が増えていくよ」と教わったことがあったので、ここでまた小躍りを披露。

こんな機能を追加してくれとか、こういうバグがあるので直してくれないかといったコメントをもらうようになったので、要望にそってバージョンアップを繰り返しているうちに、1,000ダウンロード突破。

次の日見たら2,000ダウンロード突破。

また次の日は3,000ダウンロード突破。

・・・
数週間のうちに、10,000ダウンロードを突破してしまいました。

Google本家でギャラリーが出来てからは、ダウンロード数はゆっくりしたものになりましたが、それでも最初に公開したギャラリーサイトでは現在80,000回以上もダウンロードされています。

正直、こんなに沢山の人に使ってもらうソフトウェアを作ったのは生まれて初めてですので、大興奮です。

その頃くらいから、世界中の人から英語でメールをもらうようになり(最初に公開したのが英語のギャラリーサイトだったため)、つたない英語でメールの返信やコメントの返信を書くようになりました。

そうして、英語のやりとりをしていて感じたのが、「すごく楽しい」ということです。
沢山の人がダウンロードしてくれているのでもちろん嬉しいのですが、そうではなく英語で世界中の人とコミュニケーション出来るということの素晴らしさとワクワク感を、初めて感じたのです。

英語の表現は、(特にアメリカ英語は)とてもシンプルで、でも感情をしっかり表現していて、このソフトウェアを使ってどれほど嬉しいのかということがダイレクトに伝わってきます。

ある人は、「これまでずっとネット中を探してきた機能(スクロールバーを表示しなくするオプション機能)をついに手にすることが出来た。今までいろんな人に聞いては、それは無理だといわれ続けてきていた。それを君はあっさりと小さなアップグレードの中で実現してくれた。私は一生あなたに感謝を捧げるであろう。」とコメントを書いてくれました。

世界のどこかしらで、自分にこんなにも好意を抱いてくれている人がいると知っていることは、それだけで私の人生を価値あるものに変えてくれます。
本当にありがとう。Jakob。

また、コメントの内容も建設的なものが多く、「こんなソフト使えない!」という人も、何がどう悪いのかをしっかり書いてくれます。
ある人は、「お前のソフトはデザインが今いちだ。おれが良いデザインを作ってやる。」といって、次々に(アイコンの)デザイン案を送ってくれた人もいました。
なんでそこまで赤の他人に一所懸命にしてくれるんだろう・・・

これまでほとんど日本語のサイトで公開してきたためか、こんなに心に届くコメントを次々にもらうことはありませんでした。
むしろ、「使えね」とか「あっちのソフトのほうがいい」などの、やる気を削ぐだけのコメントが目につき、モチベーションを保てないことが多かったような気がします。
日本の掲示板はすぐに荒れる。嘲笑や短い言葉での文句が多い。なんででしょうね。

たまたまchromeTouchが、日本人にはなぜか浸透しないタッチパネル向きのソフトウェアだったためか、つい最近まではほとんど日本語で取り上げられることはありませんでした。
Google Chromeの利用者が少ないことも理由の一つかもしれません。

最近はいくつか日本語のTwitterでの書き込みを見つけたこともありますが、ほとんどは英語もしくは中国語のサイトで紹介されることが多いです。

将来は、英語で仕事をしたい。

今はそれだけを考えています。
2月に2週間ニュージーランドをキャンピングカー旅行して、最高に気に入ったこともあり(詳しくはパートナーのブログを見てね)、いつかニュージーランドで仕事をしたいと思っています。

chromeTouchを作っていなければ、ここまで本気で英語を勉強しようと思っただろうか。。
親孝行な子供を持ったと思って、今後もメンテナンスしていこうと思っています。

chromeTouchは2009年11月頃、最初に公開したギャラリーサイトで、数日間だけですがダウンロード数1位になりました。
その当時Chrome拡張機能のギャラリーサイトはそこしかなかったので、その数日間、私がアイディア一つで公開したソフトウェアが、世界一のソフトウェアになったのです。
こんな幸運がもう一回でも訪れるといいなと思いながら、新しいソフトウェアのアイディアを思いついては作っていこうと思います。

ZOO 4Dパズルのシークレットが当たってしまった!

以前から買い続けていて続々増殖中のZOO 4Dパズルザウルス 4Dパズルですが、ものすごくいいものが当たりました!
^

リアルなハリネズミの立体パズル
リアルなハリネズミの立体パズル。友達からもらった絵本のハリネズミとそっくり。

^
組み立て難易度、パーツ配置、彩色ともに非の付け所がありません。
^

一部ばらしたところ。
一部ばらしたところ。

^
とにかく他の動物たちとは一線を画した出来です。

もともと大のハリネズミ好きで、パズルの出来の良さに興奮しまくっていたのですが、このブログを書くためにメーカーサイトを見てみたところ、実はハリネズミがシークレットアイテムだったようです。
うーーむ。納得!

^
追記[2010/1/7]
Hedgies, Hedgies, Hedgies!取り上げてもらいました!わーい。
もちろん自分でメールしてお願いしたんですけど。
それにしても、バラしてある方を採用するとは思わなんだ(w

Eclipse:WTPプロジェクトで外部プロジェクトのクラスを参照&デプロイ

ここより

A. 別ブロジェクトのクラスを参照する

  1. [プロパティ>Javaビルドパス]を開く
  2. [ライブラリ]タブを開く
  3. [クラスフォルダの追加]をクリックして、参照したいクラスのフォルダを指定する。

B. サーバーへのデプロイとリビルド

  1. [プロパティ>Java EE Module Dependencies]を開く
  2. サーバーへデプロイしたいクラスやjarを選択する

jarはどうも上手くいかないような気がしますが・・・
ともあれ助かったー