大人の科学 Vol.27

Arduino が欲しいなあと思っていた今日この頃、学研の大人の科学 Vol.27で Arduino互換のJapaninoが付録で付いているという情報を入手。

Arduino は Amazon等でも買えるが、楽天のポイントが962円あったし、本ならば送料無料なので、実質2,398円で楽天ブックスで購入。

Ubuntu 10.04 の環境で USBに挿してみると、ttyUSB0で認識。
とりあえず、Arduino公式ページダウンロードページから、arduino-0018.tar.gzを落とした。

noizumi@purplecat:~$ tar xvzf arduino-0018.tar.gz
noizumi@purplecat:~$ cd arduino-0018
で、中を見ると、arduino ってシェルスクリプトがあるので実行。javaなのでjdkが必要だが、OpenJDKが既に入っていたので、何もせず。

noizumi@purplecat:~/arduino-0018$ ./arduino
Experimental:  JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7

シリアルポートの切り替えは、「Tool」→「Serial Port」→「/dev/ttyUSB0」と選べばいいようだ。

と、ここまで来て、動作テストなどは、プログラムが無いと始まらないので、本を読んで光残像キットの組み立てを始めた(^^; 。

子供の頃、学研の科学の付録を本の解説も見ずにテキトーにいじるというのを未だにやってるから、進歩が無いな(笑)

んーと、電池ボックスと、LEDとブザー繋いで、単体動作テストっと、これはOK。
それから、光残像キットのP.O.Vを組み立て。

学研のJapaninoのページから、プログラムをダウンロードして、IDEに読み込ませる。
すると、エンコードがUTF-8じゃないので文句を言われる。

poviloveu.pde contains unrecognized characters.
If this code was created with an older version of Processing,
you may need to use Tools -> Fix Encoding & Reload to update
the sketch to use UTF-8 encoding. If not, you may need to
delete the bad characters to get rid of this warning.

noizumi@purplecat:~/arduino-0018/poviloveu$ sudo aptitude install nkf
っと。

noizumi@purplecat:~/arduino-0018/poviloveu$ nkf -w poviloveu.pde >poviloveu.tmp && mv poviloveu.tmp poviloveu.pde
とやってUTF-8に変換してIDEでVerify。

avr-gcc が無いって怒られた。端末で実行すると、gcc-avrというパッケージに入っているようだ。
noizumi@purplecat:~/arduino-0018/poviloveu$ sudo aptitude install gcc-avr

IDEでVerifyボタン押すと、
/home/noizumi/arduino-0018/hardware/arduino/cores/arduino/pins_arduino.c:25:20: error: avr/io.h: No such file or directory

エラーもりもり…(´・ω・)

ubuntu avr/io.h でぐぐると、avr-libc パッケージが必要らしい。
noizumi@purplecat:~$ sudo aptitude install avr-libc

IDEでVerify実行。
Binary sketch size: 1214 bytes (of a 30720 byte maximum)
今度は大丈夫のようだ。

そして、IDEのUploadボタンを押してみると
avrdude: stk500_recv(): programmer is not responding
応答しねえし…(´・ω・
)

japanino linuxでぐぐると、「Board に “Arduino Pro or Pro Mini (3.3V,8MHz)w/ATmega168” を選択」というのがあり、なるほど、ATmega168でないといかんのね。

【追記:2010/07/11 開始】
wikipediaを見ると、「表面実装のATmega168Vを搭載し内部RC発振8MHzで使用。ブートローダはLilypad168用をUSB-シリアルチップにはCP2104を 採用している。」との事なので、「Lylipad Arduino w/ Atmega168」を選ぶのが正解のようだ。

念のため、arduino-0018-japanino-2.zipを落として、hardware/arduino/boards.txt を見ると、japanino用設定が先頭にあるが、パラメータが「Lylipad Arduino w/ Atmega168」と同じなので、これを使えば良いようだ。
【追記:2010/07/11 終了】

ハンドル回したら無事動いた。
最初から入ってたプログラムでは、ブザーのスイッチだったのが、位置検出スイッチになってて、表示の開始のタイミングを取ってるのか。おもしろいな。