Johnny Five:從設備接收輸入
本文是 Johnny Five 系列的一部分。 請參閱第一篇文章。
在本文中,我將使用 Johnny Five 從電子設備獲取信息。
具體而言,我想使用水位傳感器來判斷咖啡的剩餘量,以便在程序設計師的工作中,當咖啡不足時能重新加滿杯子。
這是傳感器的圖片:
我們將連接一個小電路以獲取此數據,並使用 Johnny Five 將此數據傳送到我們的 Node.js 應用程序中。
該傳感器有 3 根引腳。一個是 GND(0V),一個是 VCC(5V),另一個是類比數據輸出。
將標記為 -
的引腳連接到 GND,+
連接到 5V,並將 S
連接到類比引腳 A0
。
這是電路圖:
現在,我們創建一個名為 sensor.js
的文件,內容如下:
1 | const { Board, Sensor } = require("johnny-five") |
每當通過傳感器傳來的數據變化時,我們將在控制台上看到打印出來:
我在 sensor
對象上使用了 on()
方法來監視所有更改。
這裡詳細介紹了所有方法,但我對 within()
方法特別感興趣,它允許我定義一個在特定範圍內的值變化時觸發的回調函數:
1 | const { Board, Sensor } = require("johnny-five") |
如果咖啡剩餘量快不夠時,該程序將多次打印“Refill your coffee!!”,因為傳感器變得更干燥,數據不斷變化。
因此,我們創建了一個 outOfCoffee
變量,用於防彈數據收集。
我們還宣布,在 70 以下表示咖啡不足,而在 150 以上表示咖啡充足:
1 | const { Board, Sensor } = require("johnny-five") |
完成了,現在如果我試圖將傳感器放入或取出咖啡杯中,我會得到一些更有用的警告:
tags: [“Johnny Five”, “Node.js”, “sensor”, “water level sensor”]