秋月電子でパーツセットを買ってきて組み立ててみました。
- 「作って遊べるArduino互換機」パーツセット
- UncomPatino基板
これは、もともと書籍の付録基板のパーツセットのようですが、書籍は買わなくても作れますし、Arduino互換機として使えます。
この互換機の良いところは、これ単体でBootloaderの書き込みができることだと思います。完全なクローンでは無いので厳密な互換性を求める方には不向きだと思いますが、Arduinoでちょっと遊びたい方には良いと思います。
組み立て自体は簡単です。
パーツの向きがあるのは、ATMEGA328P(のソケット)、FT232RL、LEDの3つだけ。部品の切り欠きを基板の切り欠きマークに合わせてはんだ付けすれば大丈夫です。
背の低い部品から背の高い部品の順にはんだ付けしていくと楽です。
FT232RLは普通のハンダと、ハンダ吸い取り線を使ってハンダづけしました。
初めに両面テープを使ってFT232RLを基板上に張り付けて位置決めをします。次に足をブリッジするようにはんだ付けした後に、はんだ吸い取り線を足の上に軽くおいてブリッジしたハンダを吸い取ります。足と足がショートしていないことを最後に確認しておしまい。
大変なのは、Bootloaderの書き込みです。以下のサイトなどを参考にさせていただきました。
基本的には、参考サイトにあるとおりで問題無いのですが、気を付けないといけない点が2点ありました。
1点目は、書き込むBootloaderのファイル。
optiboot_atmega328.hex を使う必要があります。書き込むファイルを間違えると、Arduino IDEでArduino Unoとして認識してくれず、作ったプログラムのマイコンボードの書き込み時に失敗します。
2点目は、Bootloaderの書き込み時の待ち時間。
書き込みには40分程度かかりました。avrdude-GUIが応答無しの状態となっても、基板のLEDがチカチカしている間は辛抱強く待つ必要があるようです。avrdude-GUIの問題だと思いますので、私はコマンドプロンプトから以下のとおり直接avrdude.exeを実行しました。
avrdude.exe -c diecimila -P COM3 -p m328p -P ft0 -u -e -U flash:w:optiboot_atmega328.hex
これだと、進捗が見えますので安心です。
補足)
単純ミスでした。Command line Optionに "B 115200" を追加したら一瞬で書き込むことができました。Arduinoをインストールしたフォルダの中にある
/hardware/arduino/boards.txtの中に、書き込み時に指定すべきパラメーターが書かれています。
- uno.upload.speed=115200
- uno.bootloader.low_fuses=0xff
- uno.bootloader.high_fuses=0xde
- uno.bootloader.extended_fuses=0x05
- uno.bootloader.file=optiboot_atmega328.hex
- uno.bootloader.lock_bits=0x0F