Arduino互換機のびんぼうでいいの(S)という製品を買ってきて使ってみました。
これは何といってもネーミングにインパクトがあったので買いました。メーカのaitendoのページによると、「お金をかけずに楽しめます。S=SMD(表面実装)」ということです。確かにArduino UNOと比較すると低価格ですが、ブートローダが書き込まれていない状態なのでそのままではArduinoとしては使えません。あと、別途ピンヘッダ類とDCジャックとUSBケーブルが必要です。(DCジャックは使わなければ不要ですが、aitendoで今現在30円です。)
そこで、Arduino互換機として使えるようになるまでの手順を書いてみます。ここではメーカのページにあるように完成品のArduino UNOを別途用意して書き込み器として利用しました。
組み立て
組み立てというかはんだ付けです。ページの説明にあるように以下の手順で組み立てます。
マイクロUSBコネクタの補強
ピンソケットの取り付け
(ここまでで最低限構成)
ピンヘッダとDCジャックの取り付け
(これでフル構成)
びんぼうでいいのシリーズには半完成品のバージョンで、びんぼうでいいの [U3R]というのがありますが、私が買ったのは、表面実装済みなので半完成品よりははんだ付けは楽です。
このページ最初の画像でフル構成の組み立て済みの状態です。(※組み立て前の画像はありません。申し訳ありません。)ピンソケット、ピンヘッダの色はわざと変えてみました。
ブートローダの書き込み
これもaitendoのページに書いてある通りの手順ですが、この書き方だと理解している人には分かるけど、ブートローダって何だという人もいると思います。そのあたりを私が書ける範囲で書いてみたいと思います。
まず、ブートローダとはですがコンピュータの起動直後に動作するプログラムです。パソコンの場合は外部からOSを読み込んで起動します。マイコン系の場合は実際の処理のプログラムを外部から読み込みます。
それでは、Arduinoの場合ですが、Arduino UNOではATmega328Pというマイコンが採用されており、そのフラッシュメモリ上にブートローダが存在します。初期状態はブートローダは存在しないのでここに書きこむ必要があります。
今回のびんぼうでいいのも、ATmega328P-AU実装済みですが、初期状態なのでこのATmega328P-AUのフラッュメモリにブートローダを書き込む必要があります。このブートローダを書き込むという作業にはプログラムライタ(書き込み器)が必要です。ここでは、Aitendoのページのように、完成品のArduino UNOを使います。
もちろん完成品のArduino UNOの場合は既に書き込まれているので何も意識しないでArduino IDEですぐにArduinoとして利用することが出来ます。Arduino IDEからのスケッチの書き込み処理はこのブートローダが動作しているため出来る処理です。もしより詳細が必要でしたら検索してみて下さい。
(※マイコンのアーキテクチャやレジスタ(メモリマップドレジスタ)の理解を前提に行うのが組み込み系(マイコン)プログラミングでArduinoではベースのマイコンは意識しないでArduinoIDEとライブラリで基本的な入出力の制御や通信系のプログラムが出来るということでいかがでしょうか。)
以上を踏まえて、ここから実際の手順です。
Arduino UNOをプログラムライタにする
以下のスケッチを完成品のArduino UNOへ書き込みます。
Arduino IDE => ファイル => スケッチの例 => 11.ArduinoISP => ArduinoISP
もちろん事前にツールからボードはArduino UNOを選択して、正しいシリアルポートを選択します。
Arduino UNOとびんぼうでいいのを接続する
ブートローダ書き込みの処理はSPI通信で行われるようです。そのため以下のように接続します。(※SPI通信についてはここでは書きませんが、UARTやI2Cと同じようなシリアル通信の一種です。)
UNO びんごうでいいの
Pin10 – Reset
Pin11 – Pin11
Pin12 – Pin12
Pin13 – Pin13
5V – 5V
GND – GND
※aitendoのページを確認して下さい。
これで無事に書き込みが完了すれば、Arduino互換機としてArduinoIDEから使えるようになります。とりあえずはサンプルスケッチのBlinkで確認出来ました。