Реверсивный счетчик
import RPi.GPIO as GPIO import time # Настройки INCREASE_PIN = 17 # Пин для увеличения счетчика DECREASE_PIN = 27 # Пин для уменьшения счетчика START_COUNT = 0 # Начальное значение счетчика DELAY_MS = 10 # Интервал записи в миллисекундах PAUSE_THRESHOLD_MS = 100 # Порог паузы в миллисекундах OUTPUT_FILE = "counter_log.txt" # Файл для записи показаний DEBOUNCE_TIME_MS = 50 # Обработка дребезга GPIO.setmode(GPIO.BCM) GPIO.setup(INCREASE_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(DECREASE_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) def write_counter_value(count): with open(OUTPUT_FILE, "a") as f: f.write(f"{count}\n") def main(): count = START_COUNT last_change_time = 0 # Для отслеживания времени последнего изменения last_write_time = time.time() write_counter_value(count) increase_debounce = 0 decrease_debounce = 0 while True: ...