chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領(lǐ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應(yīng)用程序的引腳可以在下面找到。將此代碼復制并粘貼到新文件中,并使用文件擴展名保存:.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應(yīng)用程序,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)系本站處理。 舉報投訴
  • 樹莓派
    +關(guān)注

    關(guān)注

    122

    文章

    2078

    瀏覽量

    110474
  • gpio引腳
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    零成本鋼鐵俠手套!樹莓+OpenCV 秒變手勢遙控器!

    大家好,這是一個樹莓和OpenCV的連載專題。使用樹莓與OpenCV實現(xiàn)姿態(tài)估計和面部特征點追蹤使用樹莓
    的頭像 發(fā)表于 08-16 16:16 ?1276次閱讀
    零成本鋼鐵俠手套!<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>+OpenCV 秒變手勢遙控器!

    如何使用樹莓與OpenCV實現(xiàn)面部和運動追蹤的云臺系統(tǒng)?

    使用樹莓和OpenCV實時掃描并存儲二維碼使用樹莓和OpenCV實現(xiàn)物體與動物識別使用樹莓
    的頭像 發(fā)表于 08-14 17:45 ?1601次閱讀
    如何使用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>與OpenCV實現(xiàn)面部和運動追蹤的云臺系統(tǒng)?

    樹莓屏幕怎么選?

    樹莓很多人都用過,但屏幕的倒不是很多。不少都是直接遠程操作,或者直接接身邊的顯示設(shè)備了。但我覺得給開發(fā)板配一個屏幕還是很能提升使用體驗的。這次我就介紹一下樹莓
    的頭像 發(fā)表于 08-08 14:59 ?1518次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>屏幕怎么選?

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

    和PiGPIO等庫,C++可用于編程控制樹莓GPIO引腳。它提供了更好的性能和控制能力,非常
    的頭像 發(fā)表于 08-06 15:33 ?4161次閱讀
    技能+1!如何在<b class='flag-5'>樹莓</b>派上使用C++<b class='flag-5'>控制</b><b class='flag-5'>GPIO</b>?

    樹莓操作系統(tǒng):版本、特性及設(shè)置完整指南!

    樹莓操作系統(tǒng)是什么?樹莓操作系統(tǒng)是由樹莓基金會專為樹莓
    的頭像 發(fā)表于 07-28 18:26 ?1454次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>操作系統(tǒng):版本、特性及設(shè)置完整指南!

    樹莓打造無人機,你需注意的事項!

    能否將樹莓裝入無人機?使用樹莓打造無人機是可行的。樹莓充當無人機的“大腦”,將飛行
    的頭像 發(fā)表于 07-14 17:49 ?2067次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>打造無人機,你需注意的事項!

    樹莓6 傳聞:發(fā)布日期與規(guī)格!

    每當我想再為我的收藏增添一款樹莓時,總會在是立即購買還是等待硬件更強大的下一代之間猶豫不決。但新樹莓型號的發(fā)布往往容易被錯過,尤其是在你的信息流被病毒式傳播的貓咪視頻占據(jù)時。因此,
    的頭像 發(fā)表于 07-11 16:21 ?2344次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>6 傳聞:發(fā)布日期與規(guī)格!

    你真的懂樹莓5嘛?樹莓5引腳圖全面指南:理解GPIO引腳及其功能!

    樹莓5上的GPIO通用輸入/輸出(GPIO引腳樹莓派上的物理連接器,允許
    的頭像 發(fā)表于 07-04 15:27 ?3341次閱讀
    你真的懂<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>5嘛?<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>5<b class='flag-5'>引腳</b>圖全面指南:理解<b class='flag-5'>GPIO</b><b class='flag-5'>引腳</b>及其功能!

    20個任何人都能完成的樹莓酷炫項目!

    不知道如何利用你買的樹莓?這個小設(shè)備真的能當臺式電腦嗎?能當服務(wù)器嗎?能當廣播電臺嗎?當然可以!為了幫助你入門,我們精心挑選了這份樹莓
    的頭像 發(fā)表于 07-03 17:10 ?4384次閱讀
    20個任何人都能完成的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>酷炫項目!

    樹莓小技巧:無需鍵盤或顯示器,如何通過WiFi設(shè)置樹莓?

    樹莓是一款小巧便攜的USB供電計算機,可以隱藏起來用于小型項目,如網(wǎng)絡(luò)服務(wù)器或家庭自動化。通常,設(shè)置樹莓需要鍵盤和顯示器來編輯和查看樹莓
    的頭像 發(fā)表于 06-26 15:41 ?1564次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>小技巧:無需鍵盤或顯示器,如何通過WiFi設(shè)置<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>?

    樹莓分類器:樹莓識別不同型號的樹莓!

    在本教程系列的第一部分中,您將學習如何使用樹莓AI攝像頭來檢測不同的樹莓型號。本系列由DavidPlowman創(chuàng)建,他是樹莓
    的頭像 發(fā)表于 06-13 16:39 ?1308次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>分類器:<b class='flag-5'>用</b><b class='flag-5'>樹莓</b><b class='flag-5'>派</b>識別不同型號的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>!

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

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

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

    樹莓是一款功能強大、體積小巧且高度可定制的設(shè)備,多年來,我們見證了它被應(yīng)用于眾多領(lǐng)域。無論是將其裝入3D打印的經(jīng)典游戲機外殼,還是簡單地將它隱藏起來作為家庭文件服務(wù)器,我們都報道過在社區(qū)里
    的頭像 發(fā)表于 05-22 16:53 ?1536次閱讀
    <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 ?1112次閱讀
    <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 ?617次閱讀
    <b class='flag-5'>用</b> <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>4 打造專屬流媒體<b class='flag-5'>控制</b>臺!