« ジョセフドルーアン | メイン | 私の中の住人 »
2009年12月02日
ブレッドボードでArduino開発するときのアダプタを作ってみた (Embedded) /(仕事関係) /(工作とか) Tweet
ながいタイトルどおり
Arduinoは開発が超簡単。それでいて機能はちょっとした制御に使うには十分。
とはいえなにか作るたびにArduinoを内蔵してたらコストがもったいない。。USBついてないminiでも2000円ぐらいするんじゃなかったっけ。チップだけなら200円ぐらいなのにね。
つうわけで、生のATMega168Pを大量に買って在庫していて、ブレッドボードに回路組んでArduinoのブートローダー書き込んで使ってる訳だが、なんかそのたびに毎回決まった回路をブレッドボードに作るのがめんどくさい。
つうわけで書き込みに必要な回路だけユニバーサル基板に組んでみた。
続きに写真と詳細あります
これがATMega168を使ったArduinoの基本の回路図
D13のLEDはちゃんと書き込みできるかチェック用につけた。Blinkってスケッチで試す用。
AVRのライタ使わなくてブートローダーを書き込む方法もあるんだけど、私はDigitのAVR WRT 2ってえのを持ってるんでそれでブートローダーは書き込みます。
そして、スケッチダウンロード用のシリアルは秋月のFT232RXでUSB接続します。
Arduinoの回路図参考にしてDTRで自動RESETかかるようにしてあります。つかこんな省略回路でうまく行くのか?(⇒うまくいった)
これは前に作った基板
ブレッドボードに5V供給する基板です。便利ですよ
ブレッドボードに電源基板と生ATMega168Pをさします
ATMega168をまたぐ様に今回作った基板をさします
AVR WRTとこんな感じに接続します。
そしてPCからブートローダーの書き込み。
気をつけるのはフューズとロックビットの設定ですね。外部XTAL動作の場合は以下のとおりです。AVR WRT2はAVR Studioやavrdudeとビットの意味が反対だったりするので要注意
extended = F8 (BOOTSZ1, BOOTSZ0, BOOTRST)
high = DD (BOOTLEVEL1)
low = FF
lockbit = CF (BLB12, BLB11)
今度はUSB-シリアルアダプタ経由でPCと接続
Arduino IDEからスケッチをアップロードします。テストでBlinkをアップロード。
ところがうまくアップロードできません。。原因不明。。
こんなとき、オシロあればな。。。
だいぶ前に古いオシロ捨てちゃったんです。とりあえず秋月で安いの買おうかな。
データ送受信の様子がわかんないから、FT232のGPIOにLEDつけてみた。ちいさな1608の青
ArduinoIDEがTXRXのモニタ様にちかちかさせてるから簡単な確認用にいいかなって思って。
で、再びArduinoIDEからアップロードしてみると、送信はしてるけどArduinoからレス返ってきてません。
いろいろチェックしてたら書き込んだブートローダーが間違ってたorz...
ちゃんとしたの書いたらうまくスケッチのアップロードも出来るようになりました。
Blinkスケッチが動いてる様子
ブレッドボードで開発する時は固有の周辺回路だけ組めばいいし、ソフト固まったら基板起こすなりユニバーサル基板に組むなりすればOK
こうすると、最終基板に書き込み用コネクタとかつけなくていいでしょ。
いいアイデアだと思わない??
とりあえず1年以上放置してたフルカラーストロボのソフトを完成させたいなぁ
きっこの「練習日記2」はこちら
投稿者 nama : 2009年12月02日 11:55
コメント
焼くブートローダーは以下
\hardware\arduino\bootloaders\atmega\ATmegaBOOT_168_diecimila.hex