ArduinoDuemilanove328 (ATmega328)ではピン数やメモリーが足りなくなった場合、ArduinoMega(ATmega1280)という選択肢があります。
ArduinoMegaは以下のようにDuemilanove328に比べて大幅に拡張されています。
Duemilanove328 | Mega | |
---|---|---|
デジタル入出力ピン | 14本 | 53本 |
アナログ入力ピン | 6本 | 16本 |
flash memory | 32KB | 128KB |
RAM | 2KB | 8KB |
しかし、値段が、Duemilanove328が約¥3,200なのに対し、Megaは約¥7,000と値段もメガです。
また、MegaのATmega1280は今のところ入手が簡単でないのと、表面実装パッケージ(TQFP64)なので、自作のハードルは高いです。
SanguinoはATmega644Pを使用したArduino互換機(拡張機)で、以下のスペックとなります。Duemilanove328とMegaの中間といったところでしょうか。
Duemilanove328 | Sanguino | Mega | |
---|---|---|---|
デジタル入出力ピン | 14本 | 24本 | 53本 |
アナログ入力ピン | 6本 | 8本 | 16本 |
flash memory | 32KB | 64KB | 128KB |
RAM | 2KB | 4KB | 8KB |
また、ATmega644PはDIPパッケージなので、ブレッドボードで簡単に使えます。
日本ではSanguino互換のマイクロファン製REDUINO-GHOST644Uが入手しやすいと思います。ただし、完成品ではなくキットです。約¥3,780で販売されています。
Sanguinoについて、詳しくは↓を参照してください。
http://www.microfan.jp/sanguino
ということで、Sanguinoを作ってみました。
ATmega644Pは秋月で¥500で購入しました。
■以下は導入メモ。
回路は↓を参考に。
自作arduinoの時は内蔵オシレータを使用して8MHzで動作させましたが、Sanguinoは8MHzのブートローダが用意されていないので(自分でコンパイルすれば可能なようですが)、クリスタルを使用して16MHzで動くようにしました。セラロックの方が回路は簡単になりますが、ATmega644Pではセラロックは安定しないというような情報がありましたので、とりあえず今回はクリスタルを使用しました。
arduino-0018がインストール済みとします。
http://code.google.com/p/sanguino/downloads/list からSanguino-0018r2_1_4.zipをダウンロードし、
Sanguino-0018r2_1_4.txtに従い、解凍後のSanguinoをarduino-0018\hardware\の下にコピーします。(arduino-0018\hardware\Sanguinoになる)
ブートローダは以下を使用します。
D:\Sanguino-0018r2_1_4\Sanguino\bootloaders\atmega644p\ATmegaBOOT_644P.hex
ブートローダーの書き込みとFuseBitの書き込みは↓を参考に。
http://www1.parkcity.ne.jp/kama/Arduino.htm
http://pc.watch.impress.co.jp/docs/column/musashino_proto/20090806_307235.html
Arduino IDEから”Tools”-“Board”で”Sanguino”を選択
後はArduinoと同じように使えます。
※8/13 文章全体を見直しました。