#topicpath ** 自作の Arduino を使う [#ddca75af] *** なぜ自作の Arduino を使うのか [#dd0947b5] ++ 安い~ 今時、ネットブックと呼ばれるノートパソコンが3万円程度でも買える。ノートパソコンではモニターできる環境、電源のバックアップ、ネットワークインターフェースにキーボード、等など、様々な装備が充実している。そんな中、マイコンボードが数万円してどうするのだろうか?数万円のマイコンボードで何かするくらいなら、パソコン自身を利用した方がよい。~ 逆に、よりずっと安価なマイコンであれば使う意味がある。大量に展開できる可能性があるからだ。そして、可能な限り徹底的に安くすべきだ。秋月電子では、AVR マイコンで Arduino に利用できる ATmega 168P を 14 個以上購入すると、1個あたり 270円になる。 ~ ~ ++ USB ポートは必要ない~ 標準的な市販品の Arduino では、USB ポート部分を持っていることで値段が高くなっている部分がある。~ ところが、実際にスタンドアローンで稼働させる場合、USB ポートをつけながら動かす必要はない。パソコンからプログラムを送る時だけあればいい。~ だから、USB 通信部分と本体部分は別々に作るべきだ。 ~ ~ *** 自作の Arduino を使う [#g8dc9d66] ++ 作る +++ とりあえず、下記の URL を元に作ってみる。一応、配線は完了。~ しかし、ブートローダを仕込んでいないので動かない。2009-07-31 (金) 16:35:45 +++ 参考 URL :~ [[Duemilanoveの回路図>http://arduino.cc/en/uploads/Main/arduino-duemilanove-schematic.pdf]]~ [[秋月 FT232RL(AE-UM232R)のマニュアル>http://akizukidenshi.com/download/20090514ft245rlmodule_manual.pdf]]~ [[「はじめてのArduino」>http://isi.kicks-ass.net/blog/isi/bakilog-2.0/categories/arduino]]の写真~ [[「ブレッドボードでArduino」>http://zampoh.cocolog-nifty.com/blog/2008/04/arduino_b87f.html]]の写真 ++ ブートローダ +++ 準備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>http://www.geocities.jp/arduino_diecimila/bootloader/index.html]]の情報を基に、hardware/tools/avr/etc/avrdude.conf を編集し、末尾に 168P 情報を書き加える。~ 必要あったのか? // +++ 準備2 : [[ここ>http://isi.kicks-ass.net:8080/isi/bakilog-2.0/isiduino-168p]]を参照して、bootloader のソースに手を加える。→ コンパイルできなかったので、意味がなかった。2009-07-31 (金) 18:32:16 // +++ 準備3 : boards.txt も編集する。168p のエントリを作る。 // +++ ブートローダを仕込む方法 : 当面は、[[このページ>http://arms22.blog91.fc2.com/blog-entry-219.html]]に書いてある方法が一番楽。 // まず、スケッチをダウンロードする。そして編集。 // enum { atunknown=0, atmega8=0x7, atmega48=0x5, atmega88=0xa, atmega168=0x6, atmega168p=0xb }; // ~ // case atmega168: の後に続けて、case atmega168p を加える。 // ~ // #define PULSE_SCK(level) { *sckport |= sckbit; delayMicroseconds(10); *sckport &= ~sckbit; delayMicroseconds(10); } // …うーむうまくいかない。なぜだろう。2009-07-31 (金) 18:32:16 ++ プログラムを送り込む