2009.07.02
コレは使える!Arduinoで部屋の状況を自動つぶやき君@Twitter(前編)
『Arduinoとはハードウェア設計もソフトウェア設計もオープンソースでなんちゃらかんちゃら』という説明がよくされているけど、それよりは何ができるのかを知ってもらった方が Arduino の面白さが伝わるだろう。
今日の勉強会でウケたのは、
各種センサーから読み取った値をパソコン無しで Twitter につぶやきまくる!
こと。

(画像:標準的な Arduinoボード)
試しに「室温」と「部屋の明るさ」を Twitter に自動ポストするガジェット【つぶやき君】を制作してみた。
サーバ周辺に置いておけば異常に暑くなった時に「あち~」とつぶやいたり、みんな帰宅して真っ暗になったタイミングで「お疲れ!」とねぎらってくれたりする。
人体感知センサーを組み合わせれば侵入者を通知してくれるなんてことも可能だ。
けど、「つぶやく」だけで、怪しい人を捕まえることはしてくれないので要注意(笑
これを制作するのに要したのは、Hello World! に当たる LED の点灯からわずか数時間の試行錯誤だけ。
う~ん、最高! 2回に分けて、Arduinoに関して書いてみます。
前編は、Arduinoのご紹介。
後編は、上に書いた「つぶやき君」の作り方。
厳密な説明は長くなるので、ここでは乱暴に「Arduino = 各種チップなどが搭載されたマイコンボード」 と思って欲しい。
では、さっそくArduino全般の特徴を挙げていこう。
【特徴1】プログラムが動く!
パソコンで記述したコードをコンパイルしてアップしておけば、Arduino単体で実行できる。
しかも、PICとは違って以下の様な特徴を備えているのがステキ。
【特徴2】便利な開発環境、簡単な記述
PICマイコンを使ったことがある人なら、Arduinoプログラミングの簡単さに驚くだろう。
実質的に必要なのはパソコンだけ。あとは開発環境をネットで落としてきて、C言語そっくりなプログラムを書けば、実に色々なことができてしまう。
【特徴3】ライブラリが便利
Twitterへポストするプログラムが数時間で動いちゃうのは、便利なライブラリを公開している方々がいるおかげ。
この辺は、オープンソースの思想が流れている感じ。
DHCPでIPを取得して、Twitter APIへ投げるプログラムはサンプルをそのまま使えば完成です。
【特徴4】拡張ボードも色々
標準的な Arduinoボード には、USBポートが付いていてこれでパソコンと通信する。
それ以外に、LANをつなげるボードや、試してないけど Bluetooth が使えるボードなどもあるらしい。
こうした拡張性も Arduino の魅力。
次いで、Arduinoボードのご紹介。
今回は最も標準的と言われている「Arduino Duemilanove」を想定としたお話。
プログラマにとってみると「へ~」「ほ~」と思う内容なのでは?
【特徴1】デジタル入出力
「スイッチなどが押されている」「センサーに反応あり」こうした入力がプログラムの変数に入ってくると思えばOK。
例えば、switch_on という変数を使って if( switch_on ){…} といった感じでロジックを書ける。
出力もほぼ同様で、出力するピンを ON すると電圧が上がって、例えば LED を点灯させたりできる。
【特徴2】アナログ入出力
デジタル(0か1か)だけではなく、アナログの値も取得可能だ。
例えば明るさを感知するセンサの場合、0~1023までの値が取得できたりするので単純な ON/OFF だけではなく「ちょっとだけ明るい」なんてことがわかる。
【特徴3】単独で動く
開発はパソコンとつないで行うけど、一度プログラムをボードにアップしてしまえば後は単体だけで動作してしまう。
但し、電源供給は必要。
今回作成した「つぶやき君」は電源とLANケーブルを挿してあるだけで、単体で動いてます。
ではでは、次回で実際に「室温」と「部屋の明るさ」を取得して、Twitterにポストする Arduinoプログラム を紹介しよう♪
Arduinoを始めるならこれがお勧め♪
Arduinoをはじめようキット
Trackback URL
Comment & Trackback
Comment feed
Comment