1.はじめに

No.147では初心者として、Arduinoの互換機を作製しました。この時には本家ArduinoのUNOを使い、ジャンプワイヤーで接続してブートローダーを書き込みました。このような方法は、半年もすると(いや3日か)きれいに忘れてしまうものです。探してみると、ブートローダー書込器がとても安く(500円)入手できます。そこで、aitendoでAKIT-SBWというキットを購入しました。これは写真1のような、シールド基板です。Arduinoで遊び始めたので、まず手当たり次第に互換機やシールド基板を作った、というのが実情でしょう。この他に極めて酷似した、P-SBWというキットもあります。基板は同じように見えますし操作手順も同じですので、何が異なるのかは良く解りません。恐らく、ほとんど同じと思います。

photo

写真1 UNOの上に乗せた「ブートローダー書込器」のシールド基板です。

ブートローダーはAVRのICに直接書込みます。従って、写真2のようなタイプには書き込み不可能です。その理由は、説明する必要もないでしょう。写真3のような、DIPタイプのAVRを使っている基板がターゲットになります。

photo

写真2 このようなArduino互換機もあるのですが、これは書き込み不可能です。

photo

写真3 このようなDIPタイプを使う互換機が対象です。

2.シールド基板

高周波の場合ですと、金属で囲ってしまいたくなるのですが、Arduinoの場合は上から差し込む基板の事を言います。このブートローダーのほかに、カラー等のLCDやスイッチなどのシールド基板があります。専用のユニバーサル基板もありますので、自作も容易です。機能を多くするために2階建て、3階建てにする事が可能です。

3.ブートローダー書き込みキット

写真4のようなaitendoのキットを使いました。キットの部品も写真5のように僅かです。キットとしては500円ですが、ゼロプレッシャーソケットまで付属していました。普通のICソケットのタイプもあり、更に安く290円でした。

photo

写真4 このようなキットです。

photo

写真5 入っている部品はこれだけ・・。

このキットの他にArduinoの本体が一台必要になります。普通はUNOですが、もちろん互換機でも使えます。前回まとめて作っておいた互換機の基板とも思いましたが、ここは起点にもなるので本家の「UNO」にしました。

キットと言ってもハンダ付けなどの工作は、ほんの僅かで完成してしまいます。とても簡単なキットですが、使うのにソフトが絡みます。使用するには、それなりの手順があります。

4.作成

ハードの作製としては、このように終わってしまいます。気が付いた点としては、ヘッダーピンがフルに付いておらず写真6のように必要最小限しかありません。フルであればUNO本体に間違って入れる心配はないのですが、これだとズレても入ってしまいます。普通は気が付くと思いますが、注意が必要です。もちろんUNOを1台専用に使うのであれば関係ありません。少々このコネクタでは・・と不安があったため、写真7のように手持ちの部品で追加してしまいました。もちろん、追加する必要性はありません。

photo

写真6 ヘッダーピンも最小限です。

photo

写真7 手持ちを使って追加してしまいました。

ちょっとした事ですが、写真8のようにLEDの足がUNOのICSPピンにニアミスしてしまいます。実際には接触しないので良しとしましたが、LEDのハンダ面は極力足を短くしてハンダ付けするのが良さそうです。カプトンテープなど貼って置いた方が良いかもしれません。

ソフトの準備としては、UNOに専用のスケッチ「optifix」をダウンロードします。これを解凍して書き込みます。次に上側にシールド基板としてこのキットを乗せると完成になります。このままでは少々心もとないので、写真9のようなカラフルなUNO用ホルダーをケース代わりに下に付けています。ホルダーといっても、UNO下側のハンダ面を覆うだけです。しかも少々精度に難点があり、多少基板を削ったりしないと収まりませんでした。また、タッピングタイプの3mmネジが別に必要です。しかし、このネジが一か所どうしても入りません。コネクタに接近し過ぎのためで、特に無理する必要もないので諦めました。

photo

写真8 LEDの足がICSPピンにニアミスします。

photo

写真9 UNO用のホルダーを使いました。

これで書き込み器として完成しました。写真10が完成した基板とUNO+専用ホルダーです。色が同じようなので、ホルダーは見にくいのですが・・。

photo

写真10 完成した基板とUNO+専用ホルダーです。

5.使用感

もちろん、ブートローダーを入れるべきAVRが無い事にはテストになりません。AVRには普通のDIPタイプのATmega328Pを使いました。これが普通UNOに使われるCPUだからです。ATmega168Pでも使えますが、この場合には書込むスケッチを修正しなくてはなりません。Arduino互換機として色々な種類ができてしまうと後々面倒となるため、ATmega328P以外は使わない事にしています。その方が無難でしょう。

操作は簡単ですが、それでも忘れてしまいます。そこで写真11のように手順を印刷してラミネートし、同じ袋に入れて保管しています。

photo

写真11 手順をラミネートし、同じ袋に保管しました。

写真12が書き込みをしている様子です。これでいとも簡単にArduino用のAVRが作れるようになりました。UNO互換機が基板は別として、IC的にはどんどん作れてしまいます。

photo

写真12 ブートローダーの書込みをしている様子です。