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 を構築するために必要な部品を,大学あるいは研究室から提供します.それ以外の場合は,下のリストにあげられた部品を調達してください.調達先(ネット通販)としては,たとえば「秋月電子通商(あきづき)」「千石電商(せんごく)」「マルツパーツ館(まるつ)」「共立電子産業(きょーりつ)」などがあります.
- ブレッドボード:500〜800円.(配線用の穴が多数ある樹脂製の基板.縦 5+5 穴,横 40穴以上.写真にあるように上下に電源用ラインをもつものが望ましい.配線用電線が付属しているもあり.)
- プロセッサ:Atmel ATmega328P-PU:200〜300円.(28ピンのムカデ型)
- USB-シリアル変換モジュール:950円.(秋月電子の AE-UM232R を推奨.TXD, RXD, DTR, 5V 出力のものであれば,他のモジュールでも代用可能.)
- タクトスイッチ:10〜50円.(一過性の押しボタンスイッチ.小型のものが望ましい.)
- 水晶発振子 16MHz:50〜100円.(HC-49/S 形状など小型のものが望ましい.)
- その他の電子部品:合計で 50〜200円.内訳は,電解コンデンサ:10µF × 1(耐圧 10V 以上).セラミックコンデンサ:22pF × 2,0.1µF × 1.抵抗器:10kΩ × 1,1kΩ × 2(1/4〜1/8W 程度),LED(発光ダイオード)φ3〜5mm のもの × 2.
- 配線用電線:0〜100円.(単線で色分けされた被服をもつものが望ましい.ブレッドボードに付属している場合もあり.)
このほかに,インターネットに接続できる PC(Mac・Linux・Windows のいずれか)と USB 2.0 ケーブル(A / mini-B)が必要です.また工具として,ワイヤストリッパがあると便利ですが,カッタやハサミでも代用できます.また,ブートローダの書き込みには専用ツール AVRISP mkII が必要ですが,小嶋の授業や演習で使うのであれば,あらかじめブートローダを書き込んだ ATmega328P を提供しますので,AVRISP mkII は不要です.卒業研究・大学院研究などで AVRISP mkII が必要であれば,小嶋研究室のものを使うことができます.
右図(クリックして拡大)のように部品を配置し,配線していきます.図の上段がイラスト図で,下段は各部品を回路図記号に置き換えたものです.以下に,配置・配線上のポイントを説明します.
- ブレッドボードは,図中に淡い灰色で示したように,並んだ穴どうしが電気的につながっています.上下に2本ずつある電源ラインは横方向に左端から右端までつながっています.中央の広い部分では,縦に並んだ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カ所あります.図や写真のようにジャンパをセットしてください.これで USB ケーブルから 5V の電源が Miyagino に供給されます.
配線が終わったら,回路図・イラスト図・写真などと照らし合わせて,部品の向きや配線に間違いがないか,とくに電源まわり(赤・青の配線)が正しいかどうか,十分に確認してください.
また,以下の箇所(下図参照)は間違えやすいようです.これらについても念入りにチェックしてください.
- 10kΩ の抵抗器: 正しい抵抗器(茶黒橙)か.プラスの電源ライン(赤側)に接続されているか.
- 水晶発振子: 2本の脚は(X脚状に)コンデンサ(水色)に接続されているか.金属ケースがコンデンサ(水色)の脚と接触していないか.
- USB-シリアル変換モジュール: 左側のジャンパ(白色)を下側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 にインストールします.(Linux の場合,Kernel 2.6.31 以降(Ubuntu ならば 9.10 以降)であればドライバは組み込まれていますので,このインストール作業は不要です.)
- Windows 7 & Vista の場合:USB ケーブルで PC に Miyagino をつなぐと,自動的にドライバがインストールされるはずです.うまく行かない場合は,つぎに説明する Windows XP の場合を試してください.
- Windows XP の場合:ウィザードが開いて Windows Update への接続が促されたり,あるいは自動的に Windows Update にドライバを探しに行こうとします.Windows Update ではドライバが見つからないようなので,もし接続していれば Windows Update を中止します.「一覧または特定の場所からインストールする」を選択し,ダウンロードした Arduino フォルダの中の drivers/FTDI USB Drivers フォルダを指定してインストールします.(ウィザードが開かなかった場合は,コントロールパネルから(XP, 7, Vista で微妙に場所が違うようですが)「デバイス マネージャ」を開いて,それらしいデバイスを見つけて「ドライバの更新」を選んでください.) ドライバのインストールが終わると,再び同じようなダイアログが開きますので,同じ手順で2回目のインストールを行ないます.(1回目に USB Serial Converter のドライバが,2回目に USB Serial Port のドライバがインストールされるようです.)
- Mac OS X の場合:ダウンロードしたファイルから,Mac OS X のバージョン(10.3 と 10.4 以降)に合った dmg ファイルを開いて,あとは通常どおりにインストールしてください.
- Linux の場合:Kernel 2.6.31 以降(Ubuntu ならば 9.10 以降)であれば,ドライバは既に組み込まれていますので,インストールは不要です.
PC から Miyagino(正確には,その中の FT232R)が COM ポート(シリアル通信ポート)として見えるようになったので,その名前(通信ポート名)を確認します.Miyagino を USB ケーブルで PC に接続してください.右側の LED が点灯しているはずです.もちろん火も煙も出ていないはずです.
- Windows の場合:コントロールパネルから(XP, 7, Vista で微妙に場所が違うようですが)「デバイス マネージャ」を開いてください.デバイス一覧のなかに「ポート」というグループがありますので,その中に「USB Serial Port (COM3)」のような項目があるはずです.これが Miyagino との通信ポートです.そして COMn のような記号(実際には COM3, COM4 など)が通信ポート名となります.通信ポート名は PC ごとに異なる場合があり,また同一の PC でも使用状態によって 異なる通信ポート名が得られる場合があります.
- Mac OS X の場合:ターミナルを立ち上げて,コマンドラインで「ls /dev [enter]」と入力すると,デバイス名の一覧が出ます.このなかに /dev/tty.usbserial-SerialNo のような項目があるはずです.これが Miyagino との通信ポート名です.
- Linux の場合:ターミナルを立ち上げて,コマンドラインで「ls /dev [enter]」と入力すると,デバイス名の一覧が出ます.このなかに /dev/ttyUSBn のような項目があるはずです.これが Miyagino との通信ポート名です.
Arduino 開発環境をインストールします.ソースエディタ・コンパイラ・アップローダなどが統合されたアプリケーションです.Arduino 公式ダウンロードページから最新版の開発環境(Arduino 1.0)をダウンロードします.やや大きなファイル(数十MB)なので,安定したネット環境でダウンロードしてください.
- Windows の場合:ダウンロード後は適当な場所に解凍・保存してください.インストール作業はとくにありません.解凍・保存したフォルダの中に arduino という実行ファイルがあるはずです.
- Mac OS X の場合:ダウンロード後にディスクイメージが自動マウントされます.これを開くと,Arduino.app アイコンがあり,Applications フォルダに入れるように促されますので,そのとおりにドラッグ&ドロップしてください.これでインストール完了です.
- Linux の場合:ダウンロードの後は適当な場所に解凍・保存してください.多くの場合,インストール作業はとくにありません.解凍・保存したフォルダの中に arduino という実行可能ファイル(シェルスクリプト)があるはずです.うまく行かない場合は,ターミナルで sudo apt-get install arduino を試してください.
Arduino 開発環境がインストールできたら,起動してみてください.下図のような画面が現われますので,まず,ターゲットとなる Arduino の種類を Tools > Board の一覧から選択します.Miyagino の場合「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 が自動的に実行されます.電池を接続した場合も同様です.
Pd から Miyagino を制御する場合は,File > Examples > Firmata > Standard Firmata を開き,これをアップロードしてください.Pd(実際には Pd-extended)からは Pduino を利用することで,Miyagino のディジタル入出力端子やアナログ入力端子にアクセスすることができます.
この作業は,小嶋の授業・演習などで 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 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 の応用」のページに解説してありますので,参考にしてください.









