Vamos a realizar un montaje en Arduino que sirva para detectar cambios de nivel de luminosidad. Para ello vamos a usar un sensor de luz LDR y diverso material adicional (resistencia eléctrica y LED). La idea es que cuando la luminosidad disminuya por debajo de un cierto umbral, el LED se active. Si necesitas refrescar los conocimientos sobre el sensor LDR puedes visitar la práctica correspondiente del tema de electrónica analógica, o bien visualizar el siguiente vídeo donde se explica.
Vamos a montar el TinkerCad el circuito de la imagen inferior. El Pull-Down, tal como se explicó en la práctica anterior se utiliza para tomar el valor de la entrada analógica y presentarla a Arduino (A0).
El programa sería:
Tal como se explicaba en la práctica anterior, las entradas analógicas del modelo Arduino Uno se caracterizan por leer valores de tensión de 0 a 5 Voltios con una resolución de 1024 (10 bits), es decir, si dividimos 5 entre 1024 tenemos que ser capaz de detectar variaciones en el nivel de la señal de entrada de casi 5 mV. La función analogRead realiza la lectura del valor del pin y éste presentará un valor que va de 0 a 1023 en proporción al nivel de la señal de entrada. Para una entrada nula obtendremos el valor 0, para una entrada de 2.5 V obtendremos 511 (la mitad de 1023) y para 5 V el valor será de 1023.
El valor de 500 asignado para la comparación de la variable v (y así encender o apagar el LED) es un valor aleatorio que dependerá de las condiciones de luz que queramos regular y por tanto de los valores de resistencia del Pull-Down que utilizamos para tomar el valor de la señal, es decir del valor resistivo tanto de la LDR como de la resistencia de control. El divisor de tensión Pull-Down que se utiliza se explica en este vídeo que ya se incluyó en la práctica anterior cuando se explicaron las entradas analógicas y digitales.
En el simulador TinkerCad podemos ver como al variar el valor del nivel de comparación (valores distintos de 500 por encima o por debajo) el nivel de luminosidad a la que se enciende o apaga el LED varía.
Podemos regular de forma más precisa el valor del nivel de control si en lugar de una resistencia, en el Pull-Down utilizamos un potenciómetro. Esta solución se explica en la siguiente práctica.
Vamos a llevar a la práctica en TinkerCad un ejemplo práctico de la lectura de la entrada analógica de Arduino utilizando un potenciómetro.
VÍDEO DE LA PRÁCTICA
Práctica resuelta.
A continuación montamos en TinkerCad el circuito siguiente, podemos ver el código de más abajo.
El programa sería: