国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

怎樣用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()

代碼演練

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

首先,我們為這個項目導入了所需的庫。 Tkinter庫幫助我們創建了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)

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

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

master = tk.Tk()

master.title(“GPIO Control”)

master.geometry(“300x100”)

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

按鈕旁邊還有一個標簽,告訴我們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)

最后,我們創建了三個按鈕。其中兩個控制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)

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

    關注

    122

    文章

    2078

    瀏覽量

    110470
  • gpio引腳
    +關注

    關注

    0

    文章

    10

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

    如何使用樹莓與OpenCV實現面部和運動追蹤的云臺系統?

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

    樹莓屏幕怎么選?

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

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

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

    樹莓操作系統:版本、特性及設置完整指南!

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

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

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

    樹莓6 傳聞:發布日期與規格!

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

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

    樹莓5上的GPIO通用輸入/輸出(GPIO引腳樹莓派上的物理連接器,允許
    的頭像 發表于 07-04 15:27 ?3329次閱讀
    你真的懂<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個任何人都能完成的樹莓酷炫項目!

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

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

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

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

    在本教程系列的第一部分中,您將學習如何使用樹莓AI攝像頭來檢測不同的樹莓型號。本系列由DavidPlowman創建,他是樹莓
    的頭像 發表于 06-13 16:39 ?1305次閱讀
    <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>!

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

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

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

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

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

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

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

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