Arduino todos los pines de entrada del mismo valor

2

Aquí está la situación: Tengo un Arduino mega 2560 y estoy tratando de analogRead de 2 pines diferentes.

código:

void setup()
{
  pinMode(A0, INPUT);
  pinMode(A15, INPUT);
  Serial.begin(9600);
}

void loop()
{
  Serial.print("0:");
  Serial.print(analogRead(A0));
  Serial.print(" 15:");
  Serial.println(analogRead(A15));
}

El voltaje que estoy tratando de medir es el suministro de arduino de 3.3 V conectado directamente al pin de entrada del ADC y el resultado que recibo varía según la conexión de las entradas:

Ambas entradas flotan:
A0 : 376 , A15 : 376

A0 conectado, A15 flotante:
A0 : 771 , A15 : 655

A0 flotante, A15 conectado:
A0 : 409 , A15 : 696

A0 conectado, A15 conectado:
A0 : 782 , A15 : 780

¿Cuál es la causa de esta fluctuación?

    
pregunta user36976

1 respuesta

4

Como dijo el usuario alexan_e en los comentarios, tiene estos problemas porque sus pines de entrada analógica están flotando.

Nunca deje el pin de entrada cualquiera flotando si es posible. Con la E / S digital, esto podría llevar a un mayor consumo de energía. Este problema no aparece con la E / S analógica, sin embargo, se encontrará con otros problemas como el que describió. Eche un vistazo a esta pregunta para ver otras razones para evitar que los pines de entrada floten.

Lo que te sugiero es que todas tus entradas, especialmente las que te interesan, tienen un camino hacia un voltaje conocido a través de alguna resistencia; a menudo, la respuesta es una resistencia desplegable, pero eso depende típicamente de lo que tratando de lograr ¿Qué tan grande es esta resistencia depende de la impedancia del circuito de conducción y del ruido, pero por lo general algo entre 10K y 1M ohms; los valores más bajos son buenos para el ruido, los valores más altos son buenos para maximizar la impedancia de entrada y la respuesta de baja frecuencia para circuitos acoplados a CA.

    
respondido por el Jarhmander

Lea otras preguntas en las etiquetas