Загрузка данных


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) # Маленькая пауза, чтобы процессор отдыхал