import time
time.sleep(0.1) # Wait for USB to become ready
import machine
import utime
import urandom
import uasyncio as asyncio
# Define GPIO pins for the LEDs
led_pins = [machine.Pin(i, machine.Pin.OUT) for i in range(2, 10)]
# Function to turn all LEDs off
def turn_off_all_leds():
for led_pin in led_pins:
led_pin.value(0)
# Function for each LED to create a random firefly-like glowing effect
async def led_glow_effect(led_pin):
while True:
# Simulate a glowing effect for each LED independently
for _ in range(5): # Adjust the number of iterations for the desired effect
led_pin.value(1)
await asyncio.sleep_ms(urandom.randint(100, 5000))
led_pin.value(0)
await asyncio.sleep_ms(urandom.randint(100, 10000))
# Main program
turn_off_all_leds()
# Start an asynchronous event loop
loop = asyncio.get_event_loop()
# Start a coroutine for each LED
for led_pin in led_pins:
loop.create_task(led_glow_effect(led_pin))
# Keep the event loop running
loop.run_forever()