今日から冬休みなんですが、今年は11日間の長い冬休みをとれたので、時間があったらやろうと思っていたArduinoをはじめてみました。
「Make: Tokyo Meeting」とか「Maker Faire Tokyo」とかにもよく行っているんですけど、いつも見ているだけだったんですよね。 自分でも何かを作ってみたいと思っていました。
Arduinoとは
Arduinoというのは、簡単に言うとプログラムすることができる回路、です。 例えばスイッチをいれて電球を点滅させるといった単純なことでも、もし電子パーツだけで作るとそれなりに工夫が必要ですが、それを回路を使わずに、プログラムで制御することができるわけです。
ちなみに、私のスペックはこんな感じ。電子回路はほとんど初めて。
- 理系です……でもマクスウェルの法則もオームの法則も忘却の彼方。
- お仕事はずっとソフトウェア系。ソースコードならかけるけど、電子回路は全然わかりません。
- ハンダ付けは学生のときに一回やったことがあるくらい。
とりあえずは初心者向けの本とキットから始めることにしました。
用意したもの
まずは参考書として、こちら。
Arduinoをはじめよう 第2版 (Make:PROJECTS)
- 作者: Massimo Banzi,船田巧
- 出版社/メーカー: オライリージャパン
- 発売日: 2012/03/16
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 27回
- この商品を含むブログ (11件) を見る
そして、この本の作例で必要な部品が入っているキットを購入。
- 出版社/メーカー: スイッチサイエンス
- メディア: おもちゃ&ホビー
- 購入: 64人 クリック: 1,164回
- この商品を含むブログ (50件) を見る
ついでに、Arduino用のケースも買いました。
ProjectBox for Arduino (ブルーエッジ)
- 出版社/メーカー: スイッチサイエンス
- メディア: エレクトロニクス
- クリック: 2回
- この商品を含むブログを見る
キットが3980円、本が2100円、ケースが840円であわせて6920円。
キットに入っているのはこの12点。ワイヤーなどをいれるプラスチックのケースもついています。
- Arduino Uno R3マイコンボード1個
- ブレッドボード1個
- 堅いジャンパワイヤ1セット
- タクトスイッチ1個
- CdSセル1個
- 10kΩ抵抗2本
- 1kΩ抵抗3本
- 330Ω抵抗1本
- LED(赤)1個
- LED(緑)1個
- LED(青)1個
ただし、Mac/PCとつなぐためのUSBケーブルはついていないので、別途購入の必要があります。 (USB Aオス-Bオスで。)
IDEのインストール
ArduinoをUSBケーブルでMacにつないだら、開発環境のインストール。
Macの場合には、http://arduino.cc/en/Main/Software からMac OSX用のファイルをダウンロードしてきて、解凍してアプリケーションフォルダーにいれるだけ。
起動してから、ボードとシリアルポートの設定をする必要があります。
それからシリアルポートの設定。「/dev.cu.usb**」で始まるものを選ぶそうです。
LEDを光らせる
それからいよいよ実際にプログラムを書いて動かしてみます。 まず、Arduinoボードのこちらのピンに発光ダイオードをさします。 GNDの方にダイオードの短い足をさしてください。
それから「ファイル」メニューから「新規ファイル」を選んで、エディター画面にこちらを入力。
const int LED = 13; void setup(){ pinMode(LED, OUTPUT); } void loop() { digitalWrite(LED,HIGH); delay(300); digitalWrite(LED,LOW); delay(300); }
あとは、エディターの上部分にある矢印アイコンを押せば、Arduinoにプログラムが送信されて、LEDが点滅します。 上のコードの delay(300)で300ミリ秒の感覚をいれているので、1秒間に3回くらい点滅するはずです。
デバッグログ
さて、プログラマーのみなさんが一番気になるのが、デバッグログ、ですよね。 setupでSerial.beginをコールして初期化してから、Serial.printをコールすると、ログ表示をすることができます。
「ツール」メニューの「シリアルモニター」でログウィンドウが表示されるので、そこで表示された内容を確認してください。
const int LED = 13; void setup(){ pinMode(LED, OUTPUT); Serial.begin(9600); } void loop() { Serial.print("Hello world."); digitalWrite(LED,HIGH); delay(300); digitalWrite(LED,LOW); delay(300); }
リファレンスなど
言語リファレンスやチュートリアルはこちらです。(ただし英語)
関係ないけど、Arduino IDEは「ウィンドウ」メニューがないので、複数ファイルを開いているときに切り替えにくくて地味に不便ですね。