import machine
import time
# Definir los pines de salida para los LEDs
led_pins = [machine.Pin(pin, machine.Pin.OUT) for pin in range(4)]
# Función para convertir un número decimal a código Gray
def decimal_to_gray(decimal):
return decimal ^ (decimal >> 1)
# Función para actualizar los LEDs con el valor del contador en código Gray
def update_leds(gray_value):
for i in range(4):
led_pins[i].value((gray_value >> i) & 1)
# Inicializar el contador
contador_gray = 0
# Bucle principal para incrementar el contador y actualizar los LEDs
while True:
# Convertir el contador actual a código Gray
gray_value = decimal_to_gray(contador_gray)
# Actualizar los LEDs con el valor en código Gray
update_leds(gray_value)
# Incrementar el contador
contador_gray = (contador_gray + 1) % 16 # Contador de 4 bits, por lo que el máximo valor es 15
# Esperar un tiempo antes de incrementar el contador de nuevo
time.sleep(1) # Espera 1 segundo