Posts Tagged ‘Arduino’

eJackino を使って音に反応する回路を作る

6月 21, 2009

まずは Arduino から Mac OS X 用の IDE を取ってくる。このときのバージョンは arduino-0016-mac.zip だった。
ただし、最近リリースされた Leopard の Java の更新すると起動しなくなる。ここに書かれている通り 32bit モードを指定して動かす必要がある。

Arduino のページではいくつかのサンプルが公開されている。LED と抵抗があれば簡単に試せるものがあったりしてなかなか楽しい。
これらのサンプルに修正を加えて実験していたところ、どうもプログラムのアップロードがうまく行かないことがあった。エラーの表示を見ると Troubleshooting のページを見るようにとあるので確認してみる。どうやら digital pin の 0 番と 1 番にはアップロード中に何も繋いではいけないようだ。

サンプルを動かしてみて、大体感触を掴んだところで音に反応するものを作ってみることにした。電子工作はほとんどやったことがないが、高校生くらいまでに習う電気回路の基礎知識を思い出すことでとりあえずなんとかなった。以下の写真は eJackino とブレッドボードを使ってとりあえず作ってみた回路。

コンデンサマイクの出力を OP アンプで 100 倍程度に増幅して analog in に入力する。Analog in に入力された音の大きさを eJackino で読み取り、あるしきい値以上であったら LED を点灯させる。パンと大きな音を出すとそれに反応して LED が点灯するのが楽しい。(想定以外の動作をすることもあるけど)
OP アンプの組み方についてはデータシートに例が載っていることが多かったのであまり考えずそれを使ってしまえば良さそう。今回はコンデンサマイクの出力を単純に増幅したかっただけなので、OP アンプの基本的な使い方である非反転増幅器を使った。周辺の抵抗やコンデンサの容量は電子工作について書かれているページを検索してそれらを眺めて適当に決めてしまったが、とりあえずそれっぽく動く回路が出来てしまった。お手軽に楽しむことが目的なのでこれでいいかな。

Arduino というプラットフォームがあれば電子工作した回路をプログラム制御する段階に比較的簡単に持ってくることができる点に関心がいった。また、このようなプラットフォームが提供されることでソフト寄りの人もハードの世界に入って来るきっかけになるのではないかと感じた。

eJackino のブートローダを MacBook から書き込む

6月 8, 2009

昨日は eJakino (Arduino 互換ボード) のパーツ収集から組み立てまで行った。今日はブートローダの書き込みを行ってみる。

本に書かれている通り、まずは USB シリアル変換モジュールと ATmega168 を装着する。この 2 つで約 1500 円くらい。パーツ費用の大部分を占めている。
さていよいよ USB モジュールを MacBook に接続する。問題なく PWR LED が点灯。ケーブルには SheevaPlug に付属してきた USB ケーブルが使えた。
次に FTDI ドライバ (D2XX) のインストールだが、これはすでに OpenOCD を試したときに実施したので必要なし。MacBook からブートローダを書き換える方法は eJackino のページからたどれるここが参考になる。
USB シリアルドライバのモジュールをアンロードすれば D2XX のライブラリ経由で D2XX のサンプルが動作することを確認しておく。(このとき eJackino を MacBook に接続した状態で実施する)

avrdude の -p オプションで指定するパラメータ (AVR device の指定) は本に書かれている m168 に合わせる:

$ ./avrdude -C ./avrdude.conf -c diecimila -p m168 -B 4800

arduino-0015-win.zip にブートローダ (ATmegaBOOT_168_diecimila.hex) が含まれているので eJackino のページから落としてくる。ATmegaBOOT_168_diecimila.hex を avrdude のカレントディレクトリにコピーしておく。

ブートローダを書き込む:
$ ./avrdude -C avrdude.conf -c diecimila -p m168 -B 4800 -e
$ ./avrdude -C avrdude.conf -c diecimila -p m168 -B 4800 -U efuse:w:0x00:m -U hfuse:w:0xDD:m -U lfuse:w:0xFF:m
$ ./avrdude -C avrdude.conf -c diecimila -p m168 -D -U flash:w:ATmegaBOOT_168_diecimila.hex:a
$ ./avrdude -C avrdude.conf -c diecimila -p m168 -U lock:w:0x0F:m

ヒューズビットの確認:
$ ./avrdude -C avrdude.conf -c diecimila -p m168 -B 4800 -t
>>> r efuse
0000 00 |. |

avrdude> r hfuse
>>> r hfuse
0000 dd |. |

avrdude> r lfuse
>>> r lfuse
0000 ff |. |

avrdude> r lock
>>> r lock
0000 0f |. |

上記のように表示されていれば成功。
USB ケーブルを外し、ブートローダ書き込みケーブルも外す。その後、再度 USB ケーブルを MacBook に接続すると L に装着した LED が点滅を始める。
どうやら無事に完成したようだ。次は eJackino を動かすことを試してみよう。

Arduino

6月 7, 2009

最近 Arduino が気になる。O’Reilly の出版物でなんとなく存在は認識していたが実際どのようなものであるか特に調べていなかった。

「どうやら簡単に電子工作を楽しめるらしい。PC でプログラムを組んで制御できるらしい。」ということが分かってきてとりあえず使ってみたくなった。Arduino を手に入れるのには、通販を使うのがお手軽で費用もかからない方法だけど、互換ボードを作るという方法もある。今日は休日だし晴れていたこともあって、まあ作ってみるのもいいかなと思い早速パーツの調達へ。

互換ボードを制作するのに CQ 出版の本を参考にした。Arduino 互換ボードのプリント基板がこの本に添付されているから、あとはパーツを買ってきて組み立てるだけ。この本は電子工作の初心者向けに詳しくかかれているので素人の私でもパーツの調達から組み立てまで問題なく進めることができた。

上の写真はとりあえず組み立てが終わった状態。次はブートローダの書き込みだ。