d.sunnyone.org
sunnyone.org

ページ

2012-08-19

ダ・ヴィンチ32UとフリスクケースとUbuntuと

ダ・ヴィンチ32U (Da Vinci 32U) という、ストロベリー・リナックスというところが出しているマイコンボードがある。このボード、「Arduino Leonardo」っぽく動く機械なのだが、1つ1260円という安価で購入できる。その上コンパクトなので、ちょっとしたUSBデバイスを作るのには最適な機械なのだ。
(念のために書いておくと、「Arduino」 とは、ハード的にはAtmel社のマイコン、AVRが乗ったマイコンボードである。しかし、このボードには、専用の簡単なIDE(ほぼエディタ)と、豊富なライブラリ集があり、USBの口から簡単にファームウェアを転送できるので、素でAVRを使うよりずっと簡単に機械を作れる。一つ一つを取ると決してすごくないのだが、全体を合わせたときのお手軽さは、 よくできている。)

で、このダ・ヴィンチ32Uがどのくらいコンパクトかというと、フリスクケースに収まるので、入れてみた。


この赤い基板がダ・ヴィンチ32U。つけたのは、赤外線LEDと抵抗、赤外線リモコン用センサーだけ。

閉じたときの絵:
 

食べるときみたいにちょっとだけ開けると、読み取りセンサーが使えるようになる。
見てわかる通り、フリスクケースに入れてもなお隙間ができるくらい小さいので、物は入れやすい。
フリスクケースは、比較的薄いので、ちょっと力を入れればカッターでも切れる。危ないから、ピンバイスで穴を開けてから広げたほうがいいとは思うけど。

問題は、本来はピンヘッダをつけて、何かに刺して固定する製品のようなので、固定がちょっと難しい。うまい方法が思いつかなかったので、ケースに千枚通しで穴を開けて、右端のGNDピンと、ISPピンに糸を通して、それぞれ縫ってしまった。玉止めなにそれうれしいのという感じになるので、おすすめしない。たぶん、ホットボンドなんかで止めるのがいいんじゃないかなと思う。

なお、ボードに書かれているピン名称は、Leonardoのものと異なるので、読み替えが必要。いくつかのサイトに載っているので、参考にできる。たとえばここ:http://dev.tetrastyle.net/2012/02/leonardo.html

Ubuntuで使うには

Ubuntu 12.04では、arduinoのIDEは1.0が入っている。そのため、Leonardは使えない。 boards.txtを書き換えれば使えるかなーと思ったんだけど、以下のようなエラーが出て書き込みができなかった。
Binary sketch size: 4450 bytes (of a 28672 byte maximum)
avrdude: stk500_recv(): programmer is not responding

なので、http://arduino.cc/en/Main/Software からLinux/32bit版を落としてきて、tar zxvfで/optに展開したら、Leonardを選択することで「Linuxでは」使えるようになった。
(Ubuntu本体に入っているarduino packageには依存関係があるので、apt-get install arduinoで1.0を普通にインストールしてからやったほうがいいと思う。)

ただし、この方法で書き込んでしまったダ・ヴィンチ32Uは、Leonardのbootloaderが書き込まれてしまうので、strawberry-linux公式の言うとおり、Windowsでは使えなくなってしまう(Leonardとして認識されるが、arduino.ccのドライバもstrawberry-linuxのドライバも受け付けない)。

そのため、Ubuntuであっても、最初からstrawberry-linuxのWindows版ドライバのReadmeに書いてある通り、boards.txtを上書きし、ダ・ヴィンチ32Uの定義で使うのがよい。
# cp da-vinci-32u/boards.txt /opt/arduino-1.0.1/hardware/arduino/boards.txt

うちのようにLeonardのbootloaderをうっかり上書きしてしまったらどうするか。Linuxではまだ書き込みができるので、ドライバに含まれている「da-vinci-32u-master.hex」を、上記のboards.txtに書いてある「davinci.hex」というファイル名で、しかるべき場所にコピーしてあげれば、書き込み(Upload)時に、ファームを更新してくれて、Windowsでも使えるようになる。
# cp da-vinci-32u/da-vinci-32u-master.hex /opt/arduino-1.0.1/hardware/arduino/bootloaders/caterina/davinci.hex
こうしてうっかり書いてしまったダ・ヴィンチ32Uを復活させる手段としてUbuntuを使うのもいいかもね。

Arduino Unoとの違い

気をつけなくてはいけないかもしれない点として、Arduino UnoとArduino Leonardが若干違うところがあるようだ。スイッチサイエンスのページにまとめられている:http://trac.switch-science.com/wiki/Guide/ArduinoLeonardo

そもそも簡単にUSBデバイスとして振舞えるようになったというのは大きく違うので、せっかくだからそのうち遊んでみたい。
http://trac.switch-science.com/wiki/tinker-with-Leonardo


0 件のコメント:

コメントを投稿