該教程演示了使用Arduino構建一個由Node.js控制的機器人。 我們將創建一個可從Web瀏覽器控制的簡單摩托車。 該項目利用JavaScript在機器人技術和物聯網中越來越受歡迎。
密鑰概念:
由Node.js提供支持的Nodebots&Arduino集成:由Node.js提供動力,提供與Arduino的強大組合,用於不同的應用程序,包括遊戲開發,機器人和IoT。L298電動機控制器 > USB電纜將Arduino連接到計算機
通過USB連接Arduino。 在IDE中,導航到
>。> >將標準firmata代碼上傳到Arduino。
File > Examples > Firmata > StandardFirmata
>服務器端代碼():
package.json
客戶端代碼(
<code class="language-json">{ "name": "nodebot-sample", "dependencies": { "express": "^4.11.2", "johnny-five": "^0.8.53", "socket.io": "^1.3.3" } }</code>):
npm install
>
:
index.js
<code class="language-javascript">var express = require('express'); var app = express(); var io = require('socket.io')(app.listen(8081)); var five = require('johnny-five'); app.use(express.static(__dirname + '/app')); app.get('/', function (res) { res.sendfile('/index.html'); }); var board = new five.Board({ repl: false }); board.on('ready', function () { var speed, commands, motors; motors = { a: new five.Motor([3, 12]), b: new five.Motor([11, 13]) }; io.on('connection', function (socket) { socket.on('stop', function () { motors.a.stop(); motors.b.stop(); }); socket.on('start', function () { speed = 255; motors.a.fwd(speed); motors.b.fwd(speed); }); socket.on('reverse', function () { speed = 120; motors.a.rev(speed); motors.b.rev(speed); }); socket.on('left', function () { motors.a.fwd(220); motors.b.rev(50); }); socket.on('right', function () { motors.a.rev(50); motors.b.fwd(220); }); }); });</code>
>運行app/index.html
啟動服務器。訪問控制界面的app.js
>。 如果板未識別,請記住解決連接問題。 此示例演示了基本原理;這個基礎可以實現更複雜的互動。 完整的源代碼可在GitHub上找到(如果提供的話,將在此處插入鏈接)。
以上是使用arduino和node.js控制摩托車的詳細內容。更多資訊請關注PHP中文網其他相關文章!