Arduino tiene un valor de entrada en el pin desconectado

9

Soy nuevo en Arduino. Tal vez es una pregunta elemental ...

Si cargo este programa:

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);
 }

Obtengo un valor que varía entre 300 y 400. Cuando creo que tiene que ser 0, ya que no hay nada conectado a esa entrada.

¿¿Algunas ideas?? Es un arduino UNO conectado a mi computadora portátil a través de USB

limoragni
fuente
Relacionado: raspberrypi.stackexchange.com/q/14680
Hello World el

Respuestas:

12

Estás obteniendo algo llamado "entrada flotante". Cuando lo piensa, un dispositivo ideal para medir la entrada tendrá una impedancia de entrada muy alta y, por lo tanto, no eliminará mucha electricidad del pin.

Entonces, lo que sucede es que los electrones aleatorios flotan en (o salen) del pin (ya sea por interferencia electromagnética en el medio ambiente o por contacto directo con algo con una ligera carga), y porque actúa como una conexión de resistencia muy alta a tierra, esta carga se drenará muy lentamente. Por lo tanto, cuando va a medirlo, ¡parece que hay algo de voltaje allí! En general, conecta esto a algún dispositivo que proporciona un voltaje, o coloca una resistencia pull-up o pull-down y ajusta sus expectativas en ese pin.

Espero que eso ayude y, si no, estoy seguro de que alguien tiene un enlace con otra persona que ha respondido esta pregunta de manera más competente (veo en la sección relacionada al menos una pregunta casi idéntica ).

Kit Scuzz
fuente
55
Dato curioso: los documentos de Arduino sugieren usar el valor de retorno de una analogReadllamada en un pin no utilizado como la semilla de la randomSeedfunción: arduino.cc/hu/Reference/RandomSeed
Chris Laplante
2
¡Decir ah! Eso está muy bien, me gusta! Creo que agregar una pequeña línea de cable ondulado a su placa de pruebas y / o PCB podría ayudar a obtener un poco más de aleatoriedad siempre que evite una longitud de antena de 60Hz (solo preocupación de EE. UU.) (Entonces, de repente, el ruido de CA dominaría)
Kit Scuzz
3
Un enfoque más robusto (y que ahorre
Chris Laplante
4

La entrada está "flotando", porque no hay nada conectado para "tirar" del voltaje de una forma u otra.
Esto es perfectamente normal. Si conecta una resistencia pull-down de alta impedancia (digamos 10k) desde el pin a tierra, dejará de hacerlo cuando no hay nada conectado (aunque no hay necesidad real de hacerlo, ya que no lo leerá cuando no hay nada) conectado ;-))

Oli Glaser
fuente
¿La resistencia desplegable cambiará la señal si está conectada al ADC?
user30878