日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內不再提示

怎樣使用Python編程和控制Arduino

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-11-28 17:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Python席卷了編碼世界。除了這種新語言的興起之外,DIY電子產品領域也蓬勃發(fā)展。 Arduino和Raspberry Pi等公司的開發(fā)板和單板計算機已經改變了人們創(chuàng)建家用自釀電子產品的方式。如果可以用Python編程Arduino會很棒嗎?

沒有比結合兩個很棒的東西更好的感覺了??杀氖?,不可能用Python直接對Arduino進行編程,因為開發(fā)板上沒有用于語言解釋的選項。但是,可以使用Python程序直接控制USB。

本文將向您展示如何設置Arduino UNO(盡管任何Arduino兼容板都可以在這里工作),以便通過該程序進行編程和控制使用Python程序的命令行。本教程是針對Windows 10編寫的,但也適用于Mac和Linux。您甚至可以使用此工作流程直接從Raspberry Pi控制Arduino,以獲得終極的雙向DIY體驗。

為Python設置Arduino

對于今天的項目,我們將使用Arduino Uno,以及適用于Python的pyFirmata接口。盡管在編寫pyFfirmata接口僅支持Arduino Uno,Mega,Due和Nano時,您幾乎可以使用任何與Arduino兼容的板。如果您已經是Python專家,則可以在pyFirmata中添加自己的主板支持-如果需要,請確保更新其GitHub!

尚未安裝Arduino IDE。如果您不熟悉微控制器,那么我們的Arduino初學者指南將幫助您完成一切。

連接Arduino板并打開IDE。確保在工具菜單中選擇了正確的板卡和端口。加載 StandardFirmata 示例草圖并將其上傳到電路板上。只要您通過USB將Arduino連接到計算機,就可以直接控制Arduino。只要將草圖上傳到板上沒有任何錯誤,您就可以繼續(xù)。

Python和命令行控制

我們將使用Python 3.4來控制Arduino,因為您將要安裝的模塊將其指定為最新的兼容版本。在此之前的任何版本都應該可以正常工作,并且據報導更高的版本可以工作。您可以從Python Software Foundation網站下載適用于Windows 10的Python 3.4。如果您想運行多個版本的Python,我們的Python虛擬環(huán)境指南將可以為您提供幫助。

一旦您安裝了Python,我們希望將其添加到系統(tǒng)的PATH變量中。這樣一來,我們就可以直接從命令行運行Python代碼,而無需進入安裝目錄。您可以通過打開控制面板,搜索環(huán)境,然后點擊編輯系統(tǒng)環(huán)境變量。在窗口底部,選擇環(huán)境變量。這將打開此窗口:

如果您已經在列表中看到 PATH ,請單擊“編輯”,然后添加您的 Python 和 Python/Scripts 目錄。如果您沒有PATH變量,請單擊“新建”并添加它。請注意,此處將Python直接安裝在 C: 中。如果您將其安裝在其他位置,則需要對其進行修改以反映這一點。單擊“確定”返回窗口鏈,您幾乎已經準備好使用Python控制Arduino!

神奇的潤滑脂

您將需要完成最后一個難題讓Python與我們的Arduino很好地對話。這以稱為 pyFirmata 的Python接口的形式出現(xiàn)。 Tino de Bruijn創(chuàng)建的該界面可以從github下載,盡管您可以直接在命令行中輸入以下內容來安裝它:

pip install pyfirmata

一切正常,它應該安裝并如下所示:

如果失敗,請繼續(xù)將Python添加到環(huán)境變量部分,并確保您已經為您的Python目錄提供了正確的路徑。

使它發(fā)生

現(xiàn)在一切都已設置完畢,您可以為Arduino創(chuàng)建一個Python程序來對其進行測試。打開您選擇的IDE。今天我們將使用Eclipse,但您可以輕松地使用任何文本編輯器,甚至是云中的IDE。

創(chuàng)建一個新腳本并將其保存為 blink.py 。打破傳統(tǒng)的標準LED閃爍程序,您將要創(chuàng)建一個程序,該程序會提示用戶在LED閃爍之前希望其閃爍的次數(shù)。這是一個簡短的程序,如果您想直接使用它,可以在這里下載,但讓我們對其進行分解。

首先,您需要從 pyFirmata 模塊,以及標準的Python Time 模塊。

from pyfirmata import Arduino, util

import time

現(xiàn)在,您將要設置Arduino開發(fā)板。本文假設您正在使用 Arduino Uno 板,盡管還支持其他幾個Arduino板。請參閱pyFirmata github,以獲取有關主板支持的詳細信息。

檢查Arduino IDE中使用的COM端口,并將其作為變量 board 輸入到您的代碼中。

p》 board = Arduino(“COM3”)

現(xiàn)在,您將設置用戶提示。那些熟悉Python的人會在這里識別所有內容。使用 input 功能將問題打印到屏幕上,并將答案存儲為變量。用戶提供一個數(shù)字后,程序將報告LED閃爍多少次。

loopTimes = input(‘How many times would you like the LED to blink: ’)

print(“Blinking ” + loopTimes + “ times.”)

要使LED閃爍適當?shù)拇螖?shù),請使用 for循環(huán)。如果您是Python的新手,請注意縮進,因為與其他語言不同,空格是語法的一部分。請注意,插針13是Arduino Uno的板載LED,如果您的電路板不同,則需要對其進行修改。

for x in range(int(loopTimes)):

board.digital[13].write(1)

time.sleep(0.2)

board.digital[13].write(0)

time.sleep(0.2)

您將投射 loopTimes 變量為整數(shù),因為來自用戶的輸入將自動存儲為字符串。在這個簡單的演示中,我們假設用戶將輸入一個數(shù)值。其他任何項(例如“八”)都將引發(fā)錯誤。

保存腳本,并打開命令提示符。

閃爍燈和其他啟示

一切準備就緒,您需要做的就是導航到腳本所在的位置并運行它。通過鍵入 cd [腳本目錄的路徑] ,然后鍵入 python blink.py 。

一切正常,您的程序將以Arduino初始化時會稍有延遲,提示您輸入一個數(shù)字,然后使用板載LED閃爍多次。

程序輸出應如下所示:

在選定的眨眼次數(shù)后,一旦按Enter鍵,Arduino應該執(zhí)行您的命令。

小開始

該項目是在Python和Arduino板之間進行通信的準系統(tǒng)。這種方法與通常的將腳本上傳到Arduino本身的工作流程完全不同,但是它為使用該平臺開辟了一種全新的方式,尤其是在您喜歡Python編程語言的情況下。

如果您使用在家中使用Linux服務器,這種與Arduino板通信的方法可以將該服務器擴展為成熟的DIY家庭自動化系統(tǒng)。通過將控制微控制器的Python腳本與DIY自動化電路相結合,您的NAS存儲盒可以承擔一套全新的有用功能。

要使其具有終極的DIY體驗,為什么不建造自己的NAS盒并用它來控制您的電器嗎?想象一下在Plex服務器上按播放并自動關閉燈光會多么酷!

責任編輯:wv

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

    關注

    58

    文章

    4889

    瀏覽量

    90328
  • Arduino
    +關注

    關注

    190

    文章

    6527

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    使用Python/MyHDL創(chuàng)建自定義FPGA IP

    使用 Python/MyHDL 創(chuàng)建自定義 FPGA IP,與 Vivado 集成,并通過 PYNQ 進行控制——實現(xiàn)軟件上的簡單硬件設計。
    的頭像 發(fā)表于 04-09 09:53 ?285次閱讀
    使用<b class='flag-5'>Python</b>/MyHDL創(chuàng)建自定義FPGA IP

    使用PYTHON進行的跨平臺仿真

    如何使用編程語言Python來調用和控制VirtualLab Fusion中的模擬。請查看下面鏈接的文檔,以找到關于如何設置和使用Python和VirtualLab Fusion之間的
    發(fā)表于 04-02 08:21

    探索用于Arduino的TLE94112ES直流電機控制盾牌

    探索用于Arduino的TLE94112ES直流電機控制盾牌 引言 在電子工程領域,電機控制一直是至關重要的部分。對于Arduino開發(fā)者而言,一款功能強大且易于使用的電機
    的頭像 發(fā)表于 12-18 16:35 ?534次閱讀

    Python中借助NVIDIA CUDA Tile簡化GPU編程

    NVIDIA CUDA 13.1 版本新增了基于 Tile 的GPU 編程模式。它是自 CUDA 發(fā)明以來 GPU 編程最核心的更新之一。借助 GPU tile kernels,可以用比 SIMT
    的頭像 發(fā)表于 12-13 10:12 ?1469次閱讀
    在<b class='flag-5'>Python</b>中借助NVIDIA CUDA Tile簡化GPU<b class='flag-5'>編程</b>

    一文了解Mojo編程語言

    Mojo 是一種由 Modular AI 公司開發(fā)的編程語言,旨在將 Python 的易用性與 C 語言的高性能相結合,特別適合人工智能(AI)、高性能計算(HPC)和系統(tǒng)級編程場景。以下是關于
    發(fā)表于 11-07 05:59

    如何在 NuMaker-IoT-M467 板上使用 Arduino IDE 控制 Wi-Fi 模塊?

    在NuMaker開發(fā)板上,有一個ESP-12F Wi-Fi模塊;但是,Arduino IDE 中的 NuMaker UNO 包不提供該模塊的相關控制。如果您希望在 Arduino IDE 中
    發(fā)表于 09-04 08:28

    技能+1!如何在樹莓派上使用C++控制GPIO?

    和PiGPIO等庫,C++可用于編程控制樹莓派的GPIO引腳。它提供了更好的性能和控制能力,非常適合對速度和精度要求較高的硬件項目。在樹莓派社區(qū)中,關于“Python
    的頭像 發(fā)表于 08-06 15:33 ?4521次閱讀
    技能+1!如何在樹莓派上使用C++<b class='flag-5'>控制</b>GPIO?

    C++ 與 Python:樹莓派上哪種語言更優(yōu)?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯(lián)網項目中同樣廣受歡迎且功能強大。那么,在樹莓派項目中選擇哪種語言更合適呢?Python因其簡潔性、豐富的庫和資源而被
    的頭像 發(fā)表于 07-24 15:32 ?1131次閱讀
    C++ 與 <b class='flag-5'>Python</b>:樹莓派上哪種語言更優(yōu)?

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

    Milk-V DuoS之使用Arduino開發(fā) Arduino 是一個很流行的開源硬件平臺,具有簡潔性、易用性和開放性等優(yōu)點。它提供了豐富的庫函數(shù)和示例代碼,使得即使對于沒有編程經驗的人來說,也能夠
    發(fā)表于 07-17 21:01

    基礎篇3:掌握Python中的條件語句與循環(huán)

    Python編程語言中,條件語句和循環(huán)是構成復雜邏輯和數(shù)據處理的基石。本篇基礎教程將幫助您深入了解Python中的條件語句和循環(huán)結構,讓您能夠更好地控制程序流程。 條件語句 條件語句
    發(fā)表于 07-03 16:13

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

    ,在學習Python編程的基礎上通過GPIO來實現(xiàn)LED燈的控制。 在開發(fā)板上,僅有的2個可供GPIO控制的器件是RGB_LED和按鍵,其中RGB_LED的電路如圖1所示。 但要點亮W
    發(fā)表于 06-27 17:33

    Arduino與LabVIEW聯(lián)合編程指南

    Arduino編程并與LabVIEW上位機結合實現(xiàn)設備的遠程控制與數(shù)據采集。
    發(fā)表于 06-19 15:54 ?3次下載

    跟老齊學Python:從入門到精通

    本帖最后由 yuu_cool 于 2025-6-3 16:52 編輯 本資料是面向編程零基礎讀者的Python 入門教程,內容涵蓋了Python 的基礎知識和初步應用。以比較輕快的風格,向零基
    發(fā)表于 06-03 16:10

    免費分享Arduino入門+進階(全套例程+書籍)

    創(chuàng)意,比如控制燈光、傳感器、電機等。以下是Arduino入門+進階學習資料1.Arduino編程語言說明(相關文件可在下文掃碼領?。?.Arduin
    的頭像 發(fā)表于 05-22 11:40 ?1343次閱讀
    免費分享<b class='flag-5'>Arduino</b>入門+進階(全套例程+書籍)

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎知識

    的發(fā)展,在Arduino出現(xiàn)以前,雖然也有很多公司在推廣一些簡單易用的可編程控制器,但是由于開發(fā)平臺種類繁多,而且使用這些控制器基本上都需要對電子技術、數(shù)字邏輯、寄存器等內容進行多方面的了解和學習,才能
    發(fā)表于 05-13 09:28
    榆社县| 韶山市| 新疆| 兰考县| 玉溪市| 福州市| 嘉兴市| 珠海市| 徐州市| 临汾市| 怀柔区| 贞丰县| 武夷山市| 洪湖市| 富平县| 江安县| 新竹市| 昌邑市| 黎平县| 宣武区| 梓潼县| 三河市| 宜丰县| 永福县| 成都市| 泸西县| 隆昌县| 满洲里市| 阿拉尔市| 东乡县| 高雄市| 宝兴县| 义乌市| 天峻县| 邓州市| 广宗县| 松溪县| 岳阳县| 沅陵县| 韶关市| 温州市|