(樹莓派)編寫使用者介面控制GPIO 開關
阿新 • • 發佈:2018-11-25
話不多說,直接上程式碼:
from Tkinter import *
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
class App: //定義一個名為App 的類
def __init__(self, master):
frame = Frame(master)
frame.pack() //根據窗口裡面的佈局及元件的preferedSize來確定frame的最佳大小
self. check_var = BooleanVar() /*初始化函式中建立了一個名為check_var的成員變數,
該變數包含一個BooleanVar 型別的例項,為複選框
提供了變數選項。這保證了每當勾選複選框時,變數中
的值就會改變。command 選項會在改變發生時執行
update 命令* /
check = Checkbutton(frame, //Checkbutton是複選框,又稱為多選按鈕,可以表示兩種狀態
text='Pin 18', //顯示文字內容
command=self.update, //指定Checkbutton的事件處理函式
variable=self. check_var, //控制變數,跟蹤Checkbutton的狀態,On(1),Off(0)
onvalue=True, //指定Checkbutton處於On狀態時的值
offvalue=False) //指定Checkbutton處於Off狀態時的值
check.grid(row=1)
def update(self):
GPIO.output(18, self.check_var.get())
root = Tk()
root.wm_title('on/off switch')
app = App(root)
root.geometry("300x50+0+0") //注意這裡是小寫字母'x',不是乘號
root.mainloop() //進入到事件迴圈,一旦檢測到事件,就重新整理元件
效果如下:
然後就可以通過該介面開關控制18 引腳電平高低