Dans un programme où j'ai besoin d'influer sur deux paramêtres, j'ai branché deux potentiomêtres 10K (5V, GND) sur A0 et A1. Je les mesure toutes les 100ms :
Mon problème est que dans ce cas, la valeur lue sur A1 influe sur la valeur lue sur A0. Autrement dit régler le potentiomêtre A1 influe de +- 10 (500 à 520) sur la valeur lue sur A0. J'ai vérifié au voltmêtre, il n'y a aucune variation de tension sur A0. De même, regler A0 influe sur la valeur lue sur A1. Inverser les deux lignes ne change rien.
Mais plus étrange encore, si je remplace les deux lignes par :
speed = ((analogRead(A0)) - 512) * 2; // speed from -5.12 to 5.11
pp2 = 40000 ;
il n'y a plus aucune influence de la valeur du potentiomêtre A1 sur A0. La mesure de A0 redevient stable et exacte, donc le pb ne parait pas hardware.
J'ai essayé des tempo, des répétitions des mesures, des moyennages de plusieurs mesures rien n'y fait !
Dans ton message, il n'y a ni schéma électrique ni code.
On ne connait même pas la carte micro, ce qui nous permettrait de connaître le microcontrôleur que tu utilises !
Comment peut-on répondre ?
On sort la boule de cristal ?
Un conseil :
Lire :
Et surtout mets bien le code entre balise → icone
Sinon le code est illisible et s'il n'est pas lisible, il n'est pas lu.
C'est vrai, mais c'est encore plus vrai qu'il est plus facile de comprendre un schéma électrique et d'y trouver les renseignements recherchés que de faire une analyse de texte.
@coldbear
Ce qui est important, c'estde connaître comment ces potentiomètres sont branchés.
Cela veut dire quoi "exacte" ?
Un microcontrôleur n'est pas un voltmètre de laboratoire.
Tu devrais regarder la datasheet de ton micro sur ce sujet la mesure se fait "au mieux" à ± 10 pas près.
Encore une question : quel est le pas de mesure du réglage de l'ADC du micro ?
Cela n'expliquerait pas pourquoi "quelques temps" après avoir changé le réglage, le défaut se stabilise et disparait.
C'est pour cela qu'avant d'avancer plus de "suppositions" j'attends de connaître exactement ce que l'ensemble du montage fait.
Depuis la fois où j'ai lu des plaintes sur un LM35 alors que le "réalisateur" avait avec le même fil Dupont relié la masse du LM35 et celle d'un relai à l'arduino.
Et il trouvait anormal que quand le relai était alimenté la température bougeait de 10 °C : pourquoi mon code ne fonctionne pas ?