print("Program for external LED Blinking")
print("Date: 28/10/2024")
print("Created by :BAT")
# Import Libraries/Modules
from machine import Pin, ADC
import time
# Pin Declaration
potentiometer_pin = ADC(Pin(34)) # Potentiometer analog input
red_led = Pin(2, Pin.OUT) # ESP32 onboard LED (example GPIO2)
# Main Program
while True:
try:
# Read Potentiometer value
potentiometer_value = potentiometer_pin.read() # Reading ADC value (0-4095 range)
voltage = (potentiometer_value / 4095) * 3.3 # Convert to voltage (assuming 3.3V ADC reference)
# Debugging Info
print(f"Potentiometer Voltage: {voltage:.2f}V")
# LED Control based on voltage threshold
if voltage > 1.65: # High voltage condition (example threshold: 1.65V)
red_led.value(1) # Turn ON onboard LED
else: # Low voltage condition
red_led.value(0) # Turn OFF onboard LED
# Delay for the next cycle
time.sleep(2)
except Exception as e:
# Handle sensor or other errors
print("Error:", e)
time.sleep(2) # Delay to prevent rapid retries