Johnny Five,如何與LCD屏幕配合工作

本文是Johnny Five系列文章的一部分。請參閱第一篇文章。 LCD屏幕是一個很酷的組件,因為我們可以用它在各種不同的創意項目中使用。 這個我拿到的是名叫1602A的。 它有16個引腳。我按照以下方式連接它: 引腳1連接到0V 引腳2連接到控制背光的電位器 引腳3連接到5V 引腳4連接到Arduino的引腳7 引腳5連接到0V 引腳6連接到Arduino的引腳8 引腳11連接到Arduino的引腳9 引腳12連接到Arduino的引腳10 引腳13連接到Arduino的引腳11 引腳14連接到Arduino的引腳12 引腳15連接到5V 引腳16連接到0V 電位器有3個腳。中間的腳連接到LCD屏幕,左邊的腳連接到0V,右邊的腳連接到5V。 接線就完成了。 創建一個新的lcd.js文件並載入以下代碼: const { Board, LCD } = require("johnny-five"); const board = new Board(); board.on("ready", function() {}); 現在從LCD類初始化一個新的LCD對象。 確切的初始化程序取決於所使用的顯示器的類型。在我的情況下,是這樣的: const lcd = new LCD({ pins: [7, 8, 9, 10, 11, 12] }); 最後,調用print()方法顯示一個字符串: const { Board, LCD } = require("johnny-five"); const board = new Board(); board.on("ready", function() { const lcd = new LCD({ pins: [7, 8, 9, 10, 11, 12] }); lcd....

Johnny Five,如何點亮一個LED

學習如何使用JavaScript與電子設備進行通訊 本文是Johnny Five系列的一部分。請先看第一篇文章。 首先創建一個文件夾並初始化npm: npm init -y 然後在本地安裝Johnny Five: npm install johnny-five 現在創建一個名為app.js的文件,內容如下: const { Board, Led } = require("johnny-five") const board = new Board() board.on("ready", () => { const led = new Led(13) led.blink() }) 這個程式通過調用new Board()來初始化一個新的開發板。 當開發板準備就緒時,board對象會觸發ready事件,我們可以在回調函數中執行我們的應用程序。 在這個簡單的例子中,我們通過初始化一個新的Led對象在引腳13上初始化一個新的LED,然後使其閃爍(不斷開關)。 Led對象和Board對象是Johnny Five庫提供的許多功能之一。 Arduino Uno開發板上的13號引腳是連接到內置LED的引腳。 現在運行node app.js來執行程序: 你應該可以看到LED不斷開關! 你也可以通過將負極引腳連接到GND(0V),將正極引腳連接到引腳13,以連接一個真實的LED: 注意我使用了一個電阻器來限制LED通過的電流量。 要停止運行程序,請按兩次ctrl-C:

Johnny Five:從設備接收輸入

本文是 Johnny Five 系列的一部分。 請參閱第一篇文章。 在本文中,我將使用 Johnny Five 從電子設備獲取信息。 具體而言,我想使用水位傳感器來判斷咖啡的剩餘量,以便在程序設計師的工作中,當咖啡不足時能重新加滿杯子。 這是傳感器的圖片: 我們將連接一個小電路以獲取此數據,並使用 Johnny Five 將此數據傳送到我們的 Node.js 應用程序中。 該傳感器有 3 根引腳。一個是 GND(0V),一個是 VCC(5V),另一個是類比數據輸出。 將標記為 - 的引腳連接到 GND,+ 連接到 5V,並將 S 連接到類比引腳 A0。 這是電路圖: 現在,我們創建一個名為 sensor.js 的文件,內容如下: const { Board, Sensor } = require("johnny-five") const board = new Board() board.on("ready", () => { const sensor = new Sensor("A0") sensor.on("change", function () { console.log(this.value) }) }) 每當通過傳感器傳來的數據變化時,我們將在控制台上看到打印出來: 我在 sensor 對象上使用了 on() 方法來監視所有更改。...