#Module de capteur de température analogique de KY-013
from machine import ADC, Pin
from time import sleep_ms
import math
capteur = ADC(Pin(34, mode= Pin.IN))
capteur.width(ADC.WIDTH_12BIT) # convertisseur 12bit de 0 à 4095
capteur.atten(ADC.ATTN_11DB) # plage de mesure de 0v à 1.2v
BETA = 3950 # // should match the Beta Coefficient of the thermistor
def calculate_temperature(analog_value, BETA):
try:
# Calculer la température en Kelvin
temperature_kelvin = 1.0 / (math.log(1.0 / (4095.0 / analog_value - 1)) / BETA + 1.0 / 298.15)
# Convertir la température de Kelvin à Celsius
temperature_celsius = temperature_kelvin - 273.15
return temperature_celsius
except ValueError:
# En cas d'erreur de calcul, retourner None
return None
while True :
valeur_mesure = capteur.read() #faire une mesure chaque 100ms
tension = (valeur_mesure*3.3)/4096
# temperature = tension/0.01 #C équation du capteur LM35
temperature = calculate_temperature(valeur_mesure,BETA)
print(f"valeur_num = {valeur_mesure} & tension = {tension} & Temperature = {temperature}")
sleep_ms(1000)