秋月電子のATmega168/328マイコンボードキットを組み立ててみる [Arduino]
Arduino 互換ボードになるATmega168/328マイコンボードキットを組み立ててみた.AE-ATmegaというやつだ.
組み立ては難しくなくて,説明書の順番通り半田付けしていけばOK.
ただ,USBシリアル変換モジュール(AE-UM232R)は使い回したいので直接半田付けはしなかった.本当はICソケットを使うのがいいんだろうけど,手元になかったのでやむなくピンソケットをつけてみた.
なので,USBシリアル変換のところだけやたら高さが高くなってしまった.
で,組み立てが終わったらArduino化するためにブートローダーを書き込む.
ネットで調べると,ブートローダーの書き込みはいくつかの方法があるようだが,手元にあるArduino UNOを使って書き込むことができるようなので,それを試してみた.ArduinoISPと呼ぶようである.
方法は,本家「Arduino - ArduinoISP」,もしくはその日本語訳サイト「Arduino を AVR プログラマ(ISP: In-System Programmer)として使う」に情報がある.
で,接続はこんな感じでOK.
あとは書き込み手順通りに進める.
ターゲットボードは,AE-Atmegaはないので,「Arduino Diecimila or Duemilanove w/ ATmega168」を選択する.
で,書き込むのだが,残念ながらこの方法では書き込めない.
こんなエラーが出る.
調べてみると,どうやら「Arduino Diecimila or Duemilanove w/ ATmega168」はATmega168なのだが,AE-ATmegaに載っているのはATmega168Pなので,チェックで引っかかるようだ.
というわけで,このままではブートローダーを書き込めないので,なんとかATmega168として認識されるようにごまかしてみた.
以下のやり方はMac環境化での話になるが,ほかの環境でも同様のことができると思う.
では,方法だが,とても簡単.
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/下にある,avrdude.confを編集する.
で,編集する部分を一部抜粋したのが以下.
このうち,
つまり,
これで書き込める.
書き込みが終わったら変更を元に戻しておくことを忘れずに.
ここまできたら,もう普通にArduinoとして使える.
サンプルスケッチを書き込んでみて,動作を確認してみたが,問題なく動作した.
お試しあれ.
組み立ては難しくなくて,説明書の順番通り半田付けしていけばOK.
ただ,USBシリアル変換モジュール(AE-UM232R)は使い回したいので直接半田付けはしなかった.本当はICソケットを使うのがいいんだろうけど,手元になかったのでやむなくピンソケットをつけてみた.
なので,USBシリアル変換のところだけやたら高さが高くなってしまった.
で,組み立てが終わったらArduino化するためにブートローダーを書き込む.
ネットで調べると,ブートローダーの書き込みはいくつかの方法があるようだが,手元にあるArduino UNOを使って書き込むことができるようなので,それを試してみた.ArduinoISPと呼ぶようである.
方法は,本家「Arduino - ArduinoISP」,もしくはその日本語訳サイト「Arduino を AVR プログラマ(ISP: In-System Programmer)として使う」に情報がある.
で,接続はこんな感じでOK.
あとは書き込み手順通りに進める.
ターゲットボードは,AE-Atmegaはないので,「Arduino Diecimila or Duemilanove w/ ATmega168」を選択する.
で,書き込むのだが,残念ながらこの方法では書き込めない.
こんなエラーが出る.
avrdude: Expected signature for ATMEGA168 is 1E 94 06 Double check chip, or use -F to override this check.
調べてみると,どうやら「Arduino Diecimila or Duemilanove w/ ATmega168」はATmega168なのだが,AE-ATmegaに載っているのはATmega168Pなので,チェックで引っかかるようだ.
というわけで,このままではブートローダーを書き込めないので,なんとかATmega168として認識されるようにごまかしてみた.
以下のやり方はMac環境化での話になるが,ほかの環境でも同様のことができると思う.
では,方法だが,とても簡単.
/Applications/Arduino.app/Contents/Resources/Java/hardware/tools/avr/etc/下にある,avrdude.confを編集する.
で,編集する部分を一部抜粋したのが以下.
#------------------------------------------------------------ # ATmega168 #------------------------------------------------------------ part id = "m168"; desc = "ATMEGA168"; has_debugwire = yes; flash_instr = 0xB6, 0x01, 0x11; eeprom_instr = 0xBD, 0xF2, 0xBD, 0xE1, 0xBB, 0xCF, 0xB4, 0x00, 0xBE, 0x01, 0xB6, 0x01, 0xBC, 0x00, 0xBB, 0xBF, 0x99, 0xF9, 0xBB, 0xAF; stk500_devcode = 0x86; # avr910_devcode = 0x; signature = 0x1e 0x94 0x06;
このうち,
を168P用に一時的に変更する.signature = 0x1e 0x94 0x06;
つまり,
にしてやる.signature = 0x1e 0x94 0x0b;
これで書き込める.
書き込みが終わったら変更を元に戻しておくことを忘れずに.
ここまできたら,もう普通にArduinoとして使える.
サンプルスケッチを書き込んでみて,動作を確認してみたが,問題なく動作した.
お試しあれ.
タグ:AE-ATmega