
ひょんなことからArduinoの電子工作キットと本を手に入れました。これで今日から君もハイパー・エレキテルカル・クリエーターだ!
昔から電子工作には関心があったのですが、なんとなーく触れる機会のないまま、今日まで過ごして参りました。
中学の技術家庭科で電子回路の半田付けはやりましたが、説明書通りにハンダ付けしたというだけで、使われている部品がどういう役割を持っているのかなんてことはまったくわからないままです。
高校も最初は電子制御科に行くつもりだったのですが、気が付いたら化学科にいた。なにをいってるかわからねーとおもうがおr(ry まあ、あんまり数学得意じゃなかったので、今考えればそれで良かったのかもと思ったりしています。
ところが先日、電子回路を勉強してトランジスタラジオでブガりたい、なんてことを友人に言ってみたら、使ってないArduinoのキットを貸してもらえることになりました。ありがとう、そして、ありがとう。

PICとAVRとArduinoと
最近の電子工作は、マイコンを使ってなんやかんやするみたいです。マイコンの中にはCPUやメモリが収められており、まさに小さなパソコンです。マイコンは現在、PICとAVRの2つが主流となっています。
PICはマイクロチップ・テクノロジー社が、AVRはAtmel社が、それぞれ出しています。AVRの方が後発で、また、AVRのほうがPICより性能が良く安価らしいです。ただ、出回っている情報量はPICの方が圧倒的に多い模様。
といっても、チップ1つの価格はどちらも数百円というレベルですし、性能についてもホビーユースのレベルなら大差ないので、好きな方使えば良いよ、という感じみたいです。

ArduinoはAVRを搭載した基板(や統合開発環境などを含むシステムの総称)です。
通常、マイコンを使った工作をするにはマイコンにプログラムを書き込む「ライター」というハードが必要ですが、ArduinoはUSBで直接PCと繫いで、すぐに書込が出来ちゃいます。ボードにLEDなども搭載されていて、とりあえずボードだけでも電子工作気分が味わえるという優れもの。プログラムを書くためのIDE(統合開発環境)も、Windowsはもちろん、MacやLinuxにも対応していて、使い方も簡単。これから電子工作に触れてみたいという人にはまさにぴったりです。
難点をあげるなら、Arduinoは安いものでも1枚2,000円ほどするので、製品の部品としてはちょっと使いにくいというところでしょうか。
たとえば、自分がデジタル温度計を作るとします。これを一般に販売する製品にしようとすると少なくともArduinoのボードだけで2,000円はかかるわけです。その他の部品代や掛け率などを考えると、上代は5,000円以上にはなるでしょう。ただのデジタル温度計ごときに5,000円も出すか? と言う話です。
まあデザインなど、価格を上げられる要素はあるとは思いますが、Arduinoを使った製品を作るならかなりの付加価値が必要だと思われます。実際、Arduinoが使われている場面の多くがアートや研究、教育といった分野です。
ちなみにArduinoはオープンハードウェアとなっており、(その気になれば)誰でも同じものが作れます。「大人の科学マガジン」のマイコン「Japanino」もArduino互換製品のひとつです。
Arduinoを使ってみる
というわけで、Arduinoを使ってみるよ!
今回はボード上にあるLEDを点滅させます。LEDを光らせるのは電子工作における「HelloWorld!」なのです。

まずはMacとArduinoをおもむろにUSB接続します。ちゃんと電源が入れば緑のLEDが点灯します。Windowsの場合はドライバのインストールが必要のようですが、Macの場合は接続するだけでおk。

ArduinoのウェブサイトからダウンロードしたIDE「Arduino」を起動。

「ファイル」から「スケッチの例」 – 「01.Basics」 – 「Blink」と選択していきます。これで、LEDを光らせるサンプルプログラムが開きます。
サンプルファイルを開いたら、ついでにコードも読んでみましょう。スケッチの例から呼び出すのではなく、自分で一から書いてみるとすばらしいです。
プログラムはProcessingという言語で書かれています。まあ、プログラミングなんて順次(上から順に実行)・反復(処理を繰り返す)・分岐(条件によって処理を変える)だけ分かればなんとかなるよ!
// Pin 13 はほとんどArduinoボードでLEDに接続されています。
// 名前を与えます:
int led = 13;
// setup ルーチンは reset ボタンを押したときに一度だけ実行されます:
void setup() {
// ピンをOUTPUT(出力先)として初期化します。
pinMode(led, OUTPUT);
}
// loop ルーチンは永遠に繰り返されます:
void loop() {
digitalWrite(led, HIGH); // LEDをONにします。(HIGH は電圧のレベル)
delay(1000); // 1000マイクロ秒(1秒)待機します。
digitalWrite(led, LOW); // 電圧を LOW にして、LEDをOFFにします。
delay(1000); // 1000マイクロ秒(1秒)待機します。
}
プログラムを書いたら、画面左上にある矢印アイコンをクリックして、プログラムをチップに書き込みます。

以上で作業は終了です。
ちゃんと書き込まれれば、ボード上にあるLEDが1秒ごとに明滅を繰り返すようになります。

と言う感じ

Arduinoは簡単すぎて拍子抜けしちゃうレベルです。でも、全然知らない人の初めの一歩としては始めやすくていいかもですね。これからちょこちょこいじって勉強していこうと思います。
Prototyping Lab 第2版 ―「作りながら考える」ためのArduino実践レシピ (Make: PROJECTS)
- メーカー:オライリージャパン
- カテゴリ:単行本(ソフトカバー)