from machine import ADC, Timer
from time import sleep
import time
import math
button = machine.Pin(16, machine.Pin.IN, machine.Pin.PULL_UP)
last_button_time = 0
Analog_input = ADC(26)
button_pressed = False
SEVEN_SEGMENT_START_PIN = 0
DISPLAY_COUNT = 4
DECIMAL_PRECISION = 3
display_value = 0
segment_pins = []
display_select_pins = []
current_display_index = DISPLAY_COUNT - 1
display_timer = None
def read_voltage():
digital_val = Analog_input.read_u16()
volt = (digital_val * 3.3) / 65535
milli_volt = volt * 1000
print("voltage: {:.0f}mv".format(milli_volt))
def pin_ID(pin):
return int(str(pin)[8:11].rstrip(","))
def interrupt_handler(pin):
global last_button_time
global button_pressed
current_button_ts = time.ticks_ms()
delta_button_press = current_button_ts - last_button_time
if delta_button_press > 200:
button_pressed = True
print("-----------------------")
print("pressed")
last_button_time = current_button_ts
button.irq(trigger=machine.Pin.IRQ_FALLING, handler=interrupt_handler)
while True:
if button_pressed is True:
voltage_reading = read_voltage()
button_pressed = False