在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

454398 ? 來源:網(wǎng)絡整理 ? 作者:網(wǎng)絡整理 ? 2019-11-28 17:36 ? 次閱讀

Arduino板是進入程序員的硬件黑客體系的最簡單方法之一。那里有大量的初學者項目,幾乎適合具有編程背景的任何人。即便如此,對于那些時間較短的人來說,入門似乎也令人生畏。

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

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

硬件列表

對于該項目將需要:

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

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

幾根連接線

USB電纜:用于將Arduino連接到計算機

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

電路設置

將伺服器這樣連接到Arduino:

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

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

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

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

帶有Johnny-Five的JavaScript機器人技術

我們將使用Javascript控制Arduino的框架稱為Johnny-Five。毫不奇怪,考慮到電影的名字,該項目適合與機器人技術合作。

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

圖片來源:johnny-five.io

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

打開 .msi 文件并按照安裝說明進行操作,確保將其添加到您的 PATH 中。當前的Node.js安裝程序將PATH作為標準添加,盡管值得在安裝過程中進行檢查,因為這是下一步所需的操作。

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

npm init

按照屏幕上的提示進行操作。對于今天的項目,您無需進行任何更改,只需按Enter直到返回命令提示符,然后鍵入:

npm install johnny-five

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

通過輸入以下內容進行安裝:

npm install keypress

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

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

代碼

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

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

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

var keypress = require(“keypress”);

keypress(process.stdin);

var board = new five.Board();

請注意,此處的板卡設置是自動的,無需指定端口。如果您有特定的端口設置,或者在自動檢測方面沒有運氣,則可能需要明確指定端口。

下一步,我們要“喚醒”主板并進行設置用于伺服控制。調用 board.on 會一直等到Arduino引腳準備就緒后再繼續(xù)。約翰尼-五圖書館支持內置的伺服器,我們在引腳10上調用 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 調用可確保我們從鍵盤接收的所有數(shù)據(jù)將在下一個代碼塊中可用?,F(xiàn)在,我們要“監(jiān)聽”按鍵,并使用它們來順時針(CW),逆時針(CCW)移動伺服器或停止其軌跡。

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();

}

});

});

制作確保在此處底部包括所有右方括號,如果遇到任何錯誤,請參考上面鏈接的整個代碼塊。保存此腳本,然后打開命令提示符。

揮動您好!

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

node test.js

在給您代碼中說明的指示之前,程序應立即使用有關主板的信息啟動。嘗試按上下箭頭鍵,空格鍵和 Q 退出。屏幕應該看起來像這樣:

一切都很好,伺服器應該隨著您的擊鍵跳動!看看那小小的野獸浪!

卑微的起頭

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

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

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

通過這種方式與微控制器進行通訊,是DIY硬件世界的絕佳入門,而無需花費時間來學習全新的編程語言。在這里玩得開心,如果您碰巧要建造一個殺手級機器人,請記住我們在早期如何為您提供幫助。
責任編輯:wv

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

    關注

    56

    文章

    4825

    瀏覽量

    86374
  • Arduino
    +關注

    關注

    189

    文章

    6494

    瀏覽量

    190328
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    有ARM,NPU,F(xiàn)PGA三種核心的開發(fā)板 — 米爾安路飛龍派開發(fā)板

    最近我發(fā)現(xiàn)一個有趣的開發(fā)板。這個開發(fā)板集合了ARM核心,NPU核心甚至還有FPGA核心。它就是米爾新出的YM90X開發(fā)板。它基于安路科技所打造的芯片上海安路信息科技于2021年在上交所科創(chuàng)
    的頭像 發(fā)表于 06-13 08:03 ?296次閱讀
    有ARM,NPU,F(xiàn)PGA三種核心的<b class='flag-5'>開發(fā)板</b> — 米爾安路飛龍派<b class='flag-5'>開發(fā)板</b>

    【新品】遠距離圖傳數(shù)傳模塊開發(fā)板、藍牙模塊開發(fā)板、無線模塊開發(fā)板

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

    STM32開發(fā)板一般都會配置arduino接口,是不是基本上也都會支持arduino?

    STM32開發(fā)板一般都會配置arduino接口,是不是基本上也都會支持arduino?這個在哪里可以查詢開發(fā)板是否支持
    發(fā)表于 03-07 06:33

    用AI人臉識別開發(fā)板BW21-CBV-Kit驅動墨水屏

    試著用BW21-CBV-Kit點亮2.9寸墨水屏,開發(fā)板例程非常豐富,在arduino開發(fā)的話上手超級容易。
    的頭像 發(fā)表于 03-04 18:24 ?1023次閱讀
    用AI人臉識別<b class='flag-5'>開發(fā)板</b>BW21-CBV-Kit驅動墨水屏

    通過Arduino Nano Matter開發(fā)板構建智能卷簾系統(tǒng)

    在本指南中,您將學習如何通過Arduino NanoMatter開發(fā)板上的Silicon Labs(芯科科技)MGM240S多協(xié)議無線模塊來構建一個智能卷簾系統(tǒng)。該系統(tǒng)可通過 Amazon
    的頭像 發(fā)表于 02-28 09:46 ?486次閱讀
    通過<b class='flag-5'>Arduino</b> Nano Matter<b class='flag-5'>開發(fā)板</b>構建智能卷簾系統(tǒng)

    Arduino Nano Matter開發(fā)板正式上市

    Silicon Labs(芯科科技)和Arduino在近日共同宣布Arduino Nano Matter開發(fā)板現(xiàn)已正式上市。這是延續(xù)今年3 月芯科科技和Arduino釋出
    的頭像 發(fā)表于 12-10 13:50 ?847次閱讀

    基于Arduino的串口通信項目

    基于Arduino的串口通信項目涉及多個方面,包括硬件連接、軟件編程、串口參數(shù)配置等。 一、硬件準備 Arduino開發(fā)板 :確保你有一塊Arduino
    的頭像 發(fā)表于 11-22 09:24 ?2021次閱讀

    【迅為】瑞芯微RK3588開發(fā)板RK3568開發(fā)板區(qū)別及優(yōu)勢

    RK3568開發(fā)板
    的頭像 發(fā)表于 11-18 14:19 ?1360次閱讀
    【迅為】瑞芯微RK3588<b class='flag-5'>開發(fā)板</b>RK3568<b class='flag-5'>開發(fā)板</b>區(qū)別及優(yōu)勢

    正點原子fpga開發(fā)板不同型號

    正點原子作為國內領先的FPGA開發(fā)板供應商,其產(chǎn)品線覆蓋了從入門級到高端應用的各個領域。這些開發(fā)板不僅適用于學術研究,還廣泛應用于工業(yè)控制、通信、圖像處理等多個領域。 1. 入門級開發(fā)板
    的頭像 發(fā)表于 11-13 09:30 ?3415次閱讀

    51開發(fā)板芯片資料

    51開發(fā)板芯片資料
    發(fā)表于 09-18 09:29 ?1次下載

    單片機STM32可以用Python寫嗎?可以的開發(fā)板有哪些?

    可以使用Python進行開發(fā),并分析市面上支持Python開發(fā)的單片機及開發(fā)板。首先,傳統(tǒng)的STM32單片機主要使用C語言或匯編語言進行
    的頭像 發(fā)表于 09-05 08:00 ?7310次閱讀
    單片機STM32可以用<b class='flag-5'>Python</b>寫嗎?可以的<b class='flag-5'>開發(fā)板</b>有哪些?

    linux開發(fā)板與樹莓派的區(qū)別

    定義和用途 Linux開發(fā)板:Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式開發(fā)板,通常用于工業(yè)自動化、物聯(lián)網(wǎng)、智能家居等領域。 樹莓派:樹莓派(Raspberry Pi)是一種基于Linux
    的頭像 發(fā)表于 08-30 15:34 ?1807次閱讀

    linux開發(fā)板和單片機開發(fā)的區(qū)別

    硬件架構 Linux開發(fā)板和單片機開發(fā)在硬件架構上有很大的區(qū)別。Linux開發(fā)板通?;贏RM、x86或其他處理器架構,具有較高的處理能力和內存容量。而單片機開發(fā)則基于微
    的頭像 發(fā)表于 08-30 15:30 ?1896次閱讀

    第2章_開發(fā)板使用

    本課程使用 ST-Link 給開發(fā)板供電、燒錄、調試。
    的頭像 發(fā)表于 06-29 14:25 ?4371次閱讀
    第2章_<b class='flag-5'>開發(fā)板</b>使用

    RISC-V有沒有類似Arduino那樣的開發(fā)板

    使用ARduino開發(fā),由于有第三方提供的庫支持,在開發(fā)上非常方便。RISC-V有沒有在Arduino IDE上可以使用的開發(fā)板
    發(fā)表于 06-23 12:32
    主站蜘蛛池模板: 在线免费成人网 | 国产91久久最新观看地址 | 亚洲 欧美 丝袜 制服 在线 | 天天干天天操天天插 | 成人啪啪网站 | 中国日韩欧美中文日韩欧美色 | 亚洲一区二区三区在线 | 国产小视频在线免费 | 日韩毛片在线视频 | 天天摸天天躁天天添天天爽 | 中国一级特黄特级毛片 | 久久久黄色片 | 巨乳色在线观看 | 亚洲综合第一区 | 亚洲午夜久久久久久噜噜噜 | 啪啪网视频 | 免费在线h视频 | 久久久免费精品 | 欧美性猛交xxxx黑人喷水 | 亚洲欧美一区二区三区四区 | 美女扒开尿口让男生添 漫画 | 午夜神马嘿嘿 | 国产一级在线观看www色 | 国产一级αv片免费观看 | 天堂电影免费在线资源 | 天天操天天透 | 日韩有色| 天天操天天插天天射 | 真实偷清晰对白在线视频 | 亚洲一区欧美二区 | 奇米影视久久 | 欧美xxxxbbbb在线播放 | 一本大道加勒比久久综合 | 亚洲黄色激情网 | 婷婷久操| 国产亚洲人成a在线v网站 | 性欧美长视频 | 午夜欧美精品久久久久久久 | 亚洲天堂资源 | 五月天毛片 | 2022年永久免费观看 |