« 例のトイレサイトでTwitter Bootstrapを使いまくった話 | Main | 楽天で売れ筋のスイッチング・ハブを批評してみる »

2012.07.14

Arduinoで噴水をコントロールする

Webと連携する電子工作というのは数多くあるが、いわゆる光りモノが多い。そんな中、Webと連携して噴水が上がるようにしたら派手で面白いかな、と思った。

Arduino Uno
Arduino Uno
スイッチサイエンス 
売り上げランキング : 2318


Amazonで詳しく見る
by G-Tools

まず、噴水の部分。この部分は自作するより買ってきたほうが安い。

B001TCXLAO マーメイド300 噴水セット
タカショー 


by G-Tools

これがAC100Vで動くのだが、どうやって制御するか。秋月のソリッドステートリレーが、まさしくこういう用途に使えるらしい。

K00203

http://akizukidenshi.com/catalog/g/gK-00203/

こんな感じに、スイッチ付きコンセントのスイッチの部分に接続する。

2012-07-14 20.59.40

入力側にArduinoを繋ぎ、Arduinoで5秒間隔で13番ピンを光らせるような簡単なプログラムを走らせると、無事に5秒間隔で噴水が上がった!

Webと連携ということで、例のトイレサイトで、登録があるとDBに書き込むように作っている箇所を、DBとは別にファイルに適当な文字列を出力するよう改造し、PC(Windows)からは数秒おきにファイルの変更の有無をチェックするプログラムをRubyで書く。

で、そのRubyはWeb上のファイルの変更を検知したら、Arduinoにシリアル通信で文字列を送信。

Arduino側は、Rubyからシリアル通信で文字列を受信したら、ソリッドステートリレーの入力側に電流を出力し、噴水を制御する。

さらりと書いたが、Windows上のRubyからのシリアル通信が思うようにいかず苦労した。仕方がないのでC#でシリアル通信するプログラムを書き、Rubyからは

sh = WIN32OLE.new("WScript.Shell")
sh.Run("fountain.exe COM3 1")

と呼び出している。

今回、用意したプログラムのソースコードはこちら。

https://gist.github.com/3065089

動画はこちら。

Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ (Make:PROJECTS)
Prototyping Lab ―「作りながら考える」ためのArduino実践レシピ (Make:PROJECTS) 小林 茂

オライリージャパン  2010-05-27
売り上げランキング : 14058


Amazonで詳しく見る
by G-Tools

|

« 例のトイレサイトでTwitter Bootstrapを使いまくった話 | Main | 楽天で売れ筋のスイッチング・ハブを批評してみる »

Arduino」カテゴリの記事