profile-photo

スケッチライタ

Arduino UNOを使って、ブートローダやスケッチを書込むシールド


ArduinoならパソコンからUSB経由でスケッチを書けるが、シリアルを持たないものやchip単独で組み込んでしまう場合、予めCPUチップにスケッチを書き込む必要がある。
昔は大げさなP-ROMライタを使ったものだが、Arduinoに書込器の機能を持たせるスケッチがあるのだ。まずArduinoからスケッチの例にある『Arduino ISP』をダウンロードする。
そして、この書込シールドを接続し、ターゲットのチップをソケットに挿入。
『ツール』でCPUの設定をし、書き込むだけだ。 今回作ったのは、そもそもAtTiny85を使いたかったので、AtTiny85とAtmega328Pの2種類に対応できるようにした。切り替えはジャンパピンの挿抜だ。 また、推奨を搭載していないので、クロックは「内部」専用だ。

 

001

普通のユニバーサル基板に組み立てた。AtTinyとMEGA286との切り替えは基板上のジャンパーピンで行う。 ジャンパー(3箇所)をショートするとAtTyny85、ショートピンを抜くとAtmega328Pのライタになる。

002

普通の基板で作り始めてから気がついた。実はステータスLEDに"D7"が要ったのだ。そのため、こんな変換基板を作るハメになった。 今後もこんな事がありそうなので…シールドが一枚多くなってしまうが、UNOのデジタルピンの半ピッチずれたコネクタに悩まされないで市販の(普通の)ユニバーサル基板が使えるようになる。

003

LEDが4つ付いている。 3つ並んだLEDは、基板の端の方から、「HeatBeat」「Error」「Programming」となっていて、現在のステータスが分かる。 1つ離れたLEDは、AtTinyモードの時に2番ピン(IO3)に繋がっているので、動作の確認に使うことができる。(PIN3のLチカなど)

004

基板の背面。
最近はユニバーサル基板の配線に「テクノペン」を使うとこが多い。熱に弱いので半田付けとテクノペンを同時に行うと調子が悪いが、半田付けを予め済ませておいて、後から回路を書いて行くと便利だ。

005

Tiny85を書いている様子。 なぜかエラーが良く点灯するが、大抵無事に書込は終わっている。時々クロックが設定と合わないことがあったりするが(^_^;

AtTiny85

8ピンのパッケージながらプログラムメモリ8KB、SRAM 512byteと強力で、内蔵クロックの場合は8MHzまで動作する。外付けにすると20MHzでも動くらしい。 8ピンとコンパクトなのでATMAGAで、IOが余ってしまう様な、入出力が少ないアプリに最適だ。


参考までにハードウェア・ソフトウェアの情報を。ただしこれらは僕の覚えであり、正確に改版を反映していない可能性があります。この通り作って動かないからと、怒らないで欲しい。