Untitled

mail@pastecode.io avatar
unknown
plain_text
19 days ago
2.8 kB
1
Indexable
Never
import RPi.GPIO as GPIO
import time

# Definir os pinos dos LEDs e da lâmpada, excluindo os pinos 23 e 24
LED_PINS = [17, 27, 22, 5, 6, 13, 19, 26]
LAMPADA_PIN = 12

# Configurar os pinos GPIO
GPIO.setmode(GPIO.BCM)
for pin in LED_PINS:
    GPIO.setup(pin, GPIO.OUT)
GPIO.setup(LAMPADA_PIN, GPIO.OUT)

# Definir a sequência de ações conforme o padrão especificado
sequencia_acoes = [
    (['Led1', 'Led2'], None, 2),
    (['Led3'], None, 2),
    (['Led4'], None, 2),
    (['Led5', 'Led6'], None, 2),
    (['Led7', 'Led8'], ['Led1', 'Led2'], 2),
    (['Led3'], None, 2),
    (None, ['Lâmpada'], 2),
    (['Led4'], None, 2),
    (['Led5', 'Led6'], None, 2),
    (['Led4'], None, 2),
    (None, ['Lâmpada'], 2),
    (['Led4'], None, 2),
    (['Led5', 'Led6'], None, 2),
    (['Led4'], None, 2),
    (None, ['Lâmpada'], 2),
    (['Led7', 'Led8'], ['Led1', 'Led2'], 2),
    (['Led3'], None, 2),
    (['Led5', 'Led6'], None, 2),
    (None, ['Lâmpada'], 2),
    (['Led7', 'Led8'], ['Led1', 'Led2'], 2),
    (['Led5', 'Led6'], None, 2),
    (['Led3'], None, 2),
    (['Led1', 'Led2'], None, 2),
    (['Led5', 'Led6'], None, 2),
]

def sequencia_leds_lampada():
    for acao in sequencia_acoes:
        leds_on = acao[0]
        lampada_on = acao[1]
        duracao = acao[2]
        
        # Desligar todos os LEDs e a lâmpada
        for pin in LED_PINS:
            GPIO.output(pin, False)
        GPIO.output(LAMPADA_PIN, False)
        
        # Ligar os LEDs especificados na ação
        if leds_on:
            for led in leds_on:
                if led == 'Led1':
                    GPIO.output(LED_PINS[0], True)
                elif led == 'Led2':
                    GPIO.output(LED_PINS[1], True)
                elif led == 'Led3':
                    GPIO.output(LED_PINS[2], True)
                elif led == 'Led4':
                    GPIO.output(LED_PINS[3], True)
                elif led == 'Led5':
                    GPIO.output(LED_PINS[4], True)
                elif led == 'Led6':
                    GPIO.output(LED_PINS[5], True)
                elif led == 'Led7':
                    GPIO.output(LED_PINS[6], True)
                elif led == 'Led8':
                    GPIO.output(LED_PINS[7], True)
        
        # Ligar a lâmpada se especificado na ação
        if lampada_on:
            GPIO.output(LAMPADA_PIN, True)
        
        # Esperar pela duração especificada
        time.sleep(duracao)
        
    # Fim da sequência, desligar todos os LEDs e a lâmpada
    for pin in LED_PINS:
        GPIO.output(pin, False)
    GPIO.output(LAMPADA_PIN, False)

# Chamada da função principal
sequencia_leds_lampada()

# Limpeza dos pinos GPIO ao final do programa
GPIO.cleanup()
Leave a Comment