littleBitsのArduinoモジュールにFirmataをインストールしてNode-REDのArduinoノードで制御するメモ

前回のjohnnyfiveの記事でFirmataでの制御が楽しくなり、情報を追っていたところ、Node-REDでのArduinoノードでも同様のFirmata制御だったので試してみたメモです。

まずlittleBitsのArduinoにFirmataインストール

littlebits-nodered-firmata-meetup_1

Node-RED : Arduinoを見るとFirmataで書き込んだArduinoであればArduinoノードで制御可能という風に書いてあります。

こちらの記事のようにFirmataをインストールします。

littlebits-nodered-firmata-meetup_2

Node-REDにArduinoノードをインストール

今回はRaspberryPiにNode-REDが入っている状態でご説明します。

まず、ユーザーフォルダからNode-REDの設定フォルダに行きます。

cd ~/.node-red

Arduinoノードをインストールします。

npm install node-red-node-arduino

littlebits-nodered-firmata-meetup_3

Node-REDを起動するとArduinoノードがインストールされています。これで準備完了です。

アナログ値出力制御をしてみる

littlebits-nodered-firmata-meetup_4

早速、Arduinoノードの出力でアナログ値を制御してみましょう。

littlebits-nodered-firmata-meetup_5

このように配置します。

設定は以下のようにしています。

littlebits-nodered-firmata-meetup_6

内部の設定は以上のようにしています。

littlebits-nodered-firmata-meetup_7

ポートは鉛筆ボタンから編集して、虫眼鏡ボタンから検索が可能です。

littlebits-nodered-firmata-meetup_8

今回はこのようにInjectノードでアナログ値 0~255 を0、127(50%)、255(100%)で上から2番目の5番ポートに値を渡すようにします。

127→255→0→127→255と押すと以下のように変化します。

Arduinoノード入力側

もちろんlittleBitsの入力も取得できます。

littlebits-nodered-firmata-meetup_9

littlebits-nodered-firmata-meetup_10

ツマミを回すことでアナログ値を取ります。

littlebits-nodered-firmata-meetup_11

littlebits-nodered-firmata-meetup_12

Arduinoノード入力側の設定です。上から2番目はA0ポートですが、TypeをAnalogue pinに指定してPinは0を指定すればA0ポートが指定可能です。

littlebits-nodered-firmata-meetup_13

このようにノードを組んで値をデバッグ出力してみると、

littlebits-nodered-firmata-meetup_14

右のデバッグウィンドウで確認が可能です。

おわりに

このようにNode-REDのArduinoノードでFiramataな制御ができると、

littlebits-nodered-firmata-meetup_15

littlebits-nodered-firmata-meetup_16

先日お伝えしたNodeJSのjohnny-fiveのみならずFirmataで汎用的にするとアナログ値やデジタル値が手軽に入出力でき、しかも、Node-REDによってすぐにデータ蓄積に回すことが可能なので、プロトタイプが作りやすくなりますね。

それでは、よきlittleBits & Node-RED & Firmata Lifeを。