Arduino todos los pines de entrada tienen el mismo valor

Aquí está la situación: tengo un Arduino mega 2560 y estoy tratando de hacerlo analogReaddesde 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.3V conectado directamente al pin de entrada del ADC y el resultado que obtengo varía según la conexión de las entradas:

Ambas entradas flotantes:
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?

Hice algunos cambios en el código para que la impresión fuera más fácil de leer y no agregué los dos puntos, lo siento. cuando digo encendido o apagado me refiero a una entrada de 3.3V de arduino.
OK, entonces, ¿qué quiere decir exactamente con "una entrada de 3.3V de arduino"? ¿Eso representa "encendido" o "apagado"? Estos detalles importan mucho.
cuando hay entrada está encendido y cuando no hay está apagado
¿Puedes mostrar qué alimenta las entradas del ADC? ¿Están las entradas en cortocircuito y conectadas a la misma señal? ¿Hay alguna resistencia o condensador? Un esquema de los pines relevantes ayudaría.
Sin resistencias, es una conexión directa desde el pin arduinos 3.3V a las entradas.
Entonces, ¿está diciendo que si deja una de las entradas ADC flotando (no conectada), el resultado de la otra cambia? ¿Es eso lo que significa encendido/apagado?
sí, cuando una de las entradas recibe señal, la lectura de las otras también cambia
Cuando el pin está "apagado", ¿está conectado a tierra o simplemente tiene un circuito abierto (no conectado a nada)? Si un pin no está conectado, puedo imaginar que las fugas, la diafonía o la carga almacenada podrían dar lecturas falsas.
apagado está completamente desconectado, también conocido como circuito abierto
¿Has probado lecturas sucesivas de un mismo pin? ¿Obtiene la misma lectura incorrecta continuamente o solo durante las primeras conversiones? Tal vez deberías descartar la primera lectura.
He realizado múltiples pruebas, siempre el mismo resultado, es así: todo desconectado está en aproximadamente 350-400, conecte un pin: el pin se dispara a 680-690 y, al mismo tiempo, dentro de 5-6 segundos, el otro pin se eleva a 580-650
Conecte el pin de "apagado" a tierra, para que las fugas/diafonía no den lecturas falsas. No esperaría que una entrada abierta tuviera un valor válido.
¡Gracias eso lo resolvió! necesitaré algunos ajustes para adaptar mi código completo, pero de todos modos, gracias (si desea convertirlo en una respuesta para aceptarlo)
¿Qué tal hacer que el pin que no está conectado sea una entrada digital con pull up habilitado?
@Nick ¿Qué tal si limpiamos un poco esta pregunta y agregamos la información sobre el pin flotante a la pregunta, para que lo importante no esté oculto en los comentarios?
@Johan cambió la salida de "encendido" o "apagado" a flotante y conectado, lo que debería aclarar las cosas

Respuestas (1)

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

Nunca deje ningún pin de entrada flotando si es posible. Con E/S digital, esto podría conducir 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 dejar que los pines de entrada floten.

Lo que le sugiero es que todas sus entradas, especialmente las que le interesan, tengan un camino a un voltaje conocido a través de alguna resistencia; a menudo, una resistencia desplegable es la respuesta, pero eso generalmente depende de lo que está tratando de hacer. lograr. El tamaño de esta resistencia depende de la impedancia del circuito de conducción y el ruido, pero generalmente entre 10K y 1M ohmios; 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 los circuitos acoplados de CA.

@Nick, lo siento, después de mi último comentario no recibí ninguna notificación para los comentarios de seguimiento. Jarhmander, gracias por mencionarme aunque no era necesario. Creo que ha evitado mencionar la solución de configurar el pin como una salida, dejándome espacio para publicar una respuesta, pero para completar, creo que debería agregarlo en su respuesta, no hay razón para que publique una nueva respuesta.