Это старая версия документа!
Раньше мы работали с кнопкой в процедурном стиле. Чтобы понять была ли нажата кнопка мы создавали переменную со старым состоянием кнопки сравнивали с новым. Теперь попробуем сделать это все по- другому. Создадим класс кнопки и объекты для конкретных кнопок.
Соберем простую схему для работы с кнопкой. Пусть при нажатии на кнопку светодиод загорается на 1 секунду.
Теперь напишем программный код. Пусть, когда кнопка не нажата, светодиод не горит. А при нажатии кнопки— горит.
from machine import Pin import time _init() LedPin = 0 led = Pin(LedPin, Pin.OUT) class Button: def __init__(self, p, pressSate): self.pin = Pin(p, Pin.IN) self.pressSate = pressSate self.oldState = not pressSate def onPress(self): state = self.pin.value() if state != self.oldState: self.oldState = state if state == self.pressSate: return True return False btn = Button(16, 1) while True: if btn.onPress(): led.on() time.sleep(1) else: led.off()