Arduino 資料一覧
2017/04/23更新
対応バージョン: ruby 2.3.1, arduino_firmata 2.3
RubyでArduinoをコントロールするにはarduino_firmataというgemを使えば簡単である。
ここではサンプルとしてLチカをやってみる。
Rubyを動かす母艦はUbuntu 16.04とする。
Firmata書き込み
arduino_firmataはFirmataプロトコルを使ってArduinoと通信するので最初にFirmataのプログラムをArduinoに書き込んでおく。
この手順は以下の資料に示してあるので割愛する(Arduino IDEを使うかgortコマンドにて書き込む)。
関連資料・記事
[Arduino] Node.jsのJohnny-Fiveフレームワークを使ってArduino UnoでLチカ
[Arduino] ArduinoをNode.jsで操作する準備としてArduinoにFirmataプログラムを書き込む際にArduino IDEを使わずコマンドラインで実行する方法(GORT)
arduino_firmataインストール
次にarduino_firmataをインストールする。arduino_firmataはgemを使って簡単にインストールできる。
% sudo gem install arduino_firmata
結線
Lチカ用にこのような簡単な結線を行う。
アノード側には330Ωの抵抗を挟む。
arduino_firmata動作確認(Lチカ)
以下のようなコードを書いて実行すれば簡単にLチカができ、その他にもArduinoの様々な操作ができる。
尚、ArduinoFirmata.connectで接続するポートは環境によって異なるので使用している環境に合わせて指定する。
led.rb
require "rubygems" require "arduino_firmata" arduino = ArduinoFirmata.connect "/dev/ttyACM0" puts "firmata version #{arduino.version}" while true arduino.digital_write 13, true sleep 1 arduino.digital_write 13, false sleep 1 end
実行
% ruby led.rb firmata version 2.3
関連資料・記事
参考サイト
Arduino (Wikipedia)
Arduino技術情報 (Qiita)
Arduino関連情報 (Device Plus)
Arduino記事一覧 (Think IT)
Firmataプロトコル概要 (Ver 2.3) (hiroeorz@GitHub)
エレクトロニクス豆知識 (ROHM)