Arduino a une valeur d'entrée dans la broche déconnectée

9

Je suis nouveau sur Arduino. C'est peut-être une question élémentaire ...

Si je charge ce programme:

int mval = 0;
void setup() {
  Serial.begin(9600);
  // set up the LCD's number of columns and rows: 

}

void loop() {

  mval = analogRead(1);
  Serial.println(mval);

  delay(1000);
 }

J'obtiens une valeur qui varie entre 300 et 400. Quand je pense que ça doit être 0, étant qu'il n'y a rien connecté à cette entrée.

Des idées?? C'est un Arduino UNO connecté à mon ordinateur portable via USB

limoragni
la source

Réponses:

12

Vous obtenez quelque chose appelé "entrée flottante". Quand on y pense, un appareil idéal pour mesurer l'entrée aura une impédance d'entrée très élevée, et donc ne retirera pas beaucoup d'électricité de la broche.

Donc, ce qui se passe, c'est que des électrons aléatoires flottent sur (ou hors) de la broche (soit à cause d'interférences électromagnétiques dans l'environnement ou d'un contact direct avec quelque chose avec une légère charge), et parce qu'il agit comme une connexion à très haute résistance à sol, cette charge se videra très lentement. Ainsi, lorsque vous allez le mesurer, il semble qu'il y ait de la tension! En général, soit vous connectez cela à un appareil qui fournit une tension, soit vous installez une résistance pull-up ou pull-down et ajustez vos attentes sur cette broche.

J'espère que cela aide et sinon je suis sûr que quelqu'un a un lien vers une autre personne qui a répondu à cette question de manière plus compétente (je vois dans la section connexe au moins une question presque identique ).

Kit Scuzz
la source
5
Fait amusant: les documents Arduino suggèrent d'utiliser la valeur de retour d'un analogReadappel sur une broche inutilisée comme graine de la randomSeedfonction: arduino.cc/hu/Reference/RandomSeed
Chris Laplante
2
Ha! C'est assez soigné, j'aime ça! Je pense que l'ajout d'une petite ligne de fil ondulé à votre planche à pain et / ou PCB pourrait aider à obtenir un peu plus de hasard tant que vous évitiez une longueur d'antenne de 60 Hz (préoccupation aux États-Unis uniquement) (puis soudainement, le bruit CA dominerait)
Kit Scuzz
3
Une approche plus robuste (et peu encombrante) consisterait à utiliser le générateur de nombres aléatoires standard RFC 1149.5
Chris Laplante
4

L'entrée est "flottante", car il n'y a rien de connecté pour "tirer" la tension dans un sens ou dans l'autre.
C'est parfaitement normal. Si vous connectez une résistance de rappel à haute impédance (disons 10k) de la broche à la masse, cela l'empêchera de faire cela lorsque rien n'est connecté (bien qu'il n'y ait pas vraiment besoin de le faire car vous ne le lirez pas quand rien n'est lié ;-))

Oli Glaser
la source
La résistance de pull-down changera-t-elle le signal si elle est connectée à l'ADC?
user30878