今回はRubyのgemである「arduino_firmata」を使ってArduinoのLチカをやってみましたので、そのときの方法をご紹介したいと思います!
以下の順番で方法を説明していきたいと思います。
①Rubyのインストール
②Rubyのgem「arduino_firmata」をインストール
③ArduinoにFirmataのスケッチを書き込む
④RubyのファイルにLチカ用のソースを書く
⑤Lチカ用の回路を組む
⑥コマンドプロンプトでRubyのファイルを実行する
⑥エラーが発生したとき
Rubyのインストール
今回はRubyを使用してArduinoに指示を送信するので、以下のページからRubyのインストーラーをダウンロードし、インストールまで完了させます。
Rubyのgem「arduino_firmata」をインストール
Rubyのインストールが完了したら、Rubyのgemで「arduino_firmata」をインストールしておきます。
コマンドプロンプトを起動し、以下のコードを実行します。
1 |
gem install arduino_firmata |

インストールが完了したら、Listコマンドで「arduino_firmata」がインストールされたことを確認します。
1 |
gem List |

ArduinoにFirmataのスケッチを書き込む
次に、ArduinoのほうにはFirmataのスケッチを書き込んでおきます。
Arduino IDEを起動し、「ファイル」→「スケッチの例」→「Filmata」→「StandardFilmata」をクリックします。

Firmataのスケッチが表示されますので、それをそのままArduinoに書き込みます。

Arduino側で準備するものはこれだけです。
RubyのファイルにLチカ用のソースを書く
任意のフォルダに以下のソースが書かれたファイルを保存しておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
require "rubygems" require "arduino_firmata" arduino = ArduinoFirmata.connect "COM6" puts "firmata version #{arduino.version}" while true arduino.digital_write 13, true sleep 1 arduino.digital_write 13, false sleep 1 end |
Lチカ用の回路を組む
写真のような感じで一般的なLチカ用の回路を作成します。コードはArduinoの13とGNDに差し込んであります。上記のRubyのファイルでこの13にLチカの信号が送られるように記述しています。

コマンドプロンプトでRubyのファイルを実行する
ここまでできたら、いよいよRubyからArduinoに繋がっているLEDをチカチカさせてみたいと思います。
①コマンドプロンプトを起動し、Rubyのファイルがあるところまで移動しておきます。
②以下のコマンドを入力して実行します。
1 |
ruby Ltika.rb |

すると、Rubyのファイルに記述した通りにLEDをチカチカさせることができました!

エラーが発生したとき
以下のエラーが発生したときは、gemで「event_emitter」をインストールしてみてください。
1 |
gem install event_emitter |

以上、今回はRubyのgemである「arduino_firmata」を使ってArduinoのLチカを行ってみました!この方法を使えば毎回Arduino IDEを起動してソースを書き込まなくてよいので、開発が楽になりそうです!今後は他のことにも応用していきたいと思います!
コメントを残す