¿Por qué mi tarjeta arduino no lee un pin analógico correctamente?

6

Estoy trabajando con un tablero Arduino Uno. Tengo una serie de circuitos divisores de voltaje al lado de una placa de pruebas para obtener cuatro voltajes diferentes. Me estoy conectando a mi laptop.

Estoy usando el ejemplo dado en el sitio web de Arduino solo para probar que el pin esté leyendo correctamente y que el chip esté tomando las decisiones necesarias desde allí. Pero mirando el monitor de serie, tengo galimatías. Así que cambié a una declaración if / then, diciendo que si el voltaje subió (y puse el umbral lo más bajo posible) - 1) para encender un LED en el pin 13.

Incluso agregué mi propio LED y resistencia, ya que el de la placa no parecía funcionar. Pero este no se enciende a menos que el voltaje sea de 2.5 V o mayor. He cambiado el LED adicional y la resistencia para intentar crear la situación más ideal para encender el LED, pero todavía nada hasta que el voltaje que entra en el pin de entrada supera los 2.5V. Pero en el sitio y en la hoja de datos, dice que DEBE leer algo de 0 a 5. Estoy tratando de leer voltajes que van desde 13 mV a 780 mV. Pequeño, pero según la hoja de datos, no demasiado pequeño.

¿Alguien tiene sugerencias? ¿Debo simplemente lanzar un amplificador operacional o algo al final para aumentar el voltaje?

    
pregunta Michelle

4 respuestas

0

Creo que en realidad es el propio LED. ¡Es una caída de voltaje anormalmente alta, 2.5 V! Así que cualquier cosa debajo de eso y no se encenderá. Pero si conecto mi DMM al pin, está leyendo la multa de voltaje.

Así que solo voy a apagar el LED con un 1.6V y debería estar listo.

    
respondido por el Michelle
4

Prueba este código:

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  Serial.println(analogRead(0));
  delay(1000);
}

Cargue el monitor serie, configúrelo a 9600 baudios y vea lo que obtiene.

    
respondido por el Majenko
1

Debería probar el ADC, inicialmente, con entradas entre 0V y 5V, suministradas desde un pot. Olvídese de parpadear el LED por ahora, y simplemente envíe los valores de ADC a la PC, para que pueda verificarlos.

    
respondido por el Leon Heller
0

Hay varias áreas para preguntas de depuración abiertas ...

¿Funciona la placa y sus componentes? ¿Su código es correcto, no hay lagunas lógicas?

Supongo que usted tiene un multímetro / osciloscopio, probaría todo en partes para que no envíen datos a través de la serie correctamente, verifique que la salida sea alta y baja de manera adecuada y que las señales reales que está intentando leer estén en el rango que indica y no en el negativo o algo más.

    
respondido por el user772401

Lea otras preguntas en las etiquetas