(树莓派)编写用户界面控制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 引脚电平高低

你可能感兴趣的:(树莓派,Python,GPIO)