エレクトロニクス工作室
No.147 初心者のArduino
1.はじめに
私がArduinoを始めようとしたのは、5年ほど前になります。AVRのBASCOMを始めた頃です。ところが、当時は3000円以上したArduinoのUNOを購入したのですが、最初につまづいてしまい投げ出していました。今ではどのようにつまづいたのかも記憶にありません。もう「絶対にしない」と思い、UNO本体や書籍、組立てた基板などは全部息子に払い下げてしまい、手元には何も残っていません。息子はこれを上手に使っているようです。
それから年月が経ち、Arduinoも知らぬ間にメジャーに育って来ているように思います。出版物などの資料は圧倒的に増えて来ました。カラーLCDの制御などはArduinoの使用例も多く有利に思いますし、センサーを使った測定器なども作れそうです。CPUとしては普段から使っているAVRなのですが、ここでArduinoを試すのも悪くないように思えて来たわけです。
そこで一度は投げ出したのですが、完全初心者レベルから再開してみようと考えました。今回はその第一歩を紹介したいと思います。
2.Arduino
ArduinoはCPUにAVRを使用します。イタリア製ですがハードもソフトもオープンソースとして公開されており、多くの互換機があります。互換機を作って売っても問題になる事はありません。ただし互換機にArduinoという名前は付けられません。そのため「○○ino」とか「○○いいの」などのユニークな名称が沢山付けられています。
とりあえず本家イタリア製の標準的な製品であるUNOを購入し、これを中心に展開する事にしました。また、同時にaitendoの互換機「びんぼうでいいの」を2種類購入し、互換機の完成も目指してみました。
3.UNO
標準的なArduinoで、UNOはイタリア語で「1」を表します。最近では3000円弱で入手できます。写真1のような紙の箱に入っており、写真2は内部の様子です。シールやゴム足が入っています。当然なのですが、CPUにはブートローダが入っていますので、そのままArduinoとして使用できます。
写真1 イタリア製の本家UNOは、このような紙箱に入っています。
写真2 内部には基板の他に、シール、ゴム足のオマケが入っています。
とりあえず使いやすいように、秋月電子の写真3のようなArduino用アクリルベースセットを入手し、実験がやりやすいように準備しました。このセットにはネジが入っておらず、写真4のような樹脂のワンタッチスペーサが入っていました。これが上のシールド基板を外すときに一緒に外れてしまうので、不安定で使いにくい感じでした。そこでプラスチックの5mmのカラーを入手して固定するようにしたのですが、今度はソケットに近すぎて締められないネジがありました。まあ多少は不安定ですが、この方がずっと使いやすそうです。このボードは次の「びんぼうでいいの」でも共通に使えます。組み立てると写真5のようになります。
写真3 秋月電子のアクリルベースセットも購入しました。
写真4 基板の固定がこのようなワンタッチ式だったので、プラスチック製のカラーにしてしまいました。
写真5 組み立てるとこのようになります。
4.びんぼうでいいの(U3R)
写真6はaitendoで入手した500円の互換機「びんぼうでいいの(U3R)」です。基板の主要部品はハンダ付けしてあるのですが、別に部品を揃える必要がありますので、もう少しコストはかかります。もちろん、使い方によってフルに揃える必要はないのですが、そこは初心者の悲しさがありフルに近い実装になっています。写真7の部品を追加購入しています。ブートローダ書き込み済みのAVR380円と、ソケット等の部品パック250円です。写真には入っていないようですが、発振子4点セット60円も購入しています。それでも本家のUNOに比べるとずっと安く済んでいます。
写真6 500円の「びんぼうでいいの(U3R)」です。ICとソケットは手持ちを写していますが使っていません。
写真7 追加で購入した790円の部品です。
ブートローダ入りのAVRを使ったので、部品を多少のハンダ付けで取り付ければArduino互換機の完成です。しかし、パソコン側での準備も必要で、まずはパソコンにCH340のドライバを入れないとUSB機器として認識できません。これは問題なく入りました。UNOと同様の動作テストが始められます。なお、ブートローダの入っていないAVRを使う場合には、「びんぼうでいいの(S)」の方法で入れる事ができます。
5.びんぼうでいいの(S)
写真8は同じくaitendoの999円の互換機「びんぼうでいいの(S)」です。これも主要な部品は取り付け済みですが、DCコネクタ30円とカラーピンソケット95円を追加で購入しました。これが写真9です。また、HPにありますが、USBコネクタの基板への取り付けが不十分なので、ハンダを補強しておきます。パソコンにCH340のドライバーが必要なのは同じです。私の場合、このタイミングでは既に入っていました。
写真8 999円の「びんぼうでいいの(S)」です。
写真9 追加で購入した125円の部品です。
この後、ブートローダ投入の苦しみが待っていました。SMDのAVRが実装済みですので、ブートローダ入りAVRを他で調達して差し込む事ができません。これは以外に不便と気が付きました。UNOの基板の大きさは決まっていますので、SMD化しても小さくはなりません。従ってデメリットはあってもメリットは少ないのだろうと思います。結局ブートローダの投入は、aitendoのHPにあるUNOを使う方法が一般的となります。ところがエラーで入らず苦労しました。これは、使っていたIDEが5年前の「IDE0022」という超古いバージョンだったため、途中でUNOにコンデンサを付ける手順が必要だったようでした。コンデンサを付けると投入できました。写真10が投入しているところです。
写真10 999円の「びんぼうでいいの(S)」にブートローダを入れたところです。この時には10μFのコンデンサが付いています。
しかし、古いままでは仕方ないので「IDE1.6.9」をダウンロードして使えるようにしました。今では「IDE1.7.9」が最新のようですので、以降変更点があるかもしれません。aitendoのHPにある方法ではIDEの指定がありませんので、表現が異なっていたりします。その上、実際に行ってみると、非常に解り難い表現をしています。そこで私なりに書き直してみました。「」は選択する場所を表しています。但し、前述のコンデンサは無くても投入できるのですが、イタリア本家のHPでは付けるように書いてあります。
IDE1.6.9用でのブートローダ書き込み手順
(1)UNOをUSBケーブルでパソコンに接続する
(2)Arduino IDEを起動する
(3)「ツール」の「ボード」を「Arduino/Genuino Uno」にする
(4)「ツール」の「シリアルポート」が自動で表示されるので選択する(COM3等)
(5)「ファイル」の「スケッチの例」の「ArduinoISP」を選ぶ
(6)「⇒」で書き込みを行う
(7)完了後にUNOのUSBケーブルを外す
(8)写真11のように配線する
(9)UNOをUSBケーブルでパソコンに接続する
(10)「ツール」の「ボード」を「Arduino/Genuino Uno」にする
(11)「ツール」の「シリアルポート」が自動で表示されるので選択する(COM3等)
(12)「ツール」の「書き込み装置」から「Arduino as ISP」を選ぶ
(13)「ツール」の「ブートローダを書き込む」を選ぶと書き込み開始する
写真11 このように配線します。写真10と同じです。
6.動作試験
簡単な動作としては、定番のLチカ(LEDチカチカ)があります。これをUNOで試してみました。写真12のように問題なくチカチカしました。写真はUNOですが、「びんぼうでいいの」も同様にチカチカできました。これはIDEに入っているサンプルプログラムを使い、多少アレンジしたものです。
写真12 動作テストにLEDを点滅させたところです。
7.終わりに
わざわざ2種類の互換機を使う必要もなく、どちらかで十分であったと後から反省しました。単なる興味本位だったのですが、苦労を増やしただけとも言えます。逆に知識が深まったと前向きに捉える事もできますけど・・。
以前からPICではなくAVRを使い、マイナーの悲哀が結構ありました。ここでArduinoが順調に進められれば、一気にメジャーになるというヨコシマな発想があります。まあ、ヨコシマかどうかは別として、ここまでは何とか進められました。
高周波の工作においてもCPUを使用しないと、幅が出て来ない世界になってきました。そこで、これをスタートとしてArduinoを使ったものを少しずつ取り入れて行こうと考え、第一歩として紹介しています。もちろん今後も高周波寄りが中心になりますが、これで幅が広くなるでしょう。