1. 程式人生 > >(樹莓派)編寫使用者介面控制GPIO 開關

(樹莓派)編寫使用者介面控制GPIO 開關

話不多說,直接上程式碼:

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 引腳電平高低