print("Hello, ESP32!")
#####################################
###### IMPORT LIBRARIES
from machine import Pin, Timer
from time import sleep
#####################################
###### PIN CONFIGURATIONS
# GPIO pin numbers for LED bar (replace with your actual pins if different)
led_bar_pins = [19, 18, 5, 17, 16, 4, 0, 2, 15, 8]
# Create Pin objects for each LED
led_bar = [Pin(pin, Pin.OUT) for pin in led_bar_pins]
#####################################
###### SUBROUTINE FOR LED BAR
def sub_led_bar():
# Forward direction
for pin in led_bar:
pin.on()
sleep(0.05)
pin.off()
# Reverse direction
for pin in reversed(led_bar):
pin.on()
sleep(0.05)
pin.off()
#####################################
###### TIMER CALLBACK FUNCTION
def timer_callback(timer):
sub_led_bar()
sleep(0.5) # simulate ON time
for pin in led_bar:
pin.off()
sleep(0.5) # simulate OFF time
#####################################
###### INITIALIZE TIMER (every 2 seconds)
myTimer = Timer(1)
myTimer.init(period=2000, mode=Timer.PERIODIC, callback=timer_callback)
#####################################
###### MAIN ROUTINE
def main():
while True:
sleep(10) # Main loop idle
#####################################
###### EXECUTE MAIN ROUTINE
if __name__ == '__main__':
main()