自作の Arduino を使う †
なぜ自作の Arduino を使うのか †
- 安い
今時、ネットブックと呼ばれるノートパソコンが3万円程度でも買えます。ノートパソコンではモニターできる環境、電源のバックアップ、ネットワークインターフェースにキーボード、等など、様々な装備が充実しています。そんな中、マイコンボードが数万円してどうするのだろうか?と思います。数万円のマイコンボードで何かするくらいなら、パソコン自身を利用した方がよいのでは?。
逆に、よりずっと安価なマイコンであれば使う意味があります。大量に展開できる可能性があるからです。そして、可能な限り徹底的に安くすべきだと思います。秋月電子では、AVR マイコンで Arduino に利用できる ATmega 168P を 14 個以上購入すると、1個あたり 270円になります。
- USB ポートは必要ない
標準的な市販品の Arduino では、USB ポート部分(シリアル変換機能)を持っていることで値段が高くなっている部分があります。
ところが、実際にスタンドアローンで稼働させる場合、USB ポートをつけながら動かす必要はありません。パソコンからプログラムを送る時だけ接続していればいいのです。
だから、USB 通信部分と本体部分は別々に作るべきです。
Arduino を自作する −Duemilanoveタイプ− †
ネットを見ると、Arduino を自作するにも様々な種類があります。ここでは、Duemilanoveと似たものと、USB直結タイプを作ります。
- 部品
1つずつ必要なもの
複数個のためにまとめて買うもの
以下、シリアル変換部使うもの
ブートローダを仕込むために必要なもの
- 作る
- ATmega168P にラベルを貼る。
ラベルは、このサイトにあるPDFファイルをダウンロードし、使わせてもらう。
貼らなくてもいいけど、貼った方が間違いが少ないと思う。
なお、ICチップのルールとして、切り欠き(半月状に凹んだところ)を左側にしたときに、
左下のピンを1番とし、反時計回りに番号をふっていくルールがある。この番号はここでも使うので確認しておきたい。
また、1番ピンの近くには、丸いくぼみもある。これもルールとして覚えておきたい。
プリントされたくぼみの部分を合わせて合わせてラベルを貼るようにする。(つまり、1番のピンに rst 28番のピンに ai5 が対応する。)
- 本体部分の構成
写真のように配線する。左下の白いボタンは「タクトスイッチ」、左上は10kΩの抵抗。青い部品は0.1μFのコンデンサ。銀色のものは水晶発振器。
銀色の水晶発振器は、9番ピン(xt1)と10番ピン(xt2)の間につなぐ。
ここで、公開されている設計図との違いについて説明する。将来、動作が不安定になったらここを疑う。
○ 水晶発振器とグランド(GND)との間のコンデンサ(それぞれ22pFの)を省いた
○ 両側のGNDは内部で接続されているようなので両者の間の接続を省いた
- USBシリアル変換部
パソコンからのUSBケーブルを接続する部分を写真のように組み立てる。
基盤に書いてある文字はピンの間に書いてあって紛らわしい。下に当たるピンが該当する。
抵抗はどちらも1kΩ、コンデンサは0.1μF。
変換モジュール側 | 間に挟むもの | Arduino 本体側 |
Vcc | | Vcc(7番)あるいは AVcc(20番) |
DTR | コンデンサ 0.1μF | rst(1番) |
TxD | 抵抗1kΩ | rxd(2番) |
RxD | 抵抗1kΩ | txd(3番) |
GND | | gnd(8番) |
- ドライバ・開発環境
Arduino のプログラミング環境を整えるを参照してドライバとArduinoIDE(統合開発環境)を入れる。
- ブートローダ
- 準備1 : AVRISP mkII の接続
これを Windows パソコンに接続して、ハードウエアを検出させてから付属の CD を入れる。
ドライバが CD に入っているので、ここを指定してドライバを導入する。
- 準備2 : AVR Studio を CD から導入する。
- 準備3 : AVR Studio を起動する。
起動直後に立ち上がる Window は Cancel で消去する。
小さなチップに"Con-"と書かれたアイコンをクリック。Platform-> AVRISP mkII と Port-> USB を設定して Connect。
初回はいろいろと言われるが、適当に処理する。
- あとは、次の URL に従って書き込む。
http://pc.watch.impress.co.jp/docs/column/musashino_proto/20090806_307235.html
ただし、上の記述は内臓のクロックを使うものである。
ここでは、Duemilanove などと同じように外部の水晶発振を使って 16MHz で動かす。
そこで、Fuse や Bootloader のファイルは次の URL に従って設定する。
http://www.geocities.jp/arduino_diecimila/bootloader/index.html#mega8_328
なお、未使用ビットの表し方が arduino と AVR Studio とで異なるという重大な事実がある。
http://roshiago.blog.so-net.ne.jp/2009-08-23
とりあえずうまく動いた。この辺は改めて整理する。2009-08-25 (火) 16:16:44
- 準備x : ここの追記3の情報を基に、hardware/tools/avr/etc/avrdude.conf を編集し、末尾に 168P 情報を書き加える。
必要あったのか?
- プログラムを送り込む
- とりあえず、下記の URL を元に作ってみる。一応、配線は完了。
しかし、ブートローダを仕込んでいないので動かない。2009-07-31 (金) 16:35:45
- 参考 URL :
Duemilanoveの回路図
秋月 FT232RL(AE-UM232R)のマニュアル
「はじめてのArduino」の写真
「ブレッドボードでArduino」の写真