import time
import math
from machine import ADC, Pin
global NTC_pin
last_button_time_stamp = 0
BETA = 3950
R1 = 10000
V_REF = 3.3
NTC_pin = machine.ADC(26)
NTC_ADC = 0
button_pressed = False
def int_handler(pin):
global button_pressed
global last_button_time_stamp
cur_button_ts = time.ticks_ms()
button_press_delta = cur_button_ts - last_button_time_stamp
if button_press_delta > 200:
last_button_time_stamp = cur_button_ts
button_pressed = True
def temp():
NTC_ADC = NTC_pin.read_u16()
voltage = (NTC_ADC / 65535) * V_REF
resistance = R1 / ((V_REF / voltage) - 1)
kelvin = 1 / (1 / 298.15 + 1 / BETA * math.log(resistance / 10000))
celsius = kelvin - 273.15
return celsius
def main():
global button_pressed
button = Pin(0, Pin.IN, Pin.PULL_UP)
button.irq(trigger = Pin.IRQ_FALLING, handler = int_handler)
while True:
if button_pressed == True:
button_pressed = False
x = temp()
print(x)
if __name__== '__main__':
main()