import time
from machine import Pin, ADC
led = Pin(2, Pin.OUT)
adc = ADC(Pin(34))
adc.atten(ADC.ATTN_11DB) # Allow full 0-3.3V ADC range
LED_INTERVAL = 500 # ms
ADC_INTERVAL = 1000 # ms
PRINT_INTERVAL = 2000 # ms
last_led = time.ticks_ms()
last_adc = time.ticks_ms()
last_print = time.ticks_ms()
adc_value = 0
while True:
now = time.ticks_ms()
# Task 1 — toggle LED every 500 ms
if time.ticks_diff(now, last_led) >= LED_INTERVAL:
led.value(not led.value())
last_led = now
# Task 2 — read ADC every 1000 ms
if time.ticks_diff(now, last_adc) >= ADC_INTERVAL:
adc_value = adc.read()
last_adc = now
# Task 3 — print every 2000 ms
if time.ticks_diff(now, last_print) >= PRINT_INTERVAL:
print('ADC reading:', adc_value)
last_print = now