Otros Microcontroladores / Dispositivos programables => Arduino => Mensaje iniciado por: japifer_22 en 10 de Julio de 2019, 21:21:55
Título: Problema arduino pro mini y ads1115
Publicado por: japifer_22 en 10 de Julio de 2019, 21:21:55
Hola gente!! Primero que todo un saludos y gracias por leerme. Y Bueno!!, les comento que estoy jugando estos dias con un arduino pro mini y un ads1115 en modo singreEnded, y estoy midiendo 2 sensores de efecto Hall análogos en los canales 0 y 1, un sensor de luz por medio de un foto transistor en el canal 3 y un sensor UV en el canal 2. Ahora sí mido uno solo osea ads.readADC_SingleEnded(0); va todo bien y obtengo la medida del sensor, ahora si hago:
Las lecturas me comienzan a salir mezcladas o erróneas. Por ejemplo el adc0 y ads3 en ocaciones me comienzan a salir con el mismo valor, y lo mismo para el 2 y 3.
Alguna idea de por qué se debe esto?
También he puesto un delay entre lectura de 200 y aún así salen mal las mediciones.
Lo único que sé es que la conexión es correcta ya que si solo Leo un sensor va de lo más bien. :smiley-confuse:
Si se les ocurre algo de por qué mi problema se los agradecería que me lo digan por favor.
A todo estoy estoy usando el ide arduino y la librería de adafruit
Título: Re:Problema arduino pro mini y ads1115
Publicado por: bytedaniel en 05 de Noviembre de 2019, 09:48:16
Pero es raro... aparantemente debes tenerlo todo bien
Título: Re:Problema arduino pro mini y ads1115
Publicado por: Picuino en 05 de Noviembre de 2019, 14:53:39
¿Cómo es el setup() ?
Título: Re:Problema arduino pro mini y ads1115
Publicado por: KILLERJC en 05 de Noviembre de 2019, 16:33:40
Para colmo la libreria, realiza el cambio a otra entrada y activa la conversion ahi nomas, estaria bueno ponerle un pequeño delay entre el cambio y el inicio de la lectura, para ver si es problemas de tiempo.
Título: Re:Problema arduino pro mini y ads1115
Publicado por: Neutrino en 05 de Noviembre de 2019, 21:05:36
Hola japifer_22, te recomiendo que hagas dos mediciones por sensor y deseches la primera algo así:
Código: C++
ads.readADC_SingleEnded(0);
adc0 = ads.readADC_SingleEnded(0);
delay(100);
ads.readADC_SingleEnded(1);
adc1 = ads.readADC_SingleEnded(1);
...
Me ha sucedido varias veces cuando intento leer varios canales con el mismo ADC, no sé por qué ocurre, pero supongo que tiene que ser un problema en el multiplexado y el capacitor del ADC, porque en efecto, no importa cuanto le ponga al delay, la primer medida luego de cambiar el canal, es básura.