from machine import Pin, ADC, I2C
from time import sleep
from math import log
import ssd1306
beta = 3950
T0 = 25+273.15
sensor = ADC(32)
button = Pin(2, Pin.IN, Pin.PULL_DOWN)
led = Pin(22, Pin.OUT)
i2c = I2C(0)
display = ssd1306.SSD1306_I2C(128, 64, i2c)
display.fill(0)
display.text('----------------', 0, 0, 1)
display.text(' PUSH TO READ ', 0, 10, 1)
display.text('----------------', 0, 20, 1)
display.show()
while True:
if button.value() == 1:
led.value(1)
digital_value = sensor.read()
analog_value = digital_value * 3.3/4095
Tm = (1/(log(1/((4095/digital_value) - 1))*(1/beta) + (1/T0))) - 273.15
#print("Valore digitale: ", digital_value ,"\tVm: ", analog_value, "V", "\tTm [°C]: ", Tm)
#sleep(1)
display.fill(0)
display.text('----------------', 0, 0, 1)
display.text(' PUSH TO READ ', 0, 10, 1)
display.text('----------------', 0, 20, 1)
display.text(' T = '+str(round(Tm,2))+' C', 0, 40, 1)
display.show()
sleep(1)
else:
display.fill(0)
display.text('----------------', 0, 0, 1)
display.text(' PUSH TO READ ', 0, 10, 1)
display.text('----------------', 0, 20, 1)
display.show()
led.value(0)