精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

如何使用Python和PinPong庫控制Arduino

話說科技 ? 2023-10-13 10:59 ? 次閱讀

Python程序員編程Arduino時面臨的第一個挑戰是語言不同。Arduino IDE使用的是受C和C++啟發的語言。實際上,像Arduino這樣的平臺與Python非常搭配,特別適用于需要與傳感器和其他物理設備集成的應用程序。如果您已經掌握了Python的基礎知識,那么您可以通過使用Python來控制Arduino來入門。本文目的主要是向您展示如何使用PinPong庫通過Python與Arduino進行通信,以幫助您開發自己的電子項目。

一、為什么是PinPong庫?

PinPong庫是一個用于控制開源硬件開發板的Python庫。它基于Firmata協議,并兼容MicroPython語法。使用PinPong庫,您可以使用Python代碼控制各種常見的開源硬件設備。其基本原理是將特定的固件燒錄到硬件板上,通過串行通信使板與計算機之間進行通信以執行各種命令。PinPong庫簡化了與 Arduino 板上的數字引腳和模擬引腳進行交互的過程。通過 PinPong,您可以使用 Python 代碼控制 Arduino 的輸入和輸出,包括讀取傳感器數據、控制執行器等。

“PinPong”的名稱源自“Pin”和“Pong”,其中“Pin”指的是硬件板上的引腳,而“PinPong”聽起來像“乒乓球”,代表信號的來回傳遞的特性。 PinPong庫的設計旨在使開發人員在開發過程中不受特定硬件模型的限制,使他們能夠專注于軟件實現。即使您最初使用Arduino開發程序,也可以通過修改硬件參數輕松切換到另一個兼容的開發板,如PinPong板。

二、PinPong庫的主要特點

高度靈活:支持的Arduino板包括Uno、Leonardo、Mega2560、ESP32板(如HandPy)、micro:bit、Unihiker(行空板)等。它還支持50多種傳感器,并將逐步支持其他開發板和擴展庫。

與MicroPython兼容:MicroPython是Python編程語言的一個變種,以其簡單和易讀性而廣為人知和使用。通過與MicroPython兼容,PinPong簡化了開發過程,使開發人員能夠利用他們現有的Python知識來編程和控制硬件。

三、如何安裝PinPong庫

在安裝PinPong庫之前,請確保計算機上已安裝Python 3。下面分別介紹如何在Windows、Linux、Mac OS安裝PinPong庫。

在Windows上安裝PinPong庫

Python 3下載完成后,按照提示進行安裝。注意安裝過程的最后一步,確保選中“Add to PATH”選項,將Python添加到系統的環境變量中。

打開命令提示符。使用Win+R快捷鍵,輸入“cmd”,然后按Enter鍵。

安裝PinPong庫。在命令提示符窗口中輸入“pip install pinpong”,等待片刻,直到安裝完成。

信息查詢。要獲取當前版本信息、官方文檔網站、庫列表和端口號,請在“幫助命令”提示中輸入“pingpong”。

在Linux上安裝PinPong庫

安裝了Python 3之后,您可以通過在終端中輸入“sudo pip install pinpong”來進行PinPong安裝。

在Mac OS上安裝PinPong庫

安裝了Python 3之后,您可以按照以下步驟安裝PinPong庫:

打開任何Finder窗口,按下Shift+Command+U。雙擊“終端”應用程序。在終端中,輸入命令“sudo pip install pinpong”來安裝PinPong庫。

四、重要的PinPong庫示例

重要的PinPong庫示例對于初學者來說是必不可少的,包括基礎、常用和擴展庫示例。這些示例可以幫助學習者理解和學習如何利用這些庫來快速開發與PinPong相關的應用程序或項目。

常用PinPong庫示例:

常用PinPong庫示例可以幫助您快速驗證模塊的使用方法。將代碼復制粘貼到Python編輯器中,并據使用的板型修改板的初始化配置。基本庫示例中的模塊是通過Board庫導入的。

示例:LED閃爍

將Arduino主控板連接到Windows或Linux計算機。控制Arduino UNO板上的內置LED每秒閃爍一次

除了如上的基礎PinPong庫示例可用,演示如何使用按鈕控制Arduino UNO板上的內置LED,改變LED的亮度,并測試模擬引腳中斷功能。

實用的PinPong庫示例:

常見庫示例中的模塊是通過board庫導入的。

示例:控制舵機電機

此之外,PinPong庫中還有其他實用示例。這些示例涵蓋了控制蜂鳴器進行聲音生成,從超聲波傳感器讀取數據,從DHT傳感器獲取溫度和濕度讀數,以及管理WS2812單線RGB LED燈。

擴展的PinPong庫示例

擴展庫示例中的模塊是通過libs庫導入的。您可以使用終端輸入“pinpong”來查詢支持的列表和使用方法。所有示例程序代碼都可以在安裝目錄下的“examples”文件夾中找到。

示例:顏色識別

將TCS34725顏色傳感器連接到Arduino板的I2C引腳(SCL和SDA),該Arduino板連接到Windows或Linux計算機。從I2C TCS34725顏色傳感器中獲取顏色值。

其他擴展的PinPong庫示例包括從I2C TCS34725顏色傳感器、I2C超聲波傳感器(URM09)、I2C MLX90614紅外溫度傳感器以及使用I2C讀取卡片信息的NFC模塊等讀取值的示例。

使用PinPong庫通過Python進行的Arduino項目

自動澆水系統

為了確保植物的健康生長,定期澆水是必要的。然而,我們經常會忘記給植物澆水,這可能導致植物枯萎。為了避免這樣的問題,我們可以設計一個自動澆水系統。

自動澆水系統的第一步: 驅動繼電器

硬件設置:

1、控制器:Arduino UNO,IO傳感器擴展板V7.1/

2、模塊:繼電器模塊/

3、連接:Type A到B的USB電纜

4、將繼電器連接到數字引腳13

開始編碼:

繼電器通過切換數字引腳的高低狀態來控制。我們可以參考基礎庫的官方文檔中的“Digital Output”示例。運行這個程序會使繼電器發出咔噠聲,隨著LED的閃爍而切換。

自動澆水系統的第二步:使用繼電器控制水泵

為了實現澆水功能,我們需要使用一個水泵。然而,大多數水泵的工作電壓為12V,而Arduino UNO的輸出電壓為5V,這對直接驅動水泵來說是不足夠的。在這種情況下,我們需要使用繼電器來控制水泵。

硬件設置

1、控制器:Arduino UNO,IO傳感器擴展板V7.1/

2、模塊:繼電器模塊,水泵,12V電源

3、連接:Type A到B的USB電纜

4、將繼電器連接到數字引腳13

5、將水泵連接到繼電器

開始編碼

您可以使用time模塊的time.strftime函數來確定時間。在示例中,它每天在15:30:10設置“Watering”。在實際使用中,您可以相應地添加繼電器控制功能。

添加繼電器以實現每日定時澆水功能。

關于更多pinpong庫的介紹,您可以查看pinpong官方文檔。

總結

PinPong庫為Python開發者提供了一種便捷的方式來控制Arduino板。它簡化了與Arduino的通信過程,使得使用Python編程語言控制Arduino變得更加容易和靈活。無論是初學者還是有經驗的開發者,PinPong庫都是一個有價值的工具,用于構建各種物聯網嵌入式系統項目。因此,如果你是一名Python程序員,希望探索Arduino世界,本教程為你提供了一個很好的起點。

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

    關注

    88

    文章

    3596

    瀏覽量

    93609
  • IDE
    IDE
    +關注

    關注

    0

    文章

    335

    瀏覽量

    46679
  • 編程語言
    +關注

    關注

    10

    文章

    1939

    瀏覽量

    34607
  • python
    +關注

    關注

    56

    文章

    4783

    瀏覽量

    84473
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186676
收藏 人收藏

    評論

    相關推薦

    如何使用Raspberry pi和Python控制Arduino

    如果你同時擁有Arduino和Raspberry pi板,本文將向您展示如何使用Raspberry pi和Python控制Arduino
    的頭像 發表于 11-08 16:51 ?4419次閱讀
    如何使用Raspberry pi和<b class='flag-5'>Python</b>來<b class='flag-5'>控制</b><b class='flag-5'>Arduino</b>

    什么是轉向控制?如何去編寫轉向控制Arduino代碼與

    什么是轉向控制?如何去編寫轉向控制Arduino代碼與?什么是轉速控制?如何去編寫轉速控制
    發表于 06-28 06:08

    怎樣使用PySerial接口PythonArduino

    您還可以更改Python程序第3行和Arduino程序的第2行中的波特率,只要它們保持不變即可。程序運行后,它將打印出大多數ASCII字符。首先將它們發送到Arduino,然后將其發送回Pyt
    的頭像 發表于 11-04 11:30 ?4137次閱讀
    怎樣使用PySerial接口<b class='flag-5'>Python</b>和<b class='flag-5'>Arduino</b>

    怎樣使用Python編程和控制Arduino

    該項目是在PythonArduino板之間進行通信的準系統。這種方法與通常的將腳本上傳到Arduino本身的工作流程完全不同,但是它為使用該平臺開辟了一種全新的方式,尤其是在您喜歡Pytho
    的頭像 發表于 11-28 17:52 ?1.7w次閱讀

    ADM1266 Python

    ADM1266 Python
    發表于 03-23 15:47 ?1次下載
    ADM1266 <b class='flag-5'>Python</b><b class='flag-5'>庫</b>

    使用Open cv python(手勢)和arduino控制Led

    電子發燒友網站提供《使用Open cv python(手勢)和arduino控制Led.zip》資料免費下載
    發表于 10-28 10:19 ?6次下載
    使用Open cv <b class='flag-5'>python</b>(手勢)和<b class='flag-5'>arduino</b><b class='flag-5'>控制</b>Led

    使用Python進行Arduino實時繪圖

    電子發燒友網站提供《使用Python進行Arduino實時繪圖.zip》資料免費下載
    發表于 11-08 11:59 ?1次下載
    使用<b class='flag-5'>Python</b>進行<b class='flag-5'>Arduino</b>實時繪圖

    使用ArduinoPython僅用雙手控制VLC媒體播放器

    電子發燒友網站提供《使用ArduinoPython僅用雙手控制VLC媒體播放器.zip》資料免費下載
    發表于 11-17 14:27 ?0次下載
    使用<b class='flag-5'>Arduino</b>和<b class='flag-5'>Python</b>僅用雙手<b class='flag-5'>控制</b>VLC媒體播放器

    使用ArduinoPython Tkinter進行RGB Led控制

    電子發燒友網站提供《使用ArduinoPython Tkinter進行RGB Led控制.zip》資料免費下載
    發表于 11-30 12:00 ?0次下載
    使用<b class='flag-5'>Arduino</b>和<b class='flag-5'>Python</b> Tkinter進行RGB Led<b class='flag-5'>控制</b>

    使用arduino、mpu6050和python控制游戲

    電子發燒友網站提供《使用arduino、mpu6050和python控制游戲.zip》資料免費下載
    發表于 12-13 11:04 ?1次下載
    使用<b class='flag-5'>arduino</b>、mpu6050和<b class='flag-5'>python</b><b class='flag-5'>控制</b>游戲

    基于Arduino Micro的鍵盤和鼠標控制

    電子發燒友網站提供《基于Arduino Micro的鍵盤和鼠標控制.zip》資料免費下載
    發表于 12-22 15:09 ?1次下載
    基于<b class='flag-5'>Arduino</b> Micro的鍵盤和鼠標<b class='flag-5'>控制</b><b class='flag-5'>庫</b>

    ArduPy:當Arduino遇見Python

    奇怪的編程語言組合。這個新工具套件被稱為 ArduPy(ArduinoPython 的組合),旨在通過提供一種將流行的 Arduino 轉換為 MicroPython
    的頭像 發表于 12-30 09:40 ?5125次閱讀

    如何安裝常用Python

    Python作為一種流行的編程語言,擁有豐富的第三方資源,這些可以幫助開發者輕松實現各種功能,從數據分析到Web開發,從機器學習到圖像處理,涵蓋了各個領域。在Python的開發過程
    的頭像 發表于 04-14 12:11 ?1132次閱讀

    Python3與Arduino通信

    電子發燒友網站提供《Python3與Arduino通信.zip》資料免費下載
    發表于 06-26 14:39 ?0次下載
    <b class='flag-5'>Python</b>3與<b class='flag-5'>Arduino</b>通信

    python讀取數據數據 python查詢數據 python數據連接

    python讀取數據數據 python查詢數據 python數據連接
    的頭像 發表于 08-28 17:09 ?1760次閱讀