首頁 >web前端 >js教程 >使用arduino和node.js控制摩托車

使用arduino和node.js控制摩托車

Lisa Kudrow
Lisa Kudrow原創
2025-02-19 11:43:121033瀏覽

該教程演示了使用Arduino構建一個由Node.js控制的機器人。 我們將創建一個可從Web瀏覽器控制的簡單摩托車。 該項目利用JavaScript在機器人技術和物聯網中越來越受歡迎。

密鑰概念:

由Node.js提供支持的Nodebots&Arduino集成:由Node.js提供動力,提供與Arduino的強大組合,用於不同的應用程序,包括遊戲開發,機器人和IoT。
  • 硬件設置:硬件由Arduino,兩個電動機,一個L298電動機控制器和連接電纜組成。 至關重要的是,必須在Arduino上安裝StandardFirmata。
  • 服務器端(node.js):我們使用node.js,express.js,socket.io(用於實時通信)和johnny-five(基於Firmata的基於Firmata的Robotics Framework ) 。
  • 客戶端(瀏覽器):
  • 一個簡單的Web界面允許用戶控制電動機運動。 socket.io處理瀏覽器和服務器之間的實時通信。
  • >
  • 硬件:
兩個電動機

L298電動機控制器 > USB電纜將Arduino連接到計算機

  • >
  • 電動機選擇:
選擇適合預期負載的電動機。較高的電壓電動機可能需要外部電源。

Controlling a Motorbot Using Arduino and Node.js

> standardfirmata安裝:

Controlling a Motorbot Using Arduino and Node.js

下載Arduino IDE。

通過USB連接Arduino。 在IDE中,導航到

>。

> >將標準firmata代碼上傳到Arduino。

    >軟件設置:
  1. 創建一個
  2. 文件:
  3. File > Examples > Firmata > StandardFirmata
  4. run
  5. 安裝依賴項。

>服務器端代碼():

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn