2014-06-13
通常はブレッドボード上にI/Oだけの回路を組みarduinoのI/Oピンとブレッドボード間をジャンパー線で接続する
この方式はI/Oが少ないときは良いがLCDや7セグメントLEDのようにI/O数が多い装置の場合はarduino<->ブレッドボード間の配線が非常に多くなる
そこで以下の図のようにブレッドボード上にatmega328を乗せI/Oはブレッドボード上のatmegaに配線する
ArduinoISPサンプルスケッチを使ってターゲット上(ブレッドボード上)のatmega328にスケッチを書き込んでやればブレッドボード上のatmega328がスケッチを実行してくれる
arduinoボードは単なる書き込み機として使用されスケッチを実行するのはブレッドボード上のそれになる
この方法により配線総量が減るわけでは無いが
利点:
・書き込みに使われている緑、青線を取り去った時にブレッドボード上の回路が正しく動作するなら回路が単独で動作することを確認出来る
後はユニバーサル基板に同じ回路を組み直せば2段重ね開発から抜け出す事が出来る
1枚基板は安上がりで大量生産に向いている
・抜けやすいarduinoのピンソケットにブレッドボード用の抜けやすいジャンパー線を差し込まなくて済む
方法:
・配線は図の通り
・arduinoにはArduinoISPというサンプルスケッチを書き込んでおく
・ブレッドボード上のatmega328にスケッチを書き込むためには「ファイル」-「書き込み装置を使って書き込み」を実行
書き込みが終わるとスケッチが実行される。書き込まれるのはスケッチだけでブートローダーは含まれない(ブートローダーは必要ないはずだ)
・スケッチの代わりに「ツール」-「ブートローダーを書き込む」を実行すればブレッドボード上のatmegaにブートローダーを書き込むことが出来る
この操作ではブートローダーだけが書き込まれる。これはarduinoを複製するための機能
欠点:
・シリアルモニターが使えないのでデバッグがやりにくい
Serial.wrie や Serial.println によるデバッグはかなり便利な機能だ
・3本だけなのでそれほど困った問題にはならないはずだが書き込みに使っているピンは他の用途で使えない
・毎回定型回路をブレッドボード上に組むのは面倒だ
実験回路なら1回きりの配線なので問題ないがブートローダーを書き込んだり、量産時の書き込み時は不便に感じる
ユニバーサル基板で組み立てた回路にバグがあったときも同様だ
予めこの回路を基板で組んでしまえば解決できる。ソケットはもちろんZIFソケットにする

USBとarduinoボード上のatmega328はRX,TXのたった2本のピンだけで接続されている
2(RX),3(TX)番ピンだけを切断するかatmega328をソケットから抜き以下のように配線すればブレッドボード上のatmega328がarduinoになる
この方式は
・上記の方法より書き込みに使われるピンが1本少なくて済む
・スケッチの書き込み手順は通常のシールドを使った開発と同じく「マイコンボードに書き込む」ボタンを押すだけとなる
ブレッドボード上のatmega328にはブートローダーが書き込まれている必要がある
・RX,TXが接続されているので Serial.wrie や Serial.println によるデバッグが可能
2,3番ピンをスイッチで切り離せるように改造してしまえばソケットからatmega328を抜かずに済む。この方式の方が便利だがブートローダーを書き込むために上の回路も必要になる

上記2つの配線に対応させたarduino開発ボード。回路はDuemilanoveを改造した物なのでatmega328に書き込むファームウェアもDuemilanoveの物になる

ターゲットボードで開発しているときはarduino上のATmega328Pは動作していない。ターゲットボード上のATmega328Pがarduinoとして機能している。ターゲットボードへの書き込みはTX,RXによる通信なのでSerial.printなどの機能も使える。配線はこのページの上から2番目の物と同じ。RX/TXスイッチはEXTの位置、PWR_BB_SWはONになっている

ブートローダーを書き込む

書き込んだATmega328をターゲットボードに挿して開発
ターゲットボードとは合計5本の電線で繋がっている

ZIFソケットも使えるようレイアウトしてある

部品表 秋月電子だけで部品はそろいます
注意!! スライドスイッチは2回路用が必要です。秋月電子ならIS-2235です(IS-1250は1回路なので使えません 6本足ですが1回路です)

基板は売店で販売しています
現在販売中の物は以下の問題が改善されたパターンになっているので手作業の修正箇所はありません
製造間違いで矢印の箇所に修正が入っています。手作業で修正したので
若干不細工ですが電源ICを実装すると見えなくなります。絶縁のためエポキシ樹脂を塗ってあるため僅かにこの部分が盛り上がっています。電源ICを半田付けした後に基板のベタパターンと電源ICの出力ピン(C6に近いほうの端子)がショートしていないかテスターで確認してください。ショートしていたら不良です
