トップページへ
Under Updating Everyday
ボルダリング 日記 お絵かき 更新履歴 その他 メール
 Translate to English by google

« ジョセフドルーアン | メイン | 私の中の住人 »

2009年12月02日

ブレッドボードでArduino開発するときのアダプタを作ってみた    (Embedded) /(仕事関係) /(工作とか) Bookmark and Share

DSC08913

ながいタイトルどおり

Arduinoは開発が超簡単。それでいて機能はちょっとした制御に使うには十分。
とはいえなにか作るたびにArduinoを内蔵してたらコストがもったいない。。USBついてないminiでも2000円ぐらいするんじゃなかったっけ。チップだけなら200円ぐらいなのにね。

つうわけで、生のATMega168Pを大量に買って在庫していて、ブレッドボードに回路組んでArduinoのブートローダー書き込んで使ってる訳だが、なんかそのたびに毎回決まった回路をブレッドボードに作るのがめんどくさい。

つうわけで書き込みに必要な回路だけユニバーサル基板に組んでみた。

続きに写真と詳細あります



DSC08926

これがATMega168を使ったArduinoの基本の回路図
D13のLEDはちゃんと書き込みできるかチェック用につけた。Blinkってスケッチで試す用。
AVRのライタ使わなくてブートローダーを書き込む方法もあるんだけど、私はDigitのAVR WRT 2ってえのを持ってるんでそれでブートローダーは書き込みます。
そして、スケッチダウンロード用のシリアルは秋月のFT232RXでUSB接続します。

Arduinoの回路図参考にしてDTRで自動RESETかかるようにしてあります。つかこんな省略回路でうまく行くのか?(⇒うまくいった)



Power Supply Unit for BreadBoard

これは前に作った基板
ブレッドボードに5V供給する基板です。便利ですよ



DSC08918

ブレッドボードに電源基板と生ATMega168Pをさします



DSC08923

ATMega168をまたぐ様に今回作った基板をさします



DSC08924

AVR WRTとこんな感じに接続します。
そしてPCからブートローダーの書き込み。
気をつけるのはフューズとロックビットの設定ですね。外部XTAL動作の場合は以下のとおりです。AVR WRT2はAVR Studioやavrdudeとビットの意味が反対だったりするので要注意

extended = F8 (BOOTSZ1, BOOTSZ0, BOOTRST)
high = DD (BOOTLEVEL1)
low = FF
lockbit = CF (BLB12, BLB11)



DSC08925

今度はUSB-シリアルアダプタ経由でPCと接続
Arduino IDEからスケッチをアップロードします。テストでBlinkをアップロード。
ところがうまくアップロードできません。。原因不明。。
こんなとき、オシロあればな。。。
だいぶ前に古いオシロ捨てちゃったんです。とりあえず秋月で安いの買おうかな。



DSC08907

データ送受信の様子がわかんないから、FT232のGPIOにLEDつけてみた。ちいさな1608の青
ArduinoIDEがTXRXのモニタ様にちかちかさせてるから簡単な確認用にいいかなって思って。

で、再びArduinoIDEからアップロードしてみると、送信はしてるけどArduinoからレス返ってきてません。
いろいろチェックしてたら書き込んだブートローダーが間違ってたorz...
ちゃんとしたの書いたらうまくスケッチのアップロードも出来るようになりました。



DSC08911

Blinkスケッチが動いてる様子

ブレッドボードで開発する時は固有の周辺回路だけ組めばいいし、ソフト固まったら基板起こすなりユニバーサル基板に組むなりすればOK
こうすると、最終基板に書き込み用コネクタとかつけなくていいでしょ。
いいアイデアだと思わない??

とりあえず1年以上放置してたフルカラーストロボのソフトを完成させたいなぁ



きっこの「練習日記2」はこちら

投稿者 nama : 2009年12月02日 11:55

コメント


焼くブートローダーは以下
\hardware\arduino\bootloaders\atmega\ATmegaBOOT_168_diecimila.hex

投稿者 なま : 2011年10月05日 11:44

コメントしてください




(書式を変更するような一部のHTMLタグを使うことができます)