寝る前に、Arduinoについて覚え書き。

以前のWiringのエントリで

Arduino

Wiringの互換ボード。回路図が公開されてるので自分で作るのもアリかもしれない

と書いてしまったけど、間違いだった。ボードが互換なのではなく、プログラムの書き方がほぼ互換なだけだ。PC側のソフトもWiringとは別にある

ちなみに動作クロックも同じ16MHzなので、delay()で止まる時間も同じになる。

あとWiringとArduinoはターゲットが多分違う。

Wiringは平べったいTQFPパッケージのATmega128を使い、チップ抵抗やチップLED、チップトランジスタなど表面実装部品がたくさん積まれた高機能ボードであるのに対して、Arduinoはよく使う毛虫のようなDIPパッケージのATmega8と、普通の抵抗やトランジスタを使っている。

つまりArduinoは回路図の通りに、普通のユニバーサル基盤に部品をはんだづけして、手作業で回路を作っても十分作れるように部品が選ばれ、設計されている。

あと安い。USBではなくシリアルポートのボードなら多分1個700円ぐらいで作れる。

BC547、BC557という海外のシリアルポートの回路でよく使われているトランジスタが必要だけど、多分MAX232で大丈夫だろう。

そんなわけで実は昨日作れるか試してみたのだけど、16MHzのクリスタルが無くて20MHzでやろうとして失敗した。

やり方は、arduino.exeのあるディレクトリにtmpというディレクトリがあるので、その中のprog.hexをATmega8に書き込めばいいっぽい。

でも20MHz用にコードを直してコンパイルしてhexを書き込んだけど何故か駄目だった。

(追記)

いや、MAX232使うならFT232BM使ってUSBで使える様にした方がいいだろう。値段的にも。→USBの回路図もある