Miyagino(みやぎーの)は,ブレットボード上に構築された Arduino 準拠の組込みコンピュータです.ブレッドボードの右半分に,マイクロプロセッサや USB-シリアル変換モジュールなどを配置してあります,空いている左半分は,ユーザが機能拡張に利用することができます.モータ,ライト,スイッチ,センサなどを接続することで,光・音・動きを使ったインタラクティブな情報ガジェットを試作することができます.
- 大きさ:幅 165mm,奥行 55mm,高さ 23mm.質量:約 90g.(USB ケーブルや電池は除く)
- プロセッサ:Atmel ATmega328P(16MHz 動作;Flash 32kB・RAM 2kB)
- PC とのインタフェース:USB-mini(秋月電子の USB-シリアル変換モジュール AE-UM232R を利用.Mac・Linux・Windows 対応の FTDI VCP Driver を利用.)
- 電源:USB 接続時は PC からUSB ケーブルを通して電源供給.スタンドアロン時は電池(単三 × 3 本など)もしくは外部電源(4.0〜5.5V)を別途用意.
- ディジタル入出力端子:2〜13 の 12本(アナログ入力端子をディジタル入出力端子として使用すれば最大 6 本増し.スタンドアロン動作時はさらに 2 本増し.)(うち 6本 = {3, 5, 6, 9, 10, 11} は PWM 出力可能.)
- アナログ入力端子:a0〜a5 の 6本.解像度 10bit/5V.(ディジタル入出力としても使用可能.)
Miyagino には2つの LED があり,右側 (PWR) は電源インジケータとして機能し,左側 (LED) はディジタル入出力 13番ピンに接続されています.スイッチ (RST) は Miyagino をリセット(再起動)するためのものです.
ATmega328P は,プログラムを格納する Flash ROM (32k Bytes),動作パラメタ等を格納する EEPROM (1k Bytes),そして一時的なデータ(変数の値)を格納する RAM (2k Bytes) を内蔵したマイクロプロセッサです.Miyagino ではムカデ型パッケージ (28ピン) のものを使用しています.
- ピン配置図
- 内部構造のダイアグラム(赤印は Miyagino で使用するピン機能)
Miyagino は非常にシンプルな組込みコンピュータです.部品代は,USB-シリアル変換モジュール込みで 2000円程度.USB-シリアル変換モジュールなし(スタンドアロン動作)であれば 1000円程度,さらに小さなブレッドボード(またはユニバーサル基板)を使えば 500円程度で製作できます.製作に必要な時間は,手先の器用さにもよりますが,およそ 2〜3時間程度でしょう.
小嶋の授業・演習,あるいは小嶋研究室での卒業研究・大学院研究などで Miyagino を使う場合は,最小構成の Miyagino を構築するために必要な部品を,大学あるいは研究室から提供します.それ以外の場合は,下のリストにあげられた部品を調達してください.調達先(ネット通販)としては,たとえば「秋月電子通商(あきづき)」「千石電商(せんごく)」「マルツパーツ館(まるつ)」「共立電子産業(きょーりつ)」などがあります.
- ブレッドボード:400〜800円.(配線用の穴が多数ある樹脂製の基板.縦 5+5 穴,横 33穴以上.写真にあるように上下に電源用ラインをもつものが望ましい.配線用電線が付属しているものもあり,お得.)
- プロセッサ:Atmel ATmega328P-PU:200〜300円.(28ピンのムカデ型)
- USB-シリアル変換モジュール:950円.(秋月電子の AE-UM232R を推奨.800円のキットもある.TXD, RXD, DTR, 5V 出力のものであれば,他のモジュールでも代用可能.)
- タクトスイッチ:10〜50円.(一過性の押しボタンスイッチ.小型のものが望ましい.)
- 水晶発振子 16MHz:50〜100円.(HC-49/S 形状など小型のものが望ましい.)
- その他の電子部品:合計で 50〜200円.内訳は,電解コンデンサ:10µF × 1(耐圧 10V 以上).セラミックコンデンサ:22pF(表示は "22")× 2,0.1µF(表示は "104")× 1.抵抗器:10kΩ(茶黒橙[金])× 1,1kΩ(茶黒赤[金])× 4(1/4〜1/8W 程度),LED(発光ダイオード)φ3〜5mm のもの × 2.
- 配線用電線:0〜100円.(直径 0.65mm 程度の単線で,色分けされた被服をもつものが望ましい.ブレッドボードに付属している場合もあり.)
このほかに,インターネットに接続できる PC(Mac・Linux・Windows のいずれか)と USB 2.0 ケーブル(A / mini-B)が必要です.また工具として,ワイヤストリッパがあると便利ですが,カッタやハサミでも代用できます.先細のペンチがあると,電子部品の足や電線を曲げるのに便利でしょう.また,ブートローダの書き込みには専用ツール AVRISP mkII が必要ですが,小嶋の授業や演習で使うのであれば,あらかじめブートローダを書き込んだ ATmega328P を提供しますので,AVRISP mkII は不要です.卒業研究・大学院研究などで AVRISP mkII が必要であれば,小嶋研究室のものを使うことができます.
右図(クリックして拡大)のように部品を配置し,配線していきます.図の上段がイラスト図で,下段は各部品を回路図記号に置き換えたものです.以下に,配置・配線上のポイントを説明します.
- ブレッドボードは,図中に淡い灰色で示したように,並んだ穴どうしが電気的につながっています.上下に2本ずつある電源ラインは横方向に左端から右端までつながっています.中央の広い部分では,縦に並んだ5穴が電気的につながっています.上側の5穴と下側の5穴の間は接続されていません.
- とりあえず,図のような向きにブレッドボードを置いてください.最初は,プロセッサ(ATmega328P)・USB-シリアル変換モジュール(AE-UM232R)・タクトスイッチを,右図のように配置します(参考図).プロセッサには半月状の凹みがありますので,それが左側に来るように配置してください.手前側の左端に1番ピンが来ます.ここから反時計回りにピン番号(1〜28)が付けられています.USB-シリアル変換モジュールのピン番号も,手前側の左端から反時計回りです.
- つぎに主要な電源ライン(赤・青の線)を引き(参考図),それらをランドマーク(位置手がかり)として,LED・抵抗器・コンデンサを配置し(参考図),残りの配線パターンをつくって(参考図)から,最後に水晶発振子を装着する(参考図)とよいでしょう.
- タクトスイッチは,押したときにどの端子が短絡(導通)するのかをテスター等でチェックして,正しく使ってください.
- LED は足の長いほうがアノード(プラス側:回路図記号で三角の底辺側)で,短いほうがカソード(マイナス側:回路図記号で線分のみの側)です.ブレッドボードに挿すとき,足を 6〜7mm 程度に切りますが,アノード・カソードの区別が分かるように,足の長さを若干変えておくとよいでしょう.
- 水晶発振子は,少し長めに切った足をX脚状に曲げて(参考図),配線用電線(緑と橙の電線)の上に載るように配置するとよいでしょう(参考図).こうすることで,水晶発振子の金属ケースが,すぐ手前にあるコンデンサ(22pF × 2)の足に触れないようにできます.水晶発振子の端子に極性はありません.
- 電解コンデンサ 10µF の端子には極性があります.側面に帯のある側がマイナス極で,こちらを ATmega328P の G (GND) に接続します.これ以外のコンデンサには極性がありません.
- 22pF のコンデンサには "22" と表示され,0.1µF のコンデンサには "104" と表示されているはずです."104" は 10×104 = 100000pF(ピコ・ファラッド)= 100nF(ナノ・ファラッド)= 0.1µF(マイクロ・ファラッド)の意味です.仮に 473 であれば,47000pF = 0.047µF となります.なお,回路図などでは µF を uF と表記することがあります.単位(F や Ω など)が自明の場合は省略することが多いようです.
- 1kΩ(キロ・オーム)の抵抗器は「茶・黒・赤」,10kΩ は「茶・黒・橙」です.最初の2本の色帯について,「黒・茶・赤・橙・黄・緑・青・紫・灰・白」を 0〜9 の数字に対応させて2桁の数値 a = 0〜99 をつくり,3本目の色帯から数字を n を得ます.このとき抵抗値は a×10n Ω となります.なお4本目の色帯は許容誤差を表わし,金色なら ±5%,銀色なら ±10% を意味します.
- USB-シリアル変換モジュール AE-UM232R にはジャンパスイッチが2カ所あります.図や写真のようにジャンパをセットしてください.これで PC から USB ケーブルをとおして 5V の電源が Miyagino に供給されます.
ブレッドボード上に構築した Miyagino は,下図のように,いくつかの部分から構成されています.プロセッサへの電源は下側の電源供給ラインから供給されます.上側にある電源供給ラインは,プロセッサのアナログ入力部に電源を供給するためのものです.
プロセッサの下側にはクロック生成部があり,16MHz のクロック信号をプロセッサに供給します.上側には,左右の LED(左はディジタル出力 13番,右は電源インジケータ)があります.また,プロセッサの右側にはホスト PC との通信(プログラムのアップロードなど)のための USB シリアル変換部があり,抵抗と橙色・緑色の電線でプロセッサと通信します.また,左側にはリセット信号生成部があり,タクトスイッチを押したときや,PC からのアップロードが始まるときに,プロセッサにリセット信号を与えるようになっています.
配線が終わったら,回路図・イラスト図・写真などと照らし合わせて,部品の向きや配線に間違いがないか,とくに電源まわり(赤・青の配線)が正しいかどうか,十分に確認してください.
また,以下の箇所(下図参照)は間違えやすいようです.これらについても念入りにチェックしてください.
- 10kΩ の抵抗器: 正しい抵抗器(茶黒橙)か.プラスの電源ライン(赤側)に接続されているか.
- 水晶発振子: 2本の脚は(X脚状に)コンデンサ(水色)に接続されているか.金属ケースがコンデンサ(水色)の脚と接触していないか.
- USB-シリアル変換モジュール: 左側のジャンパ(白or赤)を下側2極をショートするようにセットしているか.
なお,イラスト図でプロセッサの上下に並んでいる青丸は「ディジタル入出力端子」を,赤丸は「アナログ入力端子」を表示するものです.写真のブレッドボードには青丸・赤丸はついていませんが,配線の参考になるので,必要に応じてマジックなどで印をつけるとよいでしょう.
それでは USB ケーブルで PC と接続し, Miyagino の電源インジケータ(右側の LED:PWR)が点灯することを確認してください.何か異状があれば,すぐに USB ケーブルを外してください.なお,PC が壊れても小嶋は責任を負えません.
- 煙が出た・火が出た:すぐに USB ケーブルを外してください.必要ならば消火作業に当たってください.燃えカスは小嶋研究室まで持ってきてください.PC が壊れた場合は修理に出してください.
- PC 上に警告メッセージが出た:たとえば「USB 機器の消費電力が過剰です」のような警告メッセージが出た場合は,すぐに USB ケーブルを外してください.Miyagino の配線(とくに電源まわり)をチェックしてください.間違いが発見できない場合は,小嶋研究室まで持ってきてください.PC が壊れた場合は修理に出してください.
- 電源インジケータが点灯しない:まず電源まわりの配線(赤・青)をチェックしてください.LED の極性をチェックしてください.USB-シリアル変換モジュールのジャンパスイッチをチェックしてください.それでも解決しない場合は,小嶋研究室まで持ってきてください.
正常に動作すれば,PC にドライバのインストールを要求するダイアログが表示されるでしょう.これで第1段階は終了です.とりあえず USB ケーブルを外して,つぎの段階「Miyagino 開発環境をつくる」に進んでください.
PC 側に Miyagino の開発環境をつくります.Miyagino は Arduino クローンなので,Arduino の開発環境をそのまま使います.まず,USB-シリアル変換モジュールのドライバをインストールします.つぎに,Arduino 開発環境をインストールします.最後に,Miyagino にブートローダを書き込みます.(宮城大学の「デザイン情報演習A」や「ロボティクス」では2番目のステップまで行ないます.自分でゼロから Miyagino を作る人は,最後のステップまで必要です.)
Miyagino のプログラムは PC 上で編集・コンパイルされ,USB をとおして Miyagino に書き込まれて,実行されます.PC からは直接 Miyagino は見えません.見えるのは,USB-シリアル変換モジュールに内蔵された FT232R という IC です.この IC を「仮想 COM ポート (Virtual COM Port)」にするためのドライバを PC にインストールします.
- Windows 7 & 8 & Vista の場合:USB ケーブルで PC に Miyagino をつなぐと,自動的に(Windows Update 経由で)ドライバがインストールされるはずです.うまく行かない場合は FTDI の Virtual COM Port Drivers のページから "Windows / 64bit" をダウンロードして,インストールしてください.Window XP をまだ使っている人は,個別にご相談ください.
- Mac OS X の場合:FTDI の Virtual COM Port Drivers のページから,"Mac OS X / x64 (64bit)" の dmg ファイルをダウンロードし,それをダブルクリックしてインストールしてください.(インストール後に再起動が必要かもしれません.)
Arduino 開発環境をインストールします.ソースエディタ・コンパイラ・アップローダなどが統合されたアプリケーションです.Arduino 公式ダウンロードページから最新版の開発環境(Arduino 1.0.5)をダウンロードします.やや大きなファイル(数十MB)なので,安定したネット環境でダウンロードしてください.
- Windows の場合:Windows Installer 版をダウンロードし,インストールしてください.標準設定のままでよいでしょう.デスクトップに Arduino というショートカットが出来るはずです.これをダブルクリックすれば Arduino 開発環境が起動します.(途中で "Arduino USB Driver" をインストールするかどうか尋ねられることがありますが,これはインスール不要です.)
- Mac OS X の場合:ダウンロードした zip ファイルをダブルクリックして展開すると Arduino.app というアプリケーションが出来上がります.適当な場所(Applications フォルダなど)に移動してもよいでしょう.Arduino.app をダブルクリックすれば Arduino 開発環境が起動します.
Arduino 開発環境がインストールできたら,起動してみてください.下図のような画面が現われますので,まず,ターゲットとなる Arduino の種類を Tools > Board の一覧から選択します.Miyagino の場合「Arduino Duemilanove w/ ATmega328」または「Arduino Nano w/ ATmega328」とすればよいでしょう(下図左).つぎに,USB ケーブルで Miyagino を接続し,Miyagino との通信ポートを設定します.Tools > Serial Port から,上記「通信ポート名の確認」で確認したポートを選択してください(下図右).(動作環境によってポート名が変化することがあります.)
(ブートローダが書き込んである場合)これら設定が完了したら,試しに LED を点滅させる例題プログラム Blink をコンパイル・アップロード・実行してみましょう.まず,File > Examples > 1.Basics > Blink を開くと(下図左).ソースプログラムがエディタ上に表示されます.これをコンパイルしアップロードするには「Upload」アイコンをクリックするだけです.Miyagino は自動的にリセットされ,コンパイルされた実行プログラムが内蔵 Flash に書き込まれ,それが実行されます.
例題プログラム Blink の場合,Miyagino 左側の LED が1秒ごとに点灯・消灯を繰り返すはずです.うまく行きましたか? プログラムは Miyagino の Flash メモリに書き込まれていますから,USB ケーブルを外してから,もう一度接続すれば,Blink が自動的に実行されます.電池を接続した場合も同様です.
この作業は,小嶋の授業・演習などで Miyagino を扱う場合は不要です.提供する ATmega328P には,あらかじめ小嶋研究室でブートローダを書き込んであります.
ブートローダとは,Arduino 開発環境からアップロードされたプログラムを受け取り,フラッシュメモリに焼き込み,それを実行するための基本プログラムです.買ってきたばかりの ATmega328P にはブートローダは入っていません.Miyagino として利用するには,専用ツール AVRISP mkII によって AVRブートローダを書き込む必要があります.
まず,AVRISP mkII の6極プラグを,つぎのように Miyagino 上の ATmega328P に接続します.この接続には,適当な配線用電線を使ってください.
- 1番(凸側・赤側)− 18番ピン(ディジタル入出力端子 12)
- 2番(平側・赤側)− VCC(電源 5V.Miyagino の赤ライン上のどこか)
- 3番(凸側・中央)− 19番ピン(ディジタル入出力端子 13)
- 4番(平側・中央)− 17番ピン(ディジタル入出力端子 11)
- 5番(凸側・白側)− 1番ピン(RST)
- 6番(平側・白側)− GND(電源 0V.Miyagino の青ライン上のどこか)
つぎに,AVRISP mkII を PC に USB 接続し,また Miyagino 本体も同じ PC に USB 接続します.Arduino 開発環境を起動し,Tools > Board として「Arduino Duemilanove w/ ATmega328」または「Arduino Nano w/ ATmega328」を,また Tools > Serial Port として Miyagino に接続された通信ポートを,そして Tools > Programmer として「AVRISP mkII」を設定した上で,Tools > Burn Bootloader を選択して,ブートローダの書き込みを開始します.
通常は数十秒で「Done burning bootloader」とステータスバーに表示され,書き込みが終了します.USB ケーブルを外し,6本の配線用電線を取り除けば,ブートローダ入り Miyagino の完成です.例題プログラム Blink をコンパイル・アップロード・実行してみてください.
これで Miyagino は完成です.Pd から Miyagino を使うには「Miyagino + Pd」のページに進んでください.C で Miyagino をプログラミングして単体動作させるには「Miyagino + C」のページに進んでください.いずれかをマスターしたら,外付けのライト(LED)やモータ,そして各種センサなどを Miyagino に接続する方法が「Miyagino の応用」のページに解説してありますので,参考にしてください.