from machine import Pin  # Desde la librería machine importo la función 'Pin' que me permite interactuar con pines digitales
from time import sleep  # Desde la librería time importo la función sleep para controlar retardos en segundos

# Definir los pines de los LEDs
led1 = Pin(23, Pin.OUT)
led2 = Pin(22, Pin.OUT)
led3 = Pin(1, Pin.OUT)
led4 = Pin(36, Pin.OUT)
led5 = Pin(39, Pin.OUT)
led6 = Pin(34, Pin.OUT)

print("Calculadora Resistencias en Paralelo")
print("--------------------------------------------------------------------------------")

# Solicitar los valores de las resistencias
R1 = float(input("Introduzca valor Resistencia 1: "))
R2 = float(input("Introduzca valor Resistencia 2: "))
R3 = float(input("Introduzca valor Resistencia 3: "))

# Calcular la resistencia total en paralelo
R_total = 1 / ((1 / R1) + (1 / R2) + (1 / R3))

# Mostrar la resistencia total
print("La resistencia total es: " + str(R_total) + "Ω")

# Bucle infinito para controlar los LEDs según el valor de la resistencia total
while True:
    if R_total < 100:
        led4.value(1)  # Enciende el LED 4 si la resistencia es menor a 100
        led5.value(0)  # Apaga el LED 5
        led6.value(0)  # Apaga el LED 6
    elif 100 <= R_total < 1000:
        led4.value(0)  # Apaga el LED 4
        led5.value(1)  # Enciende el LED 5 si la resistencia está entre 100 y 1000
        led6.value(0)  # Apaga el LED 6
    else:
        led4.value(0)  # Apaga el LED 4
        led5.value(0)  # Apaga el LED 5
        led6.value(1)  # Enciende el LED 6 si la resistencia es mayor a 1000
    
    sleep(10)  # Pausa de 10 segundos antes de volver a comprobar