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

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

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

3天內不再提示

在樹莓派中使用Python編程實現對LED燈的控制

h1654155282.3538 ? 來源:電子報 ? 作者:h1654155268.1688 ? 2021-06-06 17:51 ? 次閱讀

一、樹莓派Python語言編程

樹莓派是一塊僅為信用卡般大小的微型電腦,可用于嵌入式開發和計算機編程,目前在中小學創客教育活動領域有著極為廣泛的應用。借助于擴展板及“積木”編程(比如古德微機器人網站),中小學生就可以比較輕松地使用樹莓派開發出例如超聲波測距、定時鬧鐘、聲控樓道燈、倒車提醒器等具有實際應用價值的“產品”,甚至還有智能語音輸出、文字識別等更為高端的人工智能方面的應用(與百度AI關聯)。作為樹莓派的編程“黃金搭檔”,Python語言是目前正在廣泛使用的通用高級編程語言,它主要是為了強調代碼可讀性而開發的,語法允許使用更少的代碼行來表達概念;配合使用豐富的通用型傳感器和功能強大的語言“庫”模塊,使用Python語言編程進行創客實驗已經成為樹莓派最為強勢的應用之一(如圖1所示)。

圖1

二、簡易紅綠燈實驗的預備知識

1.實驗的預期效果三只并列排布的LED燈依次閃亮——先是綠燈亮10秒,熄滅;接著是黃燈持續閃爍三次,每次1秒;然后是紅燈亮10秒,熄滅,再綠燈亮10秒……反復循環這一過程,這是生活中最為常見的十字路口一組紅綠燈中的雛形。

2.實驗器材樹莓派(帶電源線)主板一塊、紅黃綠LED燈各一只、六根母對母杜邦線,一臺聯網電腦(或直接給樹莓派接上顯示器、鼠標和鍵盤)。

3.樹莓派的40Pin引腳樹莓派主板一側有兩排引腳,共40Pin(物理引腳BOARD編碼是從1依次到40)。在樹莓派的命令行窗口(通過遠程桌面連接)中輸入“gpioreadall”命令,可顯示出所有的引腳編號及功能對應關系(如圖2所示)。

pYYBAGC8moyAbMhHAAI_eSYMXdw668.png

圖2

通常情況下,Python語言編程庫都是使用BCM編碼(WiringPi編碼一般應用于C++等編程平臺),這種編碼依據是BCM2835芯片的GPIO寄存器編號。如果按照功能來分類,除了8個GND(接地)端、3.3V和5V的電源正極各兩個之外,最為主要的部分就是17個可編程的GPIO(GeneralPurposeInput/Output:“通用型輸入輸出接口”),其BCM編碼分別是0-7、21-29兩組(物理引腳位置并非連續分布),可以用來驅動傳感器、舵機等各種外設。使用樹莓派GPIO引腳與外設連接時必須要仔細,在確定好待用的BCM編碼號后再與物理引腳一一對應。本次實驗所使用的紅、黃、綠三只LED燈的長引腳(正極)BCM編碼分別設置為5、6和13,所對應的物理引腳BOARD編碼是29、31和33,分別用母對母杜邦線連接好;短引腳(負極)同樣使用杜邦線與三個GND連接,比如物理引腳BOARD編碼為25、30和39(如圖3所示)。

poYBAGC8mouAfGTxAAI6l9BjTRY207.png

圖3

三、在樹莓派中使用Python編程實現對LED燈的控制

1.測試控制一只紅色LED燈的亮與滅連接好實驗設備后給樹莓派通電開機,稍后在聯網電腦的遠程桌面連接中進入命令行模式(出現“pi@raspberrypi:~$”提示符),輸入“python”后回車進入Python界面(命令提示符變為“》》》”);接著再輸入“importRPi.GPIOasGPIO”命令,作用是以GPIO為名導入RPi.GPIO庫,無錯誤提示的話就代表Python已經成功加載了RPi.GHIO庫(出現錯誤提示就必須按照提示進行更新或安裝);值得一提的是,RPi.GPIO本身是Python的一個庫模塊,樹莓派官方系統默認已經安裝,共作用就是允許用戶從代碼中控制各GPIO引腳。接著,輸入“GPIO.setmode(GPIO.BCM)”命令,意思是“通知”Python準備使用樹莓派的BCM編碼模式來對各引腳進行控制。由于紅色LED燈正極是接在BCM編碼5號上,因此在使用Python編程控制時就必須通過數字“5”來控制(而不是其對應的物理引腳BOARD編碼25)。輸入命令“GPIO.setup(5,GPIO.OUT)”,意思是設置5號GPIO為輸出端(GPIO.OUT);接著輸入“GPIO.output(5,GPIO.HIGH)”命令,設置5號GPIO輸出高電平(GPIO.HIGH)。此時回車執行該命令后,樹莓派上的紅色LED燈就會瞬間被“點亮”(如圖4所示)。

pYYBAGC8mpmAX_1dAAJR6HAJq5w141.png

圖4

發光測試成功后,接著再發一條“GPIO.output(5,GPIO.LOW)”命令,設置5號GPIO輸出低電平(GPIO.LOW);回車,紅色LED燈熄滅,測試工作完成。2.編寫完整的Python程序在聯網電腦的Windows系統中使用PyCharm程序編輯器來編寫TrafficLED.py(或者可以直接遠程進入樹莓派系統中調用“編程”-“ThonnyPythonIDE”來編寫),程序的主體內容就是控制三個LED燈依次點亮和熄滅(如圖5),以綠燈亮10秒為例,其命令語句為:GPIO.output(13,GPIO.HIGH)time.sleep(10.0)GPIO.output(13,GPIO.LOW)值得注意的地方:一是程序的最開始語句“#!/usr/bin/python3”的作用是指定由哪個Python解釋器來執行腳本,因為有的操作系統同時安裝了Python2和Python3(二者并不兼容);二是需要通過“importtime”命令來導入時間庫,因為程序中使用了sleep語句來控制燈亮、滅的持續時間,其中的數值參數單位為秒;三是程序的主體需要一直循環,可使用語句“while1:”(條件永遠為真);四是分別設置print語句用來顯示提示當前LED燈的狀態,比如“黃燈閃3s”。所有命令語句均輸入完成后,將其保存為Python文件TrafficLED.py(如圖5所示),并通過遠程桌面復制粘貼到樹莓派的用戶目錄中(/home/pi/)。

poYBAGC8mpqAMAIEAAGcjND5W3I754.png

圖53.調試運行Python程序,控制LED燈實現紅綠燈效果在遠程桌面窗口中雙擊從Windows中傳遞過來的TrafficLED.py程序文件,調用樹莓派中已經安裝的ThonnyPythonIDE來打開;接著點擊上方的“Run”按鈕,程序就開始運行:IDE窗口下方的Shell區域先是顯示“綠燈亮10s”的提示,此時連接在樹莓派上的綠色LED燈開始發光;10秒鐘后,提示信息變為“黃燈閃3s”,綠色LED燈熄滅,黃色LED燈閃爍3秒;之后,提示信息變為“紅燈亮10s”,綠色和黃色LED燈都為熄滅狀態,紅色LED燈發光(如圖6所示);10秒之后,提示信息變為“本輪結束,進行下一輪”、“綠燈亮10s”,綠色LED燈又會再次亮起……

圖6
責任編輯人:CC

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

    關注

    56

    文章

    4782

    瀏覽量

    84449
  • 樹莓派
    +關注

    關注

    116

    文章

    1698

    瀏覽量

    105520
收藏 人收藏

    評論

    相關推薦

    用筆記本控制運行樹莓坦克車 相當好玩

    想到用樹莓GPIO接口控制些硬件設備,如,馬達,LED等;于是用python寫了個小程序來
    發表于 09-12 17:58

    樹莓2控制一個LED

    ` 本帖最后由 348081236 于 2016-1-19 16:57 編輯 這個教程教你怎樣用樹莓控制一個LED。這是比較基礎、簡
    發表于 01-19 16:55

    樹莓Python與自美人工智能系統實現人臉識別

    ,就能執行如電子表格、文字處理、玩游戲、播放高清視頻等諸多功能。 (圖為樹莓4)二、PythonPython是目前被廣泛應用的編程語言之
    發表于 12-26 11:24

    Python樹莓編程

    Python樹莓編程
    發表于 04-04 12:06

    Python樹莓編程

    Python樹莓編程
    發表于 05-03 09:45

    樹莓如何點亮一個LED

    本章將簡介在樹莓派上面通過shell,sysfs,bcm2835,wiringPi,python等不同的編程方式點亮一個LED
    發表于 11-05 07:04

    樹莓能做什么

    第一課:什么是樹莓第二課:樹莓能做什么第三課:購買您的第一個樹莓第四課:如何安裝
    發表于 09-10 07:28

    請問樹莓如何使用Python控制步進電機?

    請問樹莓如何使用Python控制步進電機?
    發表于 10-27 06:53

    關閉樹莓電源LED

    關閉樹莓的電源指示和狀態指示中,對關閉樹莓
    發表于 12-28 08:18

    樹莓Python編程指南分享

    樹莓python編程指南
    發表于 10-07 08:43

    樹莓用什么語言編程_樹莓python編程詳解

    樹莓是一個非常廉價的、只有手掌大小的完全可編程的計算機。雖然樹莓的體積小,但是它的潛力無限。你可以像使用常規臺式計算機一樣
    發表于 01-15 17:00 ?3.9w次閱讀

    樹莓Python編程指南中文.pdf

    樹莓Python編程指南 PDF電子書下載 帶書簽目錄 sample
    發表于 05-07 15:21 ?0次下載

    關閉樹莓電源LED,禁用wifi、藍牙

    關閉樹莓的電源指示和狀態指示中,對關閉樹莓
    發表于 01-06 11:55 ?3次下載
    關閉<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>電源<b class='flag-5'>LED</b><b class='flag-5'>燈</b>,禁用wifi、藍牙

    基于樹莓點亮RGB三基色LED

    上一篇實現樹莓的第一個基礎實驗——點亮雙色LED,并了解了樹莓
    的頭像 發表于 07-04 11:34 ?2006次閱讀
    基于<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>點亮RGB三基色<b class='flag-5'>LED</b><b class='flag-5'>燈</b>

    學習Python的雙重選擇: 樹莓和行空板

    Python是一種流行并簡單和易用的編程語言, 吸引了眾多初學者和專業開發人員。許多人選擇使用樹莓(Raspberry Pi)作為學習Python
    的頭像 發表于 09-08 13:53 ?585次閱讀