Untitled
unknown
plain_text
a year ago
2.8 kB
8
Indexable
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()
Editor is loading...
Leave a Comment