Raspberry Pi:Примеры/Пользовательский интерфейс для управления устройствами: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
Строка 10: Строка 10:
Сохраните программу и запустите из консоли или любой IDE:
Сохраните программу и запустите из консоли или любой IDE:


<syntaxhighlight lang="python" enclose="div">
<syntaxhighlight lang="python">
python3 gui_switch.py
python3 gui_switch.py
</syntaxhighlight>
</syntaxhighlight>
Строка 39: Строка 39:
===Python 2.X===
===Python 2.X===


<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
from Tkinter import *
from Tkinter import *
import RPi.GPIO as GPIO
import RPi.GPIO as GPIO
Строка 70: Строка 70:
===Python 3.X===
===Python 3.X===


<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="python" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
from tkinter import *
from tkinter import *
import RPi.GPIO as GPIO
import RPi.GPIO as GPIO

Версия от 06:53, 24 мая 2023

Проверка/Оформление/Редактирование: Мякишев Е.А.


Черновик


Пользовательский интерфейс для управления устройствами

Данный пример демонстрирует как создать форму с чекбоксом для включения или выключения устройств.

Сохраните программу и запустите из консоли или любой IDE:

python3 gui_switch.py


Необходимое оборудование

Схема

Будьте осторожны при обращении с портами GPIO вашего Raspberry Pi. Помните входы и выходы GPIO расссчитаны на напряжение +3,3В


Вы можете собрать схему из этих примеров для тестирования работы программы:

Все манипуляции по подключению производите только при отключенном питании платы Raspberry Pi


Код

Python 2.X

from Tkinter import *
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)

class App:
	
    def __init__(self, master):
        frame = Frame(master)
        frame.pack()
        self.check_var = BooleanVar()
        check = Checkbutton(frame, text='Pin 18', 
                 command=self.update,
                 variable=self.check_var, onvalue=True, offvalue=False)
        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("200x50+0+0")
root.mainloop()

Python 3.X

from tkinter import *
import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)

class App:
	
    def __init__(self, master):
        frame = Frame(master)
        frame.pack()
        self.check_var = BooleanVar()
        check = Checkbutton(frame, text='Pin 18', 
                 command=self.update,
                 variable=self.check_var, onvalue=True, offvalue=False)
        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("200x50+0+0")
root.mainloop()

См.также

Внешние ссылки