from machine import Pin
from time import sleep
# Define LEDs
led_pins = [Pin(i, Pin.OUT) for i in range(8)] # LEDs from Pin 0 to Pin 7
def binary_to_leds(number):
"""Convert the given number to binary and apply it to the LEDs"""
binary_representation = "{:08b}".format(number) # 8-bit binary representation
# Turn off all LEDs first
for led in led_pins:
led.value(0)
# Turn on LEDs based on binary representation
for i in range(8):
led_pins[i].value(int(binary_representation[7 - i])) # Reverse the bit order
print("Enter a value between 0 and 255 ('q' to quit).")
while True:
user_input = input("Enter a value: ").strip() # Get user input
print(f"You entered: {user_input}") # Print the user's input
if user_input.lower() == 'q': # Exit command
print("Exiting...")
break
try:
number = int(user_input)
if 0 <= number <= 255:
binary_to_leds(number)
print(f"The number {number} has been applied to the LEDs.")
else:
print("Please enter a number between 0 and 255!")
except ValueError:
print("Invalid input! Please enter a number.")
sleep(0.1) # Delay