import machine
import time
ANALOG_PIN = 26
BUTTON_PIN = 16
last_button_press_time = 0
def read_analogue_voltage(pin):
sum_values = 0
num_samples = 16
for _ in range(num_samples):
sum_values += pin.read_u16()
average_value = (sum_values / num_samples) * 3.3 / 65535
voltage_mv = int(average_value * 1000)
print("Analog Voltage: {} mV".format(voltage_mv))
def setup():
global last_button_press_time
last_button_press_time = 0
adc = machine.ADC(machine.Pin(ANALOG_PIN))
button = machine.Pin(BUTTON_PIN, machine.Pin.IN, machine.Pin.PULL_UP)
while True:
if button.value() == 0:
current_time = time.ticks_ms()
if current_time - last_button_press_time > 200:
read_analogue_voltage(adc)
last_button_press_time = current_time
time.sleep_ms(10)
if __name__ == '__main__':
setup()