problème sur entrées analogiques

Bonjour
J'utililse un capteur de température analogique LM35 qui délivre 10 mV.°C
Je fais un bête analogRead(N°_de _broche) sur les broches A1 à A5 d'une carte Uno, et le terminal série me retourne 45 ou 46. Valeurs normales qui après mise à l'échelle correspondent à 45*500/1023 = 22°C.
Je recommence l'expérience sur une 2ème carte Uno et la rien ne va plus. Pour chaque broche analogiques testées, la valeur retournée est différente, et n'est plus du tout dans l'ordre de grandeur. Cependant, la valeur retournée oscille d'une unité se qui semble signifier qu'elle est sensible aux variations du capteur de température.
Les valeurs retournées selon les N° de broches sont:
broche 1: 283/284
broche 2: 199/200
broche 3: 379/380
broche 4: 130/131
broche 5: 977/978

Mes entrées analogiques seraient-elles toutes défectueuses?

Merci d'avance pour vos explications, s'il y en a

Masse bien connectée avec la seconde carte Uno ?

Bonjour,

Testes les entrées analogiques avec un potentiomètre pour voir si elles fonctionnent correctement.
Personnellement j'ai eu des problèmes avec un lot de LM35 qui donnaient n'importe quoi.

Merci pour vos conseils
Le capteur est bien alimenté entre masse et 5V. Mais qu'il soit présent ou non sur les entrées analogiques de la carte incriminée, je mesure au voltmètre des tensions qui correspondent aux valeur bizarres retournées.
Mise à zéro, seules A1 et A2 retournent zéro, les autres restent sur leurs valeurs initiales.
Je n'ai pas de potentiomètre, mais j'ai fait un pont diviseur avec 2 résistances de 2.2 k. Toutes les entrées me retournent restent sur leur valeur d'origine.

Point 1
Le convertisseur analogique digital est associé à un multiplexeur analogique.

Quand on fait une mesure analogique la datasheet du micro dit clairement qu'il faut s'assurer que l'ensemble est dans un état stable.

En conséquence quand on lance le convertisseur ou quand on change d'entrée dite analogique il faut toujours jeter la première mesure.
Ce n'est peut-être pas là la seule cause de problèmes mais c'est certain que s'en est une.

Point 2
Utilisation du LM35*: On va faire du préventif*
Avec une réponse de 10 mV/°C la mesure est très sensible aux perturbations extérieures.

Pour commencer le lm35 doit avoir son propre fil de masse qu'il ne doit partager avec aucun autre composant.
Ensuite par défaut la ref du convertisseur analogique est le Vcc de la carte.

Ce Vcc ne fera jamais 5,0000000000000 V surtout s'il est fourni par l'USB où il sera compris entre 4,75 V et 5,25 V.
Les mesures sont toujours à quelques LSB près (équivalent pas de mesure dans le cas du LM35) --> voir le chapitre correspondant dans la datasheet du micro.
Si tu veux de la précision il faut s'éloigner de ce bruit de quelques LSB c'est à dire qu'il est préférable que le convertisseur renvoie 150 ou 200 plutôt que 15 ou 20.

Pour augmenter le nombre de pas il faut choisir une valeur de référence proche de la valeur à mesurer.
Ici tu n'as pas le choix tu ne peut pas faire mieux que la réf interne à 1,1 V.

Mais attention la datasheet du micro dit que selon le lot de fabrication la valeur de Vref fait 1,1 V +/- 10 %. soit entre 1V et 1,2 V.
Il faudra mesurer cette valeur Vref qui quand la ref interne est sélectionnée se retrouve sur la pin AREF.
Soit tu utilise la valeur mesurée dans ton code, soit tu enregistre cette valeur dans l'eeprom du micro ce qui rend ton code portable sur une autre carte UNO.

A 68tjs

J'ai bien pris soin d'éliminer la 1ère mesure. Et au vue des divergence des valeurs retournées selon que j'utilise les entrées de A1 à A5 (de 1 à 7 fois plus!), le problème n'est pas un problème de précision, même si ta remarque est tout à fait juste.
Par ailleurs je te rappelle que sur la carte Uno N° 1, cela fonctionne correctement (aux incertitudes de mesures près, comme tu l'as expliqué)