Go Down

Topic: Sobre entradas analógicas de Arduino (Read 1 time) previous topic - next topic

Goyo

Un saludo a todos. Por fin esta semana he tenido un ratito para experimentar y me ha dado por hacer una pequeña aplicación que leyese el valor devuelto por una célula LDR (Un sensor de luminosidad cuya resistencia varía en función de la luminosidad que detecte) He conectado el sensor a la placa de arduino y las lecturas que obtengo son super erráticas, es decir, sin cambiar la orientación del sensor ni la luminosidad de la sala en la que estoy obtengo valores de 1024 hasta 0.
En principio pensé que a lo mejor los conversores analógicos digitales del atmega tendrían un periodo de latencia así que puse un delay entre lecturas de 100 milisegundos. Aún así los valores siguen cambiando mucho.
También se me ocurrió mostrar valores medios así que lo que hice fue tomar 4 lecturas consecutivas, hallar su media y mostrar el resultado aproximadamente cada segundos. Y nada.

Uff qué parrafada, jejeje. Bueno mi duda es la siguiente, ¿este comportamiento es normal en este tipo de sensores? ¿hay que inicializar las entradas analógicas de arduino de alguna manera o tienen una cierta latencia?
Estamos hechos del material de nuestros sueños.

beltran

#1
Mar 05, 2006, 12:52 am Last Edit: Mar 05, 2006, 02:45 am by beltran Reason: 1
hola,
como lo has connectado a Arduino?
has metido un resistor que te haga de "voltage divider"?
el comportamento que descrives parece muy parecido a un setup en el cual metes directamente

5v---> light resistor ---> analog pin de arduino


en vez necesitas meter un resistor que connecte el segundo pie de tu light resistor con Ground (0V)
y tener arduino que mida etre los dos
mas o menos asì

          5v
           |
 light resistor ---> analog pin de arduino
                      \---> resistor (10K) --> Ground(0V)

la variacion de valor de esta resistencia cambiarà los valores detectados por tu light resistor.

al principio yo tambien no tenia clarisimo porque esto sucede, tambien a mi me parecia logico detectar una variacion de V a traves de la resistencia...pero no es asì...
son consequencias de la ley de ohm...

una consequencia es que
V (que atraviesa una resistencia) = V_tot * (Resistencia / Resistencia_tot)

esto quiere decir que si tienes una sola resistencia en tu circuito el V que detectarà tu arduino es igual identica a la Vtot (5v) que le pones en el input

pero si ya pones otra resistencia que conduzca a 0V el valor de "Resistencia_tot" serà mas grande y los Volts detectados por Arduino cambiaran

hay que construirse un Voltage divider asì para todos los analogs in...es lo que hace un potenciometro si lo piensas...el potenciometro tiene 3 pies (uno conectado a tu fuente 5V, otro a tierra, y un tercero que te da la variacion de V en entre los otros dos)

pero como no soy un electronico, pero solo un designer ;)
esperamos confirmacion de un experto electronico :)

bueno espero que esto te ayude...

b.





David Cuartielles

Hola,

la explicacion de Beltran es muy buena. Debemos de tener siempre a Ohm presente en nuestras oraciones ;-)

Un saludo,

David

Goyo

Ya había tenido en cuenta eso pero aún así sigo obteniendo los valores raros, he cambiado el sensor y no he conseguido lecturas más estables.

Muchas gracias de todos modos  ;) ya les contaré si me entero de qué pasó. jejeje

Un saludo
Goyo.
Estamos hechos del material de nuestros sueños.

Go Up