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

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

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

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

怎樣用Tkinter控制樹莓派GPIO引腳

454398 ? 來源:工程師吳畏 ? 2019-08-02 17:55 ? 次閱讀

對于這個項目,你需要:

Raspberry Pi

2 x LED

跳線電纜

面包板

電路圖和說明

電路圖非常簡單。我們只需要使用220歐姆電阻將兩個LED連接到Raspberry Pi上的GPIO 20和21。將引腳連接到每個LED的正極,并將每個LED的負極與220歐姆電阻連接到地。

怎樣用Tkinter控制樹莓派GPIO引腳

完整的Python代碼

用于控制Raspberry Pi的GPIO的Python代碼通過GUI應用程序的引腳可以在下面找到。將此代碼復制并粘貼到新文件中,并使用文件擴展名保存:.py(例如,GUItest.py)。確保您位于同一目錄中,然后使用命令 python GUItest.py 從終端運行程序。

import Tkinter as tk

import RPi.GPIO as GPIO

from time import sleep

GPIO21 = 21

GPIO20 = 20

GPIO.setmode(GPIO.BCM)

GPIO.setup(GPIO21, GPIO.OUT)

GPIO.setup(GPIO20, GPIO.OUT)

master = tk.Tk()

master.title(“GPIO Control”)

master.geometry(“300x100”)

GPIO21_state = True

GPIO20_State = True

def GPIO21button():

global GPIO21_state

if GPIO21_state == True:

GPIO.output(GPIO21, GPIO21_state)

GPIO21_state = False

ONlabel = tk.Label(master, text=“Turned ON”, fg=“green”)

ONlabel.grid(row=0, column=1)

else:

GPIO.output(GPIO21, GPIO21_state)

GPIO21_state = True

ONlabel = tk.Label(master, text=“Turned OFF”, fg=“red”)

ONlabel.grid(row=0, column=1)

def GPIO20button():

global GPIO20_State

if GPIO20_State == True:

GPIO.output(GPIO20, GPIO20_State)

GPIO20_State = False

OFFlabel = tk.Label(master, text=“Turned ON”, fg=“green”)

OFFlabel.grid(row=1, column=1)

else:

GPIO.output(GPIO20, GPIO20_State)

GPIO20_State = True

OFFlabel = tk.Label(master, text=“Turned OFF”, fg=“red”)

OFFlabel.grid(row=1, column=1)

ONbutton = tk.Button(master, text=“GPIO 21”, bg=“blue”, command=GPIO21button)

ONbutton.grid(row=0, column=0)

OFFbutton = tk.Button(master, text=“GPIO 20”,bg=“blue” , command=GPIO20button)

OFFbutton.grid(row=1, column=0)

Exitbutton = tk.Button(master, text=“Exit”,bg=“red”, command=master.destroy)

Exitbutton.grid(row=2, column=0)

master.mainloop()

代碼演練

讓我們來看看代碼,看看每個部分的作用整個項目。

首先,我們?yōu)檫@個項目導入了所需的庫。 Tkinter庫幫助我們創(chuàng)建了GUI應用程序,RPi.GPIO庫控制著Raspberry Pi的GPIO引腳。

import Tkinter as tk

import RPi.GPIO as GPIO

from time import sleep

然后我們使用BCM引腳編號為我們的LED初始化了GPIO引腳21和20,將這些引腳聲明為輸出。

GPIO21 = 21

GPIO20 = 20

GPIO.setmode(GPIO.BCM)

GPIO.setup(GPIO21, GPIO.OUT)

GPIO.setup(GPIO20, GPIO.OUT)

之后,我們創(chuàng)建了Tk根小部件。只能有一個根小部件,它必須在任何其他小部件之前創(chuàng)建。

然后我們重命名該窗口的標題并定義其大小。

master = tk.Tk()

master.title(“GPIO Control”)

master.geometry(“300x100”)

當GPIO按下21按鈕,它將查找以前的狀態(tài)。如果前一個狀態(tài)為真(高狀態(tài)),它將使其為假(低狀態(tài)),反之亦然。

按鈕旁邊還有一個標簽,告訴我們LED是否為高電平或LOW。

def GPIO21button():

global GPIO21_state

if GPIO21_state == True:

GPIO.output(GPIO21, GPIO21_state)

GPIO21_state = False

ONlabel = tk.Label(master, text=“Turned ON”, fg=“green”)

ONlabel.grid(row=0, column=1)

else:

GPIO.output(GPIO21, GPIO21_state)

GPIO21_state = True

ONlabel = tk.Label(master, text=“Turned OFF”, fg=“red”)

ONlabel.grid(row=0, column=1)

GPIO 20按鈕的工作方式類似:

def GPIO20button():

global GPIO20_State

if GPIO20_State == True:

GPIO.output(GPIO20, GPIO20_State)

GPIO20_State = False

OFFlabel = tk.Label(master, text=“Turned ON”, fg=“green”)

OFFlabel.grid(row=1, column=1)

else:

GPIO.output(GPIO20, GPIO20_State)

GPIO20_State = True

OFFlabel = tk.Label(master, text=“Turned OFF”, fg=“red”)

OFFlabel.grid(row=1, column=1)

最后,我們創(chuàng)建了三個按鈕。其中兩個控制GPIO引腳20和21,第三個是退出按鈕。

ONbutton = tk.Button(master, text=“GPIO 21”, bg=“blue”, command=GPIO21button)

ONbutton.grid(row=0, column=0)

OFFbutton = tk.Button(master, text=“GPIO 20”,bg=“blue” , command=GPIO20button)

OFFbutton.grid(row=1, column=0)

Exitbutton = tk.Button(master, text=“Exit”,bg=“red”, command=master.destroy)

Exitbutton.grid(row=2, column=0)

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

    關注

    121

    文章

    1954

    瀏覽量

    107032
  • gpio引腳
    +關注

    關注

    0

    文章

    8

    瀏覽量

    2695
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    樹莓“揪出”家里的耗電怪獸!

    在本應用中,我們將使用樹莓設置一個CE電流監(jiān)測器,并通過網(wǎng)頁界面顯示電路的電流讀數(shù)。本項目使用的組件硬件組件樹莓2ModelBx112通道20安培電流監(jiān)測
    的頭像 發(fā)表于 06-04 15:33 ?572次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“揪出”家里的耗電怪獸!

    樹莓“吉尼斯世界記錄”:將樹莓的性能發(fā)揮到極致的項目!

    樹莓是一款功能強大、體積小巧且高度可定制的設備,多年來,我們見證了它被應用于眾多領域。無論是將其裝入3D打印的經(jīng)典游戲機外殼,還是簡單地將它隱藏起來作為家庭文件服務器,我們都報道過在社區(qū)里
    的頭像 發(fā)表于 05-22 16:53 ?463次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“吉尼斯世界記錄”:將<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的性能發(fā)揮到極致的項目!

    樹莓 Zero 打造的智能漫游車!

    使用PXFMini和樹莓Zero打造您自己的自主漫游車。本項目所用組件硬件組件ErleRoboticsPXFmini×1樹莓Zero×1樹莓
    的頭像 發(fā)表于 05-13 16:39 ?305次閱讀
    <b class='flag-5'>用</b> <b class='flag-5'>樹莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游車!

    樹莓4 打造專屬流媒體控制臺!

    樹莓體驗DIY智能科技!如今市面上有各種各樣的流媒體控制臺,但購買現(xiàn)成的哪有自己從零開始制作的有趣呢?至少,這似乎是樹莓
    的頭像 發(fā)表于 05-11 08:33 ?119次閱讀
    <b class='flag-5'>用</b> <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>4 打造專屬流媒體<b class='flag-5'>控制</b>臺!

    GPIO樹莓中的應用

    直接控制和讀取外部硬件設備的狀態(tài)。 1. GPIO簡介 GPIO樹莓派上用于與外部世界交互的一組引腳。這些
    的頭像 發(fā)表于 01-09 09:41 ?731次閱讀

    樹莓傳感器使用方法 樹莓 Raspberry Pi 4優(yōu)缺點

    開發(fā)和物聯(lián)網(wǎng)應用。以下是一些基本的樹莓傳感器使用方法: 1. 連接傳感器 GPIO引腳樹莓
    的頭像 發(fā)表于 12-06 10:35 ?1937次閱讀

    使用樹莓實現(xiàn)遠程控制的技巧

    樹莓是一款功能強大的微型計算機,其體積小巧、價格低廉,非常適合用于各種DIY項目。其中,遠程控制樹莓應用中非常受歡迎的一個領域。通過遠
    的頭像 發(fā)表于 11-11 11:37 ?1275次閱讀

    樹莓開發(fā)的最佳編程語言選擇

    應用。 1. Python 優(yōu)勢: 易學易用: Python以其簡潔的語法和強大的功能而聞名,非常適合初學者。 廣泛的庫支持: Python擁有大量的庫,如GPIO Zero、PiGPIO等,這些庫使得控制樹莓
    的頭像 發(fā)表于 11-11 11:34 ?1842次閱讀

    樹莓gpio有什么,樹莓gpio接口及編程方法

    /Output,通用輸入/輸出)是樹莓提供的一組可編程的引腳,是樹莓與外部世界進行交互的重要橋梁。通過
    的頭像 發(fā)表于 10-22 18:09 ?2486次閱讀

    什么是樹莓?樹莓是什么架構(gòu)的

    什么是樹莓 樹莓(Raspberry Pi,簡寫為RPi,別名為RasPi/RPI)是由英國“Raspberry Pi 慈善基金會”開發(fā)的一款為學習計算機編程教育而設計的微型電腦。
    的頭像 發(fā)表于 10-22 17:33 ?4750次閱讀

    樹莓網(wǎng)關:物聯(lián)網(wǎng)應用的新標桿

    的特點是體積小巧(大約信用卡大小),但功能齊全,足以支持多種計算任務。 樹莓經(jīng)常被用作物聯(lián)網(wǎng)網(wǎng)關,收集設備數(shù)據(jù),然后將數(shù)據(jù)上傳云平臺,并還可以用來接收來自云端的控制指令,控制其他連接
    的頭像 發(fā)表于 10-09 16:44 ?731次閱讀
    類<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>網(wǎng)關:物聯(lián)網(wǎng)應用的新標桿

    樹莓和單片機的優(yōu)缺點是什么

    (Raspberry Pi) 優(yōu)點: 強大的處理能力 :樹莓配備了高性能的CPU和GPU,可以運行復雜的操作系統(tǒng),如Linux和Windows 10 IoT Core。 豐富的擴展性 :通過GPIO(通用輸入輸出
    的頭像 發(fā)表于 08-30 18:21 ?2687次閱讀

    樹莓4b風扇插哪個引腳

    樹莓4B驅(qū)動風扇時,風扇可以插接的引腳主要取決于風扇的類型和所使用的控制方法。以下是一些常見的風扇插接引腳情況: 1. 直接連接法 對于簡
    的頭像 發(fā)表于 08-30 16:53 ?3435次閱讀

    樹莓gui開發(fā)什么ide

    樹莓(Raspberry Pi)是一款功能強大的微型計算機,可以運行多種操作系統(tǒng),如Raspbian、Ubuntu等。在樹莓派上進行GUI(圖形用戶界面)開發(fā),可以使用多種集成開發(fā)環(huán)境(IDE
    的頭像 發(fā)表于 08-30 16:49 ?1635次閱讀

    樹莓5,Raspberry Pi 5 評測

    如果要安裝風扇,必須占用GPIO引腳,有時會阻礙HAT的使用。當CPU溫度達到50°C時,風扇會開始工作。在空閑時,散熱器將使樹莓5 的溫度保持在39.5°C,功耗為2.6瓦。進行壓
    發(fā)表于 06-19 14:51
    主站蜘蛛池模板: 天天操狠狠操 | 日本在线不卡免 | 黄色亚洲 | 热99精品| 精品一区 二区三区免费毛片 | 天天操天天玩 | 国产男女怕怕怕免费视频 | 亚洲天天操 | tom影院亚洲国产一区二区 | 亚洲一区在线观看视频 | 深夜在线观看大尺度 | 一级一片免费播放 | 日韩精品无码一区二区三区 | 国产亚洲新品一区二区 | 国语对白老女人8av 孩交精品xxxx视频视频 | 五月婷婷色丁香 | 欧美性video精品 | 亚洲国产综合视频 | 久久国产热 | 天堂在线观看免费视频 | 日韩欧美中文字幕在线视频 | 国产v69 | 水果视频色版 | 2021国产精品午夜久久 | 青草午夜精品视频在线观看 | 久久久久久夜精品精品免费 | 日本欧美一区二区 | 加勒比日本在线 | bt天堂资源种子在线 | 亚洲第九页| 夭天干天天做天天免费看 | 成年网站在线在免费播放 | 亚洲高清免费观看 | 免费特黄视频 | 欧美三级 欧美一级 | 4hu影院最新地址www | 精品久久成人 | 国产一级又色又爽又黄大片 | 天堂网www中文在线 天堂网传媒 | 91久久人澡人人添人人爽 | 久久综合欧美成人 |