Node-RED結合Arduino應用

張 家榮 Owen Chang 2020/12/03 09:22:02
4672

步驟1:到官網安裝Node.js

 

步驟2:安裝Node-RED,並啟動Node-RED

開啟命令提示字元,輸入指令安裝node-red,npm install -g --unsafe-perm node-red

輸入node-red,本機啟動Node-RED

輸入http://127.0.0.1:1880/

步驟4:到官網安裝Arduino IDE,並開啟Arduino IDE

使用範例 > Firmata > StandardFirmata

步驟5:安裝Arduino節點

命令提示字元進入node-red路徑下,輸入npm install node-red-node-arduino

安裝完畢後,便可看到arduino節點

步驟6:匯入範例Flow

https://nodered.org/docs/faq/interacting-with-arduino

Firmata > Blink

修改Pin: 13,選擇連結至Arduino的COM Port(COM3)

加入Arduino in節點,並修改type為"Analogue pin"

連結arduino

步驟7:安裝node-red-contrib-gpio節點

命令提示字元輸入npm install node-red-contrib-gpio

步驟8:加入gpio節點

將arduino in 跟 arduino out分別替換成gpio in 跟 gpio out,並且加入 gpio script

撰寫script

// 宣告led物件被設定為板子上的10腳
var led = new five.Led({ pin: 10, board: board });

// 宣告photoresistor物件被設定為板子上的類比A0腳,取樣頻率為300ms
photoresistor = new five.Sensor({ pin: 0, freq: 300, board: board });

photoresistor.on('data', function() {
   console.log(this.value)
   if (this.value > 200) {
       led.brightness(0);
   }
   else {
       led.brightness(201 - this.value);
   }
});

arduino連結LED,透過手靠近 > 遠離 > 靠近 > 遠離,控制LED明亮程度

並由node-red畫面觀看輸出值忽大忽小跳動

展示影片https://youtu.be/yDmn_kKHe7k

張 家榮 Owen Chang