############################
# E004_RELE.PY: Gestiona un relé
# ENTRADAS: Tiempo de activación
# SALIDAS: Activación relé en GPIO26
############################
from machine import Pin # Gestión del GPIO
import time # Tratamiento de tiempos
pin = 26 # GPIO26 del ESP32©
tmp = 1 # Tiempo de cierre y apertura del relé
# Función que inicia el GPIO26 para relé abierto
def setup():
global relay_pin
relay_pin = Pin(pin, Pin.OUT) # Configura el pin como salida
relay_pin.off() # Inicia el relé en estado apagado
# Bucle de cierre y apertura de relé
def loop():
print('Relé encendido...')
relay_pin.on() # Activa el relé, relé cerrado
time.sleep(tmp) # y lo mantiene tmp segundos
print('Relé apagado...')
relay_pin.off() # Desactiva el relé, relé abierto
time.sleep(tmp) # y lo mantiene tmp segundos
# Parada del script que deja el relé abierto
def parar():
relay_pin.off() # Desactiva el relé
# Cuerpo principal del script
if __name__ == '__main__':
print('Gestión de un relé')
setup() # Inicia el pin GPIO
try:
while True:
loop()
except KeyboardInterrupt:
parar() # Al pulsar CTRL+C, se ejecuta la función para detener el programa