91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用Python控制Arduino開(kāi)發(fā)板

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-28 17:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Arduino板是進(jìn)入程序員的硬件黑客體系的最簡(jiǎn)單方法之一。那里有大量的初學(xué)者項(xiàng)目,幾乎適合具有編程背景的任何人。即便如此,對(duì)于那些時(shí)間較短的人來(lái)說(shuō),入門(mén)似乎也令人生畏。

學(xué)習(xí)一門(mén)全新的語(yǔ)言來(lái)嘗試微控制器似乎是一項(xiàng)艱巨的工作。如果您想以您已經(jīng)熟悉的程序語(yǔ)言開(kāi)始嘗試自制的電子產(chǎn)品怎么辦?好消息:您可以!

我們已經(jīng)向您展示了如何使用Python控制Arduino開(kāi)發(fā)板,今天我們將向您展示如何使用JavaScript進(jìn)行操作。今天,我們不僅使用最基本的LED閃爍教程,還使用Johnny-Five框架通過(guò)計(jì)算機(jī)鍵盤(pán)來(lái)控制伺服器,這些鍵盤(pán)均使用JavaScript編程。

硬件列表

對(duì)于該項(xiàng)目將需要:

Arduino Uno(或兼容板):官方商店的價(jià)格為22美元,盡管您可以更便宜地購(gòu)買(mǎi)它們,克隆板在AliExpress上的價(jià)格僅為3.20美元。 li》

業(yè)余愛(ài)好伺服器:任何一家業(yè)余愛(ài)好商店兼容Arduino的伺服器都可以,我使用的是速賣(mài)通提供的$ 1.60伺服器。

幾根連接線

USB電纜:用于將Arduino連接到計(jì)算機(jī)

今天的教程將使用Arduino Uno板。我們將在本項(xiàng)目稍后使用的Johnny-Five框架支持大多數(shù)與Arduino兼容的微控制器,盡管您的電路板將需要具有PWM功能才能使伺服器滿意。

電路設(shè)置

將伺服器這樣連接到Arduino:

簡(jiǎn)而言之,VCC線( RED )連接到5v引腳Arduino的GND線( BLACK 或 BROWN )連接到Arduino的GND引腳和Pulse線( Yellow 或橙色)連接到Arduino的引腳10。請(qǐng)注意,雖然您不必將其專(zhuān)門(mén)連接到引腳10,但必須將其連接到PWM引腳,通常用?表示。

仔細(xì)檢查您沒(méi)有混用上所有電線,然后將Arduino連接到您的計(jì)算機(jī)。我們將為此項(xiàng)目使用Windows 10。該項(xiàng)目的所有元素也都適用于Mac和Linux,盡管某些安裝說(shuō)明可能略有不同。

如果尚未安裝,請(qǐng)下載Arduino IDE并選擇您的 Board 和端口從工具菜單中。如果這是您第一次這樣做,而且有點(diǎn)神秘,那么我們的Arduino初學(xué)者指南可以幫助您完成這些步驟。

連接好后,將 StandardFirmataPlus 示例草圖上傳到板上。您可以在示例》固件》 StandardFirmataPlus 下的文件菜單中找到此草圖。您根本不需要修改草圖,它實(shí)際上只是將Arduino設(shè)置為等待外部指令,稍后我們將為您提供這些指令。

帶有Johnny-Five的JavaScript機(jī)器人技術(shù)

我們將使用Javascript控制Arduino的框架稱(chēng)為Johnny-Five。毫不奇怪,考慮到電影的名字,該項(xiàng)目適合與機(jī)器人技術(shù)合作。

《圖id =“ attachment_731830” aria- describeby =“ caption-attachment-731830” class =“ wp-caption aligncenter”》

圖片來(lái)源:johnny-five.io

要安裝Johnny-Five,我們必須首先安裝Node.js。您可以從Node.js網(wǎng)站下載其最新版本。我們使用的是推薦的發(fā)行版,在撰寫(xiě)本文時(shí)為 8.9.4 LTS 。

打開(kāi) .msi 文件并按照安裝說(shuō)明進(jìn)行操作,確保將其添加到您的 PATH 中。當(dāng)前的Node.js安裝程序?qū)ATH作為標(biāo)準(zhǔn)添加,盡管值得在安裝過(guò)程中進(jìn)行檢查,因?yàn)檫@是下一步所需的操作。

安裝完成后,我們將可以從Windows命令行(CMD)訪問(wèn) Node Package Manager (NPM)軟件包管理器。點(diǎn)擊開(kāi)始,然后輸入CMD。在繼續(xù)之前,我們需要初始化NPM以防止可能的安裝錯(cuò)誤。不需要任何專(zhuān)業(yè)知識(shí),只需鍵入:

npm init

按照屏幕上的提示進(jìn)行操作。對(duì)于今天的項(xiàng)目,您無(wú)需進(jìn)行任何更改,只需按Enter直到返回命令提示符,然后鍵入:

npm install johnny-five

這將安裝所有重要的軟件包,其中將與我們的Arduino交談。要使該項(xiàng)目正常工作,我們還需要另外一件事,那就是 Keypress 軟件包,該軟件包將允許我們從鍵盤(pán)上讀取擊鍵。

通過(guò)輸入以下內(nèi)容進(jìn)行安裝:

npm install keypress

一旦安裝了所有這些軟件包,我們就可以編寫(xiě)代碼!

如果在安裝過(guò)程中遇到任何問(wèn)題,請(qǐng)嘗試運(yùn)行johnny-five 之后再次安裝??赡苤皇沁@里使用的NPM版本的一個(gè)古怪之處,但是現(xiàn)在這樣做可以防止您以后像我一樣遇到問(wèn)題。

代碼

我們將使用今天約翰尼五公司文檔中提供的一部分示例代碼,該代碼允許使用鍵盤(pán)上的箭頭鍵控制我們的伺服系統(tǒng)。完整的代碼可在johnny-five.io上找到,但是我們將在這里詳細(xì)介紹它,以完全理解它的工作原理

我們現(xiàn)在使用Eclipse IDE進(jìn)行編碼,盡管您可以使用任何IDE

創(chuàng)建一個(gè)新文件并將其命名為test.js,并將其保存在以后可以從命令行輕松訪問(wèn)的位置。該腳本首先為所需的庫(kù)創(chuàng)建變量,并初始化 Keypress 庫(kù)以偵聽(tīng)傳入的數(shù)據(jù),然后調(diào)用 Board()方法來(lái)設(shè)置板。/p》 var five = require(“johnny-five”);

var keypress = require(“keypress”);

keypress(process.stdin);

var board = new five.Board();

請(qǐng)注意,此處的板卡設(shè)置是自動(dòng)的,無(wú)需指定端口。如果您有特定的端口設(shè)置,或者在自動(dòng)檢測(cè)方面沒(méi)有運(yùn)氣,則可能需要明確指定端口。

下一步,我們要“喚醒”主板并進(jìn)行設(shè)置用于伺服控制。調(diào)用 board.on 會(huì)一直等到Arduino引腳準(zhǔn)備就緒后再繼續(xù)。約翰尼-五圖書(shū)館支持內(nèi)置的伺服器,我們?cè)谝_10上調(diào)用 Servo.Continuous(10)以允許直接控制。

board.on(“ready”, function() {

console.log(“Use Up and Down arrows for CW and CCW respectively. Space to stop.”);

var servo = new five.Servo.Continuous(10);

process.stdin.resume();

process.stdin.setEncoding(“utf8”);

process.stdin.setRawMode(true);

process.stdin 調(diào)用可確保我們從鍵盤(pán)接收的所有數(shù)據(jù)將在下一個(gè)代碼塊中可用?,F(xiàn)在,我們要“監(jiān)聽(tīng)”按鍵,并使用它們來(lái)順時(shí)針(CW),逆時(shí)針(CCW)移動(dòng)伺服器或停止其軌跡。

process.stdin.on(“keypress”, function(ch, key) {

if (!key) { // if no key is pressed, return i.e do nothing.

return;

}

if (key.name === “q”) {

console.log(“Quitting”);

process.exit();

} else if (key.name === “up”) {

console.log(“CW”);

servo.cw();

} else if (key.name === “down”) {

console.log(“CCW”);

servo.ccw();

} else if (key.name === “space”) {

console.log(“Stopping”);

servo.stop();

}

});

});

制作確保在此處底部包括所有右方括號(hào),如果遇到任何錯(cuò)誤,請(qǐng)參考上面鏈接的整個(gè)代碼塊。保存此腳本,然后打開(kāi)命令提示符。

揮動(dòng)您好!

現(xiàn)在導(dǎo)航至保存腳本的目錄,然后鍵入以下內(nèi)容以運(yùn)行該腳本:

node test.js

在給您代碼中說(shuō)明的指示之前,程序應(yīng)立即使用有關(guān)主板的信息啟動(dòng)。嘗試按上下箭頭鍵,空格鍵和 Q 退出。屏幕應(yīng)該看起來(lái)像這樣:

一切都很好,伺服器應(yīng)該隨著您的擊鍵跳動(dòng)!看看那小小的野獸浪!

卑微的起頭

盡管承擔(dān)的項(xiàng)目比通常的初學(xué)者閃爍的LED稍大一些在教程中,我們幾乎沒(méi)有涉及到Arduino開(kāi)發(fā)板和類(lèi)似微控制器可以完成的全部工作。

經(jīng)驗(yàn)豐富的JavaScript用戶應(yīng)該可以直觀地使用Johnny-Five軟件包。該庫(kù)也可以本地安裝在Raspberry Pi上,使其成為萌芽的機(jī)器人制造商的理想軟件包。

該庫(kù)的優(yōu)點(diǎn)在于,盡管它是為機(jī)器人而設(shè)計(jì)的,但輸入和輸出相同數(shù)據(jù)可用于創(chuàng)建DIY智能家居設(shè)置,甚至是家庭自制的安全系統(tǒng)。

通過(guò)這種方式與微控制器進(jìn)行通訊,是DIY硬件世界的絕佳入門(mén),而無(wú)需花費(fèi)時(shí)間來(lái)學(xué)習(xí)全新的編程語(yǔ)言。在這里玩得開(kāi)心,如果您碰巧要建造一個(gè)殺手級(jí)機(jī)器人,請(qǐng)記住我們?cè)谠缙谌绾螢槟峁椭?br /> 責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4877

    瀏覽量

    90078
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

    196976
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Arduino UNO Q開(kāi)發(fā)板部署OpenClaw開(kāi)源AI智能體

    近期 OpenClaw 邊緣 AI 火遍開(kāi)發(fā)者社區(qū),百元開(kāi)發(fā)板跑 AI 智能體的演示讓無(wú)數(shù)技術(shù)愛(ài)好者沸騰!想低成本上手這款開(kāi)源 AI 智能體,實(shí)現(xiàn)本地語(yǔ)音控制、環(huán)境感知等實(shí)操功能,卻苦于找不到適配性強(qiáng)、易部署、性價(jià)比高的
    的頭像 發(fā)表于 03-09 10:03 ?468次閱讀

    MCU 開(kāi)發(fā)板大比拼:STM32、ESP32、Arduino、樹(shù)莓派誰(shuí)更強(qiáng)?

    嵌入式開(kāi)發(fā)板琳瑯滿目,STM32、ESP32、Arduino、RaspberryPi各有特色。新手容易糾結(jié):到底哪塊適合我的項(xiàng)目?本文整理了一份開(kāi)發(fā)板對(duì)比速查表,幫你快速理清思路。一
    的頭像 發(fā)表于 01-09 19:03 ?904次閱讀
    MCU <b class='flag-5'>開(kāi)發(fā)板</b>大比拼:STM32、ESP32、<b class='flag-5'>Arduino</b>、樹(shù)莓派誰(shuí)更強(qiáng)?

    STM32 Nucleo-144開(kāi)發(fā)板技術(shù)解析與應(yīng)用指南

    。 STMicroelectronics開(kāi)發(fā)板支持多種連接選項(xiàng),包括Arduino、ST Zio和Morpho,同時(shí)集成了開(kāi)關(guān)模式電源(SMPS),可實(shí)現(xiàn)高效的電源管理。該非常適合用于測(cè)試不同的性能和功耗配置,因此成為探索想
    的頭像 發(fā)表于 10-17 14:40 ?1173次閱讀
    STM32 Nucleo-144<b class='flag-5'>開(kāi)發(fā)板</b>技術(shù)解析與應(yīng)用指南

    ?STM32 Nucleo-64開(kāi)發(fā)板技術(shù)解析與應(yīng)用指南

    STMicroelectronics -C051C8 STM32 Nucleo-64開(kāi)發(fā)板通過(guò)由STM32微控制器為概念測(cè)試和原型創(chuàng)建提供了一種經(jīng)濟(jì)實(shí)惠且靈活的途徑。該開(kāi)發(fā)板支持ARDUINO
    的頭像 發(fā)表于 10-16 10:50 ?754次閱讀
    ?STM32 Nucleo-64<b class='flag-5'>開(kāi)發(fā)板</b>技術(shù)解析與應(yīng)用指南

    ?PIC32CZ CA70 Curiosity Ultra開(kāi)發(fā)板用戶指南總結(jié)

    控制器 (MCU)。該開(kāi)發(fā)板集成編程器或調(diào)試器,無(wú)需額外硬件。PIC32CZ CA70開(kāi)發(fā)板配備Arduino Uno R3兼容接口和Xplained Pro擴(kuò)展兼容接口。此
    的頭像 發(fā)表于 09-28 14:43 ?897次閱讀
    ?PIC32CZ CA70 Curiosity Ultra<b class='flag-5'>開(kāi)發(fā)板</b>用戶指南總結(jié)

    【精選資料】開(kāi)發(fā)板測(cè)評(píng)大賽作品合集!

    電子發(fā)燒友攜手16家生態(tài)廠商發(fā)起開(kāi)發(fā)板測(cè)評(píng)大賽,設(shè)OpenHarmony、RISC-V、Rockchip三大賽道,共計(jì)21款、160+塊開(kāi)發(fā)板,通過(guò)評(píng)測(cè)開(kāi)發(fā)板性能、易用性及創(chuàng)新場(chǎng)景,促進(jìn)技術(shù)共享、加速產(chǎn)品迭代、激發(fā)行業(yè)創(chuàng)造力,賦
    的頭像 發(fā)表于 09-23 08:09 ?1148次閱讀
    【精選資料】<b class='flag-5'>開(kāi)發(fā)板</b>測(cè)評(píng)大賽作品合集!

    RK3506開(kāi)發(fā)板Linux開(kāi)發(fā)板極致性價(jià)比之選

    RK3506開(kāi)發(fā)板Linux開(kāi)發(fā)板極致性價(jià)比之選瑞芯微RK3506開(kāi)發(fā)板,3核Cortex-A7@1.5GHz+Cortex-M0,Linux+RT-Thread系統(tǒng)支持,128MB超大
    的頭像 發(fā)表于 09-11 16:26 ?3482次閱讀
    RK3506<b class='flag-5'>開(kāi)發(fā)板</b>Linux<b class='flag-5'>開(kāi)發(fā)板</b>極致性價(jià)比之選

    CW32L011電機(jī)驅(qū)動(dòng)控制開(kāi)發(fā)板-軟件

    CW32L011電機(jī)驅(qū)動(dòng)控制開(kāi)發(fā)板-軟件分析 銜接上一個(gè)硬件
    的頭像 發(fā)表于 08-13 10:44 ?962次閱讀
    CW32L011電機(jī)驅(qū)動(dòng)<b class='flag-5'>控制</b><b class='flag-5'>開(kāi)發(fā)板</b>-軟件

    CW32L011電機(jī)驅(qū)動(dòng)電機(jī)控制開(kāi)發(fā)板-硬件1

    CW32L011電機(jī)驅(qū)動(dòng)電機(jī)控制開(kāi)發(fā)板-硬件介紹 后面有軟件分析
    的頭像 發(fā)表于 08-12 14:20 ?4153次閱讀
    CW32L011電機(jī)驅(qū)動(dòng)電機(jī)<b class='flag-5'>控制</b><b class='flag-5'>開(kāi)發(fā)板</b>-硬件1

    如何用Arduino Nano/UNO R3開(kāi)發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3開(kāi)發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開(kāi)發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino
    的頭像 發(fā)表于 08-08 20:16 ?3602次閱讀
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>開(kāi)發(fā)板</b>給另一個(gè)<b class='flag-5'>Arduino</b> IDE不能下載的<b class='flag-5'>Arduino</b> Nano/UNO R3<b class='flag-5'>開(kāi)發(fā)板</b>重新燒錄引導(dǎo)程序bootlaoder

    ESP32開(kāi)發(fā)板元件資料

    ESP32開(kāi)發(fā)板元件
    發(fā)表于 07-21 14:47 ?15次下載

    【Milk-V Duo S 開(kāi)發(fā)板免費(fèi)體驗(yàn)】Milk-V DuoS之使用Arduino開(kāi)發(fā)小核

    的 Linux 系統(tǒng)也是正常運(yùn)行的。 另外,Duo 系列開(kāi)發(fā)板已經(jīng)支持可視化編程軟件 VISUINO 安裝及配置Arduino開(kāi)發(fā)環(huán)境 下載Arduino IDE 下載最新版的
    發(fā)表于 07-17 21:01

    【BPI-CanMV-K230D-Zero開(kāi)發(fā)板體驗(yàn)】+燈效控制Python編程

    ,在學(xué)習(xí)Python編程的基礎(chǔ)上通過(guò)GPIO來(lái)實(shí)現(xiàn)LED燈的控制。 在開(kāi)發(fā)板上,僅有的2個(gè)可供GPIO控制的器件是RGB_LED和按鍵,其中RGB_LED的電路如圖1所示。 但要點(diǎn)亮W
    發(fā)表于 06-27 17:33

    【新品】遠(yuǎn)距離圖傳數(shù)傳模塊開(kāi)發(fā)板、藍(lán)牙模塊開(kāi)發(fā)板、無(wú)線模塊開(kāi)發(fā)板

    新品上市圖傳數(shù)傳模塊開(kāi)發(fā)板藍(lán)牙模塊開(kāi)發(fā)板國(guó)產(chǎn)無(wú)線模塊開(kāi)發(fā)板部分型號(hào)參與送樣文末了解詳情↓↓↓EWT611-900NW20S遠(yuǎn)距離圖傳數(shù)傳模塊開(kāi)發(fā)板EWT611-900NW20S是一款入
    的頭像 發(fā)表于 06-12 19:33 ?1162次閱讀
    【新品】遠(yuǎn)距離圖傳數(shù)傳模塊<b class='flag-5'>開(kāi)發(fā)板</b>、藍(lán)牙模塊<b class='flag-5'>開(kāi)發(fā)板</b>、無(wú)線模塊<b class='flag-5'>開(kāi)發(fā)板</b>

    【免費(fèi)試用】開(kāi)發(fā)板評(píng)測(cè)大賽開(kāi)啟!OH 、RISC-V、Rockchip頂級(jí)開(kāi)發(fā)板等你試用~

    技術(shù)人的狂歡,開(kāi)發(fā)者的盛宴!2025年最值得期待的硬核賽事——電子發(fā)燒友開(kāi)發(fā)板評(píng)測(cè)大賽正式啟動(dòng)!無(wú)論你是開(kāi)源生態(tài)的探索者、芯片架構(gòu)的極客,還是物聯(lián)網(wǎng)領(lǐng)域的創(chuàng)新達(dá)人,本次大賽三大賽
    的頭像 發(fā)表于 06-05 08:05 ?985次閱讀
    【免費(fèi)試用】<b class='flag-5'>開(kāi)發(fā)板</b>評(píng)測(cè)大賽開(kāi)啟!OH 、RISC-V、Rockchip頂級(jí)<b class='flag-5'>開(kāi)發(fā)板</b>等你試用~