Node-RED結合Arduino應用
步驟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