公開日: 2013年05月04日(Sat)
Arduino (アルドゥイーノ) は、簡単な手順でマイコンボード上にプログラムを走らせることができる開発キット。オープンソースのシステムで、電子工作のプロトタイプを誰でも簡単に作ることができる。電化製品を分解したり、電子部品をいじくりまわしたりするのは、幼少のころまで遡ってもミニ四駆以外にはあんまりやったことがない。だから全然不慣れだけど、面白そうなのでやってみた。
Arduinoは電子工作なので、ブラウザやパソコンで動作するプログラムと違って、始めるにはハードウェアを揃えなければいけない。まったく知識がないので、知ってる人に聞いて、入門キットを購入して、それにそってやってみることにする。
購入したのは次の2つ。
ハードウェアのセット「Arduinoをはじめようキット」は、入門書「Arduinoをはじめよう」の流れに合わせて構成された内容になっている。ので、合わせて入手した。Amazon で購入できる。
届いたはじめようキットの中身はこんな感じ。
今回やってみる入門手順で使用するのは、マイコンボード Arduino Uno R3 の本体と、パソコンと接続するための USBケーブル(A→Bタイプ)、あとLEDを1つ。
その他にも、ブレッドボード、いくつかの抵抗、ジャンパワイヤ、タクトスイッチなど、どう使うかよくわからないが、たくさんの部品がはいっている。たぶんそのうち使うことになるだろうけど、いまはそっとしておく。
Arduinoの開発環境は、Windows, Mac, Linux 向けに用意されているが、今回は Mac OS X 10.8.3 Mountain Lion で入門してみようと思う。Windows は今度また日を改めてやってみることにする。
Arduino IDE では、Processing言語をもとにした言語で開発を行う。この言語を、IDEがビルドするときにC言語にコンパイルされ、そこからさらに機械語にコンパイルされ、それがArduino上で動作するのだそうだ。
Arduinoのサイトからインストーラーをダウンロードする。ダウンロードページは下記。
今回は Mac OS X で入門してみようと思うので、「Mac OS X」のリンクから Arduino 1.5.2 MacOSX (ZIP) をダウンロードした。
これを解凍すると、「Arduino」というアプリが出てくるので、アプリケーションフォルダにドラッグする。これでIDEのインストールは完了、アプリアイコンをダブルクリックして、起動することができた。
でも、先にドライバをインストールするまで起動してはいけません、と本には書いてあるので、おとなしく従いましょう・・。一旦アプリを終了!
Macでは、Arduino Uno のドライバは Mac OS X が提供するので設定は超簡単。Arduino Uno を Mac に接続するだけで自動的に進行します。と、書かれている。
Arduino Uno の本体はこれ。
箱を開けると中身はこんな感じ。
ステッカーとかついててちょっとテンションがアがる。
接続するというのは、USB接続のことだろう。Arduino Uno の本体に、はじめようキットについてきた USBケーブル(A→Bタイプ) で Mac と接続してみる。
電子基盤的なものにはあんまり触り慣れていないので、なんか緊張する。なんとなくそこらじゅうをベタベタ触っちゃダメなイメージがあるので、緑色の部分の縁とかを恐る恐る持つ。
Macに接続する。すると、緑色の電源ランプが点灯し、「L」と書かれたオレンジ色のランプが点滅し始める。
本によると、
という手順が必要とのことだが、何も起きなかった。なんで? OS X のバージョンが新しいから?
ちょっと不安なので、「システム環境設定 → ネットワーク」を手動で開いてみたが、んー、Arduinoっぽいデバイスは表示されてないなぁ。まぁ、いいか。
ドライバのインストールはこれで済んだ、ということで、さっきインストールした Arduino IDE を起動する。
シリアルポートの選択は、 Arduino IDE のメニューで行う。本に載ってる画面は英語なので「Tools → Serial Port」になっているが、私の環境に入ったIDEはなぜか日本語だった。メニューバー「ツール → シリアルポート」を開き、いま接続している Arduino デバイスを選択する。
しかし・・・、いま接続している Arduino デバイスがどれなのかよくわかんない。本には「/dev/cu.usbserial-」で始まるものを選べ、と書かれているが、そんなのない。本でも、画面キャプチャ上に載ってないが、選択しようとしているように見えるのが「/dev/cu.usbmodemfa141」なので、それと一番名前が似ているのを選んでみる。
これで、たぶん準備完了!
練習で、LEDを点滅させるコードを書いて、実行してみる。と、その前に、Arduino 基盤に LED を接続する。
はじめてキットの中からLEDを取り出す。赤と緑と青の LED が入っていた。たぶんどれでもいいんだけど、赤いのを選んでみた。
短いほうがカソード、長い方がアノードという線らしい。短いカソードを マイナス側(GND) に、長いアノードをプラス側に接続する。プラスの穴がどれか明記されていないが、イラストを見るに、GNDという穴のとなりにある 13 という穴がどうもそれっぽい。
挿しこんでみる。
え、もう点滅始まったんだけど???(汗)
これからプログラム書いて点滅させてみる練習じゃなかったんだっけー??
まぁ、いいか。
予め点滅プログラムが基盤にインストールされてるってことなのかな。点滅がはじまったので、たぶん刺した穴は正しかったのだと思うことにする。
差し込む穴の数がどうも本に書かれているイラストと合ってないような気がするので、ちょっとズームした写真を載せておく。ここに挿しましたー。
もう動いているのと同じ実装を上書きしようとしているような気がするが、本の流れに従ってコード(プログラム)を書いてみる。
Arduino IDE に戻って、メニューバー「ファイル > 新規ファイル」を選択すると、テキストエディタが立ち上がる。ここに次のようなコードを書いた。
// Example 01 : Blinking LED
const int LED = 13; // LEDはデジタルピン13に接続
void setup(){
pinMode(LED, OUTPUT); // デジタルピンを出力に設定
}
void loop(){
digitalWrite(LED, HIGH); // LEDを点ける
delay(2000); // 2秒待つ
digitalWrite(LED, LOW); // LEDを消す
delay(2000); // 2秒待つ
}
setup() と loop() という2つのメソッドを実装した。この2つは自動的に呼ばれる約束になっているみたいだ。
setup() には、13番に接続したデバイス LED を出力先にするという命令が書かれている。
loop() では、そのLEDに対して、点灯、消灯の命令を2秒おきに発行するような内容のようだ。本のサンプルでは1秒おきの実装になっているが、その動作はすでにArduino上に走っている。これでは上手く行ったかどうかわからないので、2秒にアレンジしてみた。
これを実際にコンパイルしてAruduinoに転送してみる。その前に、プログラムが間違っていないか確認する。IDEの左上に、チェックマークのようなVerify(=検証)ボタンがあるので、それを押す。すると画面の下部でコンパイルと検証が始まる。問題なければ、Done compiling(=コンパイル終了) と表示されるようだ。
検証して問題なければ、Arduino にアップロードする。
本では、Upload ボタンを押せ、とあるが、日本語版の画面にはそんなのない。その代わり「マイコンボードに書き込む」という右向き矢印のボタンがあるので、これを押してみた。
するとコンパイルが始まり、「マイコンボードへの書き込みが完了しました」というメッセージが表示された。処理は一瞬。
アップロードの実行中、Arduino側では、書き込みの間、TX, RX というラベルの黄色いLEDがパチパチ点滅し、自分で接続した赤いLEDもパチパチ点滅する。その後、新しく書いたコードが実行されるようだ。
手ブレしてて見づらいが、この動画は、前半はアップロード前の状態で、動画12秒あたりでアップロードを実行している。パチパチはこのあたりで始まる。パチパチする前は 1秒ごと、パチパチした後は 2秒ごとに点灯・消灯を繰り返すようになった。
開発環境のセットアップと、簡単なプログラムを走らせる作業の流れを理解できたので、入門完了!ということにする。
最後にお片づけしてみる。
本にお片づけの仕方が書いてない。手順はわかんないので、組み立てた逆の手順で解体してみた。
これで、まぁ、たぶん壊れてないはず。たぶん!
Arduino
何をする物だか
よくわからないけど
読んでてとっても
おもしろかったデス。
公開日: 2013年05月04日(Sat)