大学のイベント(ライトテルミン、LEDバッジ、ミニツリー他)や趣味のものづくり(アームテルミン、メロトロン他)などで色々なAVRを使用しています。
また開発環境はArduinoIDEを使用していますので、今まで「しなぷす」さんが公表されているライターを作って使ってきました。ありがとうございます。
Arduino用ブートローダ/スケッチライタの製作(1) - しなぷすのハード製作記
しかしLEDバッジには8pinSOPのATtiny85を使っており、
SOPのゼロプレッシャーソケットで書き込みたいとか、
書き込み終了後に動作チェックも済ましたいとか、
連続で焼くときに他の仕事をしながら焼けるよう、書き込み終了を知らせて欲しいとか、
DIPの8pin /16pinなどのAVRにも書き込みたいとか、
様々な要求がわき起こりましたので、あらたに試作してみました。
写真は今回製作したライターの基板です。
Elecrowで白基板を指定したのになぜか裏が黒いです。しかも裏の輪郭だけは白いという謎の基板が来ました。
実は前回失敗したので今回が2回目です。
前回は穴が小さくてゼロプレッシャーソケットが入らず、
ソケット同士の間隔が狭すぎ、
さらにはSOPのソケットの配線をミスっていました。
しかも表面の配線ミスのため箔カットして修正もできず高価なソケットを無駄にしてしまいました。
(こんな安価に基板が作れるようになったので、発注前の見直しがアマアマ)
実装済みのものを見ると機能が分かります。
まず、左に実装されているのはArduino Pro/mini 互換品(Aliで5枚$10で購入)でUSB/Serialを付けるとArduinoになります。スケッチにはArduino as ISPが書き込まれています。
中央の28pinゼロプレッシャーソケットはATmega328用です。(aitendoで250円、安い)
スケッチやブートローダを書く野に使用します。
ブートローダとスケッチを両方書きたい場合は、まずブートローダを書き込んだ後、USB/Serialを左上に半分隠れているPinヘッダつなぎ替えます。するとゼロプレッシャーソケットのATmega328がArduino UNO相当になりますので、IDEからブートローダを使った通常のスケッチ書き込みができます。
右上の20 pinゼロプレッシャーソケットは、8pin / 16pin /20pin AVR用のソケットです。(aitendoで200円、これも安い)
また右下は8pin SOPのゼロプレッシャーソケットです。バッジ用に多量に焼くことがあるので用意しました。(さすがにこれはaitendoでも2500円もします)
ケーブルに付いているクリップは、はんだ付けした8pin SOPのAVRにオンボードISPで書き換えるときに使用します。
下部の圧電サウンダはpro/miniに接続してあり、書き込み終了時にピポ音で知らせてくれます。これはArduino as ISP のスケッチにビープ音発生を追加しました。
また、右上のスイッチとLEDは、LEDバッジのスイッチとLEDのひとつとして接続されています。arduinoの環境で書き込むと、書き込み後直ちに動き出すので、これをつかうとSOPソケットのままで動作を確認することができます。
このスイッチとLEDは他のAVRにも接続していますので、スケッチで配慮すれば最低限の動作チェックに使えます。(例えば、書き込み終了してピポ音が鳴ってすぐにこのスイッチを押せば、確認モードに入りLEDを数回点滅する機能を追加しておくなど)
これで大変便利になりました。
20pin / 16pinのAVRはまだ試していませんが、たぶん大丈夫でしょう。