from machine import Pin, ADC
import time
print("Hello, ESP32!")
print("Ahmad Zuhairi Bin Wahidudin")
# Define LED pins
led_pins = [33, 32, 25, 12, 13]
# Create LED objects
leds = [Pin(pin, Pin.OUT) for pin in led_pins]
# Define potentiometer pin
pot_pin = 34
adc = ADC(Pin(pot_pin))
adc.atten(ADC.ATTN_11DB)  # Set attenuation to 11 dB for 3.3V range
# Function to light up LEDs based on potentiometer value
def update_leds(value):
    for i in range(len(leds)):
        leds[i].off()  # Turn off all LEDs
    if value < 20:
        pass  # All LEDs off
    elif 20 <= value < 30:
        leds[0].on()
    elif 30 <= value < 50:
        leds[0].on()
        leds[1].on()
    elif 50 <= value < 80:
        leds[0].on()
        leds[1].on()
        leds[2].on()
    else:
        for led in leds:
            led.on()  # All LEDs on
# Main loop
while True:
    pot_value = adc.read()  # Read potentiometer value
    percentage = (pot_value / 4095) * 100  # Convert to percentage (assuming 12-bit ADC)
    update_leds(percentage)  # Update LEDs based on percentage
    time.sleep(0.5)  # Adjust delay as needed