オープンソースハードウェアセミナーvol.1 ~今日からはじめるArduino~に参加する
5/11(月)、最近(?)流行のオープンソースハードウェア「Arduino」のセミナーに参加してきた。主催は電子部品の通販サイト「チップワンストップ」、司会進行は(株)Cerevoの岩佐さんと鈴木さん。会場は渋谷の「ティーズサロン」というレンタルスペースだった。
Arduinoとは?
正式名称と読み方
Arduino Duemilanove
あるでゅいーのー でゅえみーらのーべ(ん)
→後半は「2009年バージョン」という意味らしい
発音はこんな感じ
なにをするもの?
→Physical Computingするためのデバイスと開発環境
Physical Computingとは?
→リアルの世界とコンピュータの世界をつなげる
トイレに入ったらフタが開く
2chで祭りが発生するとパトランプが回る
Arduinoってハヤりもの?
→2年ほど前から流行中
簡単、安価
→電子工作の入り口の面倒さをスキップしてPhysical Computingをはじめられる
ハードが簡単
→マイコンとI/0、USBインタフェースがオンボード
ソフトが簡単
→IDEで簡単開発、DHCPやtwitterクライアント(!)などライブラリも充実
拡張性が高い
「シールド」という拡張ボードがある
→ピンヘッダで重ねるだけ
イーサネット
無線(ZigBee)
モータ制御
オープンソース(ソフトもハードも)
→名前には商標権があるので勝手には使えない
Arduion以外のオープンソースハードウェア
→チップベンダが参考実装として公開してたりする
→携帯電話以上のスペックのものも(600MHz~1GHz、OpenGL、フルHDデコード)
Gainer
BasicStamp
Make:Contoroller
IO Bridge
BeagleBoard
OpenMoko
SheevaPlug
BugLab
Demo
2ch実況板連動TV
2ch実況板で盛り上がってるチャンネルを見る
→ネットの現象をリアルの世界に持ち込む
材料
Arduino
イーサネットシールド
赤外線LED
しくみ
- 実況板「勢い」計測サイトのRSSフィード
→既存サイト
- webアプリで取得、Arduino向けに加工
→GAE上に構築
- Arduinoでレスポンスを取得、IRで地デジチューナを制御
→赤外線LED
IR制御
リモコンをティアダウンしてLEDにオシロスコープ接続
→最近オシロは3万円台からある
波形を観察
→ArduinoのGPIO(汎用I/Oポート)で制御できそうなことがわかった
赤外線LEDは1個¥30円くらいから
ネット連携
Arduinoでレスポンスをパーズするのはそこそこ面倒
→HTTP/1.0でリクエストすることで「最終byteが欲しい情報」と限定
DHCPで簡単ネット接続
→DHCPライブラリ ver 0.4で問題なく動作
Arduinoの制御
Processingベースの親しみやすいSyntax
ハードウェアの初期化とか2行で終了
→ホストとの通信速度、I/Oのモード設定
レスポンスを1byteずつリード
→イーサネットシールド用ライブラリで簡単
3分間Cook^H^Hdeing
およそ3分間でなにか動くものを作ってみよう
Arduinoのボタンを押すとtwitterにPOST
→「連動TV」の逆、リアルの現象をネットの世界に持ち込む
材料
Arduino
イーサネットシールド
twitterアカウント
しくみ
- twitterライブラリをいきなり使う
→twitterのIDとパスワード、IPアドレス/Gateway/Subnetマスクを指定
- setup()メソッドにPOST処理を記述
→Arduinoのボタン(リセットボタン)を押すと一度だけ実行される
- 追加機能:1分後に別のメッセージをPOSTしてみよう
→loop()メソッドに計時とPOSTのコードを書くだけ
Q:日本語のPOSTは?
A:UTF-8でいけるはず(→いけた)
こんなネタがおもしろい
Cerevo社内で「どんなデモが面白いだろう?」と検討してみた
おきったー
目覚まし時計のスヌーズボタンを押す
→「スヌーズ押した。俺はまだ寝ている」
アラームを完全にOFFにした
→「アラーム止めた。俺は起きた…たぶん」
目覚ましテレビ
あらかじめwebアプリに時刻とチャンネルを登録しておく
指定時刻にテレビのスイッチON
→IR制御
起きないと一定時間ごとに音量UP
→起きて止めないと大変なことに
Q:時計モジュールを搭載するの?
イーサネットシールド経由でサーバに問い合わせ
→時刻による制御は可能
通信したくない場合はRTC(Real Time Clock)を搭載
→消費電力が心配なので普通はRTCがArduinoをwake upするように作る
物理的なスイッチで制御
→アナログの目覚まし時計などと連動
かえったー
自宅のドアの開閉を感知
→「帰宅ったー」とPOST
※セキュリティ的な問題はおいといて
すわったー
人感センサで着席 / 離席を検知
PCの前に座ったら「すわったー」とPOST
→PCを立ち上げるより早く
チップワンストップからのお知らせ
Arduino モニタプログラム
Arduino Duemilanoveをモニタ利用
→条件を満たせばくれる
Arduinoについての記事を最低1エントリ
モニタプログラム専用バナーを貼る
パーツの通販サイト
各種電子部品を1個から通販
5,000円以上購入
→送料無料
5,000円未満
→送料450円
会員登録が必要
→無料
プリント基板の製作
製造
実装
オンライン見積機能あり
質疑応答
Q:開発環境は?
Linux / Windows / Macintosh
USBによる仮想シリアルポート接続(Windowsの場合)
ProcessingベースのIDE
AVR-GCC
Q:Arduinoとの組み合わせでお勧めのパーツは?
CDSセル
→明るさセンサ
焦電型赤外線センサ
→人感センサ
赤外線LED
→リモコンで家電制御
加速度センサ
→傾き
地磁気センサ
→電子コンパス
位置情報系(GPS)
気圧計
重量センサ
→体重計
湿度センサ
フォトカプラ
色センサ
→CMOSセンサのシンプル版、みたいなの
フルカラーLED
→ふわふわグラデーションで光らせるとPhysical Computingっぽい
「センサ」で検索すると愉快な工作例がみつかる
→趣味の電子工作では複雑な制御回路が不要なセンサを使ってることが多い
Q:Arduinoを製品として納入することはある?
モノをそのまま納品することはない
→保証がないから
同等の回路でクローンを作り保証をつけて納品することはある
感想など
Gainerももちろん面白いのだが、Arduinoはプログラムをアップロードすると単体で動く、というのが強み。
拡張シールドでイーサネットが簡単に使えるので応用範囲が広そう。
Cerevoのおふたりが本当に楽しそうにデモ / プレゼンをしていた。
当初モニタプログラム参加者にはその場でArduinoを配る予定だった。
→参加者多数につき後日メールで、とのことだったがその日の深夜にもう来た
イーサネットシールドは買わないとな。さて何を作ろう!
●オープンソースハードウェアセミナーvol.1 ~今日からはじめるArduino~
http://www.chip1stop.com/knowledge/Arduino/index.cfm
●電子部品・半導体の通販サイト – チップワンストップ | 小口販売