Módulo fotorresistencia Arduino Sensor de Luz
Publicado por Victor Arrieta en
El módulo de fotorresistencia Arduino consta de una fotorresistencia montada en una placa Flying Fish MH. Esta placa es muy utilizada para montar elementos simples pues nos permite obtener la salida analógica usual (A0) y además tiene en su conjunto un amplificador operacional LM393 en modo de comparador con el fin de proveer una salida digital (D0) alta o baja dependiendo de una referencia impuesta por un pequeño potenciómetro montado también en la misma placa, una vez la señal supere la referencia la salida digital se pondrá en bajo.
Por otro lado, la fotorresistencia es un elemento que nos permite medir la cantidad de luz que hay en el ambiente, cabe destacar que la luz es detectada en mayor medida cuando llega de forma perpendicular a la superficie del fotorresistor y también que este es más sensible a ciertas longitudes de onda que a otras. Básicamente este elemento es capaz de cambiar el valor de su resistencia interna de acuerdo a la cantidad de luz que recibe, más específicamente su resistencia es inversamente proporcional a la cantidad de luz que detecta.
Este módulo cuenta con 4 pines de conexión dos de ellos para alimentación (VCC y GND), el pin de salida digital (D0) y el pin de salida analógico (A0), este último pin nos dará valores menores de tensión en la medida que haya más luz, de esta forma, para poder usar este módulo como medidor de luxes debemos primero calibrar qué cantidad de luxes llevan esta salida cero, sin embargo estos dispositivos no tienen un comportamiento exactamente lineal, por lo tanto no podemos esperar una gran precisión en nuestras medidas. Es por esta razón que estos dispositivos son más usados como detectores de luz que como medidores de la misma.
Presentaremos ahora un código que nos permita leer tanto el estado de la salida digital del módulo como el valor de la salida analógica por medo del ADC de nuestro Arduino.
Pines a conectar:
VCC = Alimentación positiva
GND = Referencia negativa
A0 = Salida analógica
D0 = Salida digital
Esquema de conexión:
int pin_analogico = A1; // definimos los pines por los que
int pin_digital = A0; // conectamos las salidas del módulo
//utilizamos A0 como entrada digital
void setup() {
Serial.begin(9600); //iniciamos la comunicación serial
pinMode(pin_analogico,INPUT); // definimos como entrada
pinMode(pin_digital,INPUT_PULLUP); //definimos como entrada
}
void loop() {
// si la salida digital está en cero, es porque se ha superado el valor de referencia
// entonces se desplegará el mensaje: "salida digital activa"
if (digitalRead(pin_digital) == LOW)
{
Serial.println("salida digital activa");
}
else
{
Serial.println("salida digital inactiva"); // de otra forma de deplegará "salida digital inactiva"
delay(1000); //esperamos para visualizar mejor
}
}