先般のAVRマイコン電子工作製作会に先立って製作。
秋月 ATmega168/328マイコンボードキット(K-04590)
このボード、実は、Arduinoのオープンソースハードウェアに準拠したエレキジャックの企画で出たeJackinoのさらに互換ボードのようです。基板自体(P-04399)は単体でI/Oボードと称して販売しているのですが、シルク印刷された部品を実装するキットがあり、こちらを組み立てるとほぼ、eJackinoとおなじ回路構成で組み上がります。eJackino自体がArduino Diecimila互換のハードウェアとなっているためArduinoハードウェアが出来上がります。
秋月ボード、何も解説もありませんが、ハードウェアのコネクタの位置はArduinoの配置に合わせてあり、Arduino互換ハードウェアと公称しても問題ないのではないかと思うのですが一切の記述がありません。
秋月ボードやArduino DiecimilaはFTDIのUSBシリアル変換のデバイスであるFT232Rを使って簡便にUSB接続を実現しています。問題となるのは秋月ボードに付属のATmega168Aはまっさら(大阪弁では新品を指す)の状態で何もソフトウェアが搭載されていないので、USBシリアル変換経由でのブートローダを用いてソフトウェアをダウンロードする方法が行えない上に、シリアル経由でそのままではブートローダさえ書き込めない状態であることです。
書き込み環境が無い状態でこのボード単体でブートローダを書き込みするためにBitBang法で行いました(詳細の解説はこちらを参照)。ただし、この手法はWindowsのソフトウェアを用いる必要があり、MacOS Xでは使えない点が難点で、VirtualBoxのWinodows環境も考えましたが、手っ取り早くするために別途Windowsマシンを使って書き込みを行いました。
Arduinoブートローダの書き込みに成功すれば、Arduino IDE環境をそのまま活用できます。
開発環境ですが、先般のAVR開発環境を構築したVirtualBox上のWindowsの上で全て済ませてしまっても良いのですが、せっかくArduino IDEのMac OS X版がリリースされているので使わない手はありません。
Arduino Diecimilaの場合はFT232Rがインターフェースに使われています。そのため、ハードウェアに接続してブートローダを使ってプログラムをダウンロードさせるにはFT232RのデバイスドライバをMac OS Xにインストール必要があります。幸いにしてFTDI社はMac OS X用のデバイスドライバを用意しており、インストールパッケージ形式でインストールすることで利用できるようになりますので、デバイスドライバをMac OS X側にインストールしました。
マイコンボードの選択
シリアルポートの選択
ドライバをインストールして基板にUSBケーブルで接続します。
Arduino IDEからマイコンボードにArduino Diecimila or Duemilanove w/ATmega168を選択し、シリアルポートに/dev/cu.usbserial-A400FPSEを選択(ドライバのバージョンにより名称が異なることもありますが、ttyで無いデバイスを選択します)し、適当なスケッチを選択して「マイコンボードに書き込む」操作を行うと、ターゲットのハードウェアにスケッチをコンパイルしたバイナリをダウンロードし、ダウンロード完了と共にターゲットのソフトウェアが起動します。
まず、一番ベーシックといえるLED点滅のスケッチであるBlinkを開いて書き込みを行い、基板に実装されている「L」の表示のあるLEDが一秒間隔で点滅を行えば確認完了です。
Arduinoが汎用のワンチップマイコンボードと異なるのは、基板に実装されている外部接続のためのI/Oやピンの機能をアナログ入力やPWM出力等についてデフォルト状態では限定させているという点です。I/Oが汎用なだけに何でも使えるということで逆に用途を迷ってしまうことを避けることができます。
Arduinoはインタラクションデザインの教材として生まれました。先輩にもう少し複雑なWiringというプラットフォームがあり、それをベースに開発されています。
インタラクションデザインを実現するためのプロトタイプを簡便に作れる手法の一つとしてフィジカルコンピューティングがあります。小難しい事を並べる技術者(苦笑)ではなく、デザイナー(いわゆる設計の方の意味ではありません)やアーティストがエレクトロニクスを駆使して作品を創り出す手段を目的としている事から、一般的なマイコンボードに比べるとたいへん少ない労力で使い始める事ができるように工夫されていると言えます。
ともあれ、ハードウェアの開発環境として電気・電子工作の膨大な予備知識を無くしても利用できるベースを創造したことは大変有意義だと思います。
あとは検討と実施あるのみ。火を噴けばそれも経験です。何がスムーズへ成功に結びつくかという抽象的な大義名分に対して自分の手を動かして身を以てその被害を被るという貴重な人生経験のツールを提供してくれた先人に対して感謝の気持ちがいっぱいです。
先人たちの知恵の結晶であるシールド類やライブラリ類も多数あり、様々な用途に使えそうです。
先般のフルスクラッチとなるAVR Studio+AVR GCCもありますし、当分AVR周りでいろいろ検討できる状態になりました。
Mac OS XでのArduino開発環境、なかなか楽しめそうです。
コメントする