import machine
import time
# Настраиваем четвертую кнопку (на экране Waveshare 1.3 кнопка D подключена к пину GP15)
# Кнопки на этом экране при нажатии выдают "0" (замыкают на землю)
button_d = machine.Pin(15, machine.Pin.IN, machine.Pin.PULL_UP)
print("Робот запущен. Кнопка D готова к работе!")
while True:
# Проверяем, нажата ли кнопка (значение 0 означает нажатие)
if button_d.value() == 0:
start_time = time.time() # Засекаем время начала нажатия
# Пока кнопка удерживается пальцем, плата просто ждет
while button_d.value() == 0:
time.sleep(0.05)
end_time = time.time() # Кнопку отпустили! Засекаем время окончания
hold_duration = end_time - start_time # Считаем, сколько секунд её держали
# --- ЛОГИКА ОПРЕДЕЛЕНИЯ НАЖАТИЯ ---
if hold_duration >= 1.5:
# Если держали дольше полутора секунд
print("Определено: ДЛИННОЕ УДЕРЖАНИЕ! Робот: 'Пока!' *Выключение*")
# Здесь будет код, который гасит экран и усыпляет плату
else:
# Если нажали и быстро отпустили
print("Определено: КОРОТКОЕ НАЖАТИЕ! Действие: НАЗАД В МЕНЮ")
# Здесь будет код возврата в главное меню
time.sleep(0.1) # Маленькая пауза, чтобы процессор отдыхал