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:
Código ejemplo:
int
pin_analogico = A1; // definimos los pines por los que
int
pin_digital = A0; // conectamos las
salidas del módulo
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"
}
FIN DEL POST
0 comentarios:
Publicar un comentario