Switchを使ってみたい
結線の参照先
Switches and Arduino
ソースはDinoのサンプルから拝借
03_switch.rb
require "dino"
board = Dino::Board.new(Dino::TxRx.new)
button = Dino::Components::Button.new(pin: 2, board: board)
button.down do
puts "button down"
end
button.up do
puts "button up"
end
sleep
回路のことはよく解らないのだが、抵抗ってどんな役割をしているのだろうか。
Switchの状態をネットの向こうへ届けよう
面白いサンプルを発見した。
austinbv / dino_rails_example
- サーバに接続されているArduinoのLEDをブラウザから光らせる
- サーバのArduinoのスイッチを押すと、接続しているブラウザの背景が赤になる
という動きをするサンプルです。
最初の「LEDを光らせる」については、特定のURLにアクセスがあった場合、Arduinoへ信号を送ってLED光らせたり、消したりします。
もう一つの方についてはPusherというサービスを使って、サーバ側に接続されているArduinoのスイッチの状態をリアルタイムに配信するというものです。
スイッチの状態が変化したらサーバからPusherへ通知が行われ、Pusherから接続しているクライアントへサーバの状態が配信されるというもの。
Pusherの準備
- http://pusher.com/ でアカウント作成
- app_id, key, secretを入手
dino_rails_exampleの準備
- gitでソースをクローンする
/Users/yoshidayuuya/develop/dino% git clone https://github.com/austinbv/dino_rails_example.git
Cloning into 'dino_rails_example'...
remote: Counting objects: 41, done.
remote: Compressing objects: 100% (35/35), done.
remote: Total 41 (delta 0), reused 41 (delta 0)
Unpacking objects: 100% (41/41), done.
- 必要なところを修正する
- GemfilesでRailsの最新バージョンで作成したプロジェクトのGemfileを参考に修正