Arduino買ったのでRubyとDinoでLチカした

前回roomba-hack-01 準備編で必要な部品を揃えるときに、
ついでに注文していたArduino Microが先に届いたのでいじってみた。

Arduino Micro

Arduino Micro

PCとの接続は名前の通り(?)micro USBケーブル。
余ってるAndroidのケーブルとか使えて良い感じ。

どうやら最初から13 pinにLEDが接続されているみたい。
他のArduinoもだいたいそうらしい。

はじめてのArduino

Arduinoをはじめようを購入してセットアップ〜LEDを点滅させるまで | 9ensanのLifeHack

このページを参考にさせてもらってLEDをチカチカさせました。

RubyからArduinoコントロールしたい

これからJenkinsのXFDとか作るにあたって、どうせならRubyでコントロールしたいと思っていくつかライブラリを調べた。

library: funnel

最初に見つけたのがこれ。

funnel.cc | Software / Ruby

一度Arduino側に書き込んでしまえば、あとはRubyでやりたい放題らしい。

へー、と思ってgem i funnelとかやったら
"a realtime resource-centric application framework"な方のfunnel
がインストールされたorz

Downloads - funnel - A toolkit to sketch your idea physically - Google Project Hosting

↑ ここからダウンロードするのが正解だったみたい。

でもRequirementsにRuby 1.8.6とあったのでやめた。

gem: serialport

次に考えたのがこれ。

Arduino Playground - Ruby

にも

The SerialPort gem seems to do the job.

と書いてある。

そういえば以前友人もこのgemを使ってArduinoで遊んでた。

rubyとarduinoで、twitterのリプライをLED通知してみた - メモりメモる

でも結局Arduino側もプログラム書かないといけないのでもうちょっと他の方法を探した。

gem: Dino

最後に見つけたのがこれ。
(というか最初からArduinoの公式のRubyのところを確認しておくべきだった。)

2012年11月のRubyWorld Conference 2012で発表された、かなり新しいプロダクトらしい。
funnelと同じく一度Arduinoにバイナリを書き込んでしまえば、あとはRubyだけでいけるタイプ。

Arduino the Ruby way - Austin Vance - Ruby Conference 2012




DinoでLチカ

うん、こういうのを探してた :)

require 'dino'  # gem install dino

board = Dino::Board.new(Dino::TxRx.new)
led = Dino::Components::Led.new(pin: 13, board: board)

[:on, :off].cycle do |switch|
  led.send(switch)
  sleep 0.5
end

使ってみようと思った人は↓このチュートリアルが詳しくて良いかも。

Introducing Arduino & Dino - Jumpstart Lab Curriculum

つづく

ブレッドボードが手元になかったので今日はここまで。
早くセンサとかつないでいろいろ試したい