В этом сообщении блога мы окунемся в захватывающий мир кнопок GPIO и рассмотрим различные способы их использования в ваших проектах DIY. Кнопки GPIO, также известные как кнопки, представляют собой простые, но мощные устройства ввода, которые могут запускать действия в вашей схеме или программе. Мы рассмотрим различные подходы и предоставим вам примеры кода, чтобы вы могли начать. Итак, давайте запачкаем руки и начнем строить!
Метод 1: Метод опроса
Метод опроса включает постоянную проверку состояния кнопки GPIO. Вот фрагмент кода Python, демонстрирующий этот метод:
import RPi.GPIO as GPIO
button_pin = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(button_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
while True:
if GPIO.input(button_pin) == GPIO.LOW:
print("Button pressed!")
Метод 2: Метод на основе прерываний
Метод на основе прерываний использует прерывания для обнаружения нажатия кнопок. Этот подход более эффективен, поскольку не требует постоянного опроса. Вот пример использования библиотеки RPi.GPIO:
import RPi.GPIO as GPIO
button_pin = 17
GPIO.setmode(GPIO.BCM)
GPIO.setup(button_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)
def button_callback(channel):
print("Button pressed!")
GPIO.add_event_detect(button_pin, GPIO.FALLING, callback=button_callback, bouncetime=300)
while True:
pass
Метод 3: устранение дребезга
Устранение дребезга необходимо для устранения ложных срабатываний, вызванных подпрыгиванием кнопок. Вот пример устранения дребезга с использованием библиотеки GPIO Zero:
from gpiozero import Button
from time import sleep
button_pin = 17
button = Button(button_pin, pull_up=True, bounce_time=0.2)
while True:
if button.is_pressed:
print("Button pressed!")
sleep(0.1)
Метод 4: использование внешних библиотек
Существует несколько отличных внешних библиотек, которые упрощают работу с кнопками GPIO. Одной из таких библиотек является библиотека «gpiozero», которую мы использовали в предыдущем примере. Другие популярные варианты включают «RPi.GPIO» и «WiringPi». Эти библиотеки предоставляют удобные абстракции и дополнительные функции для обработки кнопок GPIO.
Кнопки GPIO — это фантастические устройства ввода, которые могут добавить интерактивности вашим проектам «Сделай сам». В этой статье мы рассмотрели различные методы использования кнопок GPIO, включая методы опроса, прерываний и устранения дребезга. Мы также продемонстрировали примеры кода с использованием популярных библиотек Python, таких как RPi.GPIO и gpiozero. Итак, возьмите Raspberry Pi, подключите несколько кнопок и начните экспериментировать с кнопками GPIO в своих проектах!