Это старая версия документа!
Попробуем создать имитировать кнопку с фиксацией. После первого нажатия на кнопку светодиод зажигается, а гаснет после второго нажатия. Для этой цели можно применять кнопку с механической фиксацией положения включено- выключено, но мы реализуем ее программными средствами. Просто при обработке нажатия на кнопку будем учитывать ее предыдущее состояние и запоминать его.
Схема эксперимента не изменилась по сравнению с прошлым, изменения будут только в программной части
Рисунок 4. Электрическая принципиальная схема эксперимента
На рисунке изображен токоограничительный резистор последовательно со светодиодом. При сборке схемы мы не будем устанавливать его сами так как он уже установлен на плате конструктора.
from machine import Pin _init() ButtonPin = 16 LedPin = 0 old_button_value = 0 LedState = 0 Button = Pin(ButtonPin, Pin.IN) Led = Pin(LedPin, Pin.OUT) while True: button_value = Button.value() if old_button_value != button_value and button_value == 1: if LedState: Led.off() LedState = 0 else: Led.on() LedState = 1 old_button_value = button_value
Создадим две переменные:
old_button_value
будем использовать для хранения результата прошлой проверки состояния кнопки. Это нам потребуется для выявления факта нажатия на кнопку. Если при прошлой проверке кнопка была не нажата, а при текущей проверке нажата — значит только что произошло нажатие.LedState
будем использовать для хранения текущего состояния светодиода — включен он или выключен. Для того, чтобы менять это состояние на противоположное после фиксации факта нажатия на кнопку.