« テレビの取材がやってきました | コレは使える!Arduinoで部屋の状況を自動つぶやき君@Twitter(後編) »

2009.07.02

コレは使える!Arduinoで部屋の状況を自動つぶやき君@Twitter(前編)

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをnewsingに追加

『Arduinoとはハードウェア設計もソフトウェア設計もオープンソースでなんちゃらかんちゃら』という説明がよくされているけど、それよりは何ができるのかを知ってもらった方が Arduino の面白さが伝わるだろう。

今日の勉強会でウケたのは、

 各種センサーから読み取った値をパソコン無しで Twitter につぶやきまくる!

こと。

arduino
(画像:標準的な 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

No comments.

Comment feed

Comment





XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>