Comento mini avances y macro dudas jajaja.
Un pasito adelante y tres atrás.
Finalmente estoy usando los pines 3,5,7,11,12,13
Los jumper estan en Low
El código de pruebas es este.
import RPi.GPIO as GPIO
import time
from datetime import datetime, timedelta
# Definir pines GPIO para cada relé
pines_reles = [3,5,7,11,12,13]
# Función para configurar pines GPIO
def configurar_pines():
GPIO.setmode(GPIO.BOARD)
for pin in pines_reles:
GPIO.setup(pin, GPIO.OUT)
GPI
utput(pin, GPIO.LOW)
# Función para obtener la hora actual formateada
def obtener_hora_actual():
return datetime.now().strftime('%H:%M:%S')
# Función para encender un relé específico
def encender_rele(numero_rele):
GPI
utput(pines_reles[numero_rele - 1], GPIO.HIGH)
print(f"Relé {numero_rele} Encendido - {obtener_hora_actual()}")
time.sleep(3)
GPI
utput(pines_reles[numero_rele - 1], GPIO.LOW)
print(f"Relé {numero_rele} Apagado - {obtener_hora_actual()}")
time.sleep(3)
# Función principal
def main():
configurar_pines()
# Esperar hasta la hora especificada para el encendido
tiempo_espera_encendido = datetime.now().replace(hour=15, minute=5, second=0, microsecond=0) - datetime.now()
time.sleep(max(tiempo_espera_encendido.total_seconds(), 0))
print("Comienza el Encendido")
for i in range(1, 7):
encender_rele(i)
GPIO.cleanup()
if __name__ == "__main__":
main()
Lo que hace es encender un rele, esperar tres segundos y encender otro relé. Asi de uno en uno hasta hacer el bucle con los 6 relé.
El problema viene al encender varios seguidos sin apagar el anterior.
Enciende el rele 1 y cuando va a encender el relé 2 se encienden todos, al encender el 3 no hace nada, al encender 4 no hace nada, al encender 5 apaga todos menos 6, al encerder 6 apaga 6........
No se si se entenderá pero es que es complicado.
A ver si se os ocurre algo. Si ayuda subo video