Il faut également tenir compte du fait que la première lecture donnée par l'ADC est fausse donc faire plutot:
float lm35dz(){
analogRead(3);
delay(10);
reading = analogRead(3); //LM35DZ connect to Analog pin 3
//convert the voltage into temperature because the LM35DZ is at 10mV per °C
voltage = reading * 5.0 / 1024.0;
temperature = voltage * 100 ;
return temperature;
}
Dans ton code c'est mieux de préciser A0 que 0 dans la dclaration du pin utilisé, et même le mieux est de prévoir une constante à changer au début du programme directement, dans ta déclaration il faut spécifier:
analogRead(A0);
et non:
analogRead(0);
car cela peut poser des problèmes sur certaines carte.
Et je ne sais pas pourquoi mais ton schéma Fritzing ta sortie du LM35 ca entre les pins VIN et A0 mais pas sur A0?
![]()