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


import RPi.GPIO as GPIO
import time

GPIO.setwarnings(False)
# Настройка режима нумерации пинов
GPIO.setmode(GPIO.BCM)

# Список пинов, к которым подключены светодиоды
led_pins = [4, 17, 27, 16, 20, 21, 12, 5, 6, 13, 19, 26]

# Настройка всех пинов как выходы
for pin in led_pins:
    GPIO.setup(pin, GPIO.OUT)
    GPIO.output(pin, GPIO.LOW)  # Изначально все выключены

try:
    while True:
        # Вариант 1: Бегущая волна (каждый диод включается по очереди)
        for pin in led_pins:
            GPIO.output(pin, GPIO.HIGH)  # Включаем текущий диод
            time.sleep(0.2)              # Пауза 0.2 секунды
            GPIO.output(pin, GPIO.LOW)   # Выключаем текущий диод
        
        # Вариант 2: Попеременное мигание всеми диодами (раскомментируйте, если нужен этот вариант)
        # Все диоды включаются одновременно на 0.5 сек, затем выключаются на 0.5 сек
        """
        for pin in led_pins:
            GPIO.output(pin, GPIO.HIGH)
        time.sleep(0.5)
        for pin in led_pins:
            GPIO.output(pin, GPIO.LOW)
        time.sleep(0.5)
        """
        
        # Вариант 3: Ваш исходный паттерн (включить-пауза-выключить-пауза) для всех диодов сразу
        # (раскомментируйте, если нужен этот вариант)
        """
        for pin in led_pins:
            GPIO.output(pin, GPIO.HIGH)
        time.sleep(1)
        for pin in led_pins:
            GPIO.output(pin, GPIO.LOW)
        time.sleep(1)
        """

except KeyboardInterrupt:
    # Очистка при прерывании программы (Ctrl+C)
    print("\nПрограмма остановлена пользователем")
finally:
    # Выключаем все диоды и освобождаем GPIO
    for pin in led_pins:
        GPIO.output(pin, GPIO.LOW)
    GPIO.cleanup()
    print("GPIO очищены")