SENSOR PARA MEDIR LA LUZ QUE IRRADIA UN CUERPO LUMINOSO
En esta ocasión, vamos a resolver uno de los ejercicios sacados del libro KIT Basico Arduino UNO, pagina 93
DESCRIPCIÓN DEL EJERCICIO
DESCRIPCIÓN DEL EJERCICIO
"Te proponemos que crees un sensor para medir la luz que irradia
un cuerpo luminoso. Vamos a tener dos equipos el A y el B. En el equipo A va estar
un LED que varía su brillo de acuerdo a la posición de un potenciómetro (Ver
T6) y en el equipo B va estar comandado por una fotocelda. La idea es que
dobles el LED y la fotocelda a 90°, los coloques lo más junto posible y los
enfrentes, como si los dos se fueran a mirar de frente. Por consola serial
debes ir mostrando la lectura de luz de la fotocelda, esta lectura debe ser en
porcentaje de 0% a 100%. Un ejemplo de la salida por consola: Concentración de
luz 57%."
DIAGRAMA DEL CIRCUITO
//Diagrama pendiente de subida
- · El pin que se utilizara para leer el valor del potenciómetro es el pin analógico A1.
- · El pin que se encargara de leer el valor de la fotorresistencia (LDR) es el pin analógico A0.
- · El pin para mandarle datos al LED, es el pin digital 9.
El objetivo del
circuito es que la intensidad del LED, será dado por el potenciómetro, pero dicha
luz producida, será absorbida por la fotorresistencia, que como bien sabemos
varia su valor en cuanto a la intensidad de luz que percibe.
Ya teniendo todo esto, lo
que haremos para conocer el valor de la fotocelda, será utilizar el monitor
serial de Arduino IDE. Pero los datos que se mostraran, será un porcentaje de
la intensidad de luz, esa parte lo lograremos mapeando los datos que nos arroja
directamente la fotocelda que va entre 0 y 1023.
CODIGO DEL PROGRAMA
int potenciometro=0; //variable entera
que guarda el valor del potenciómetro
int ldr=0; //variable entera que guarda
el valor del LDR
int mapeo=0; //Variable entera que nos
sirve para guardar el porcentaje
void setup() {
pinMode(A0,INPUT);//declarar
el pin analogico A0 como entrada de datos (LDR)
pinMode(A1,INPUT); //declarar el pin analogico A1 como entrada
(Potenciómetro)
pinMode(9,OUTPUT);// declarar el pin digital 9 como salida de datos (LED)
Serial.begin(9600); //Inicializar el monitor serial
}
void loop() {
potenciometro=analogRead(A1); //obtener el valor del potenciómetro y
guardarlo en la variable correspondiente
digitalWrite(9,potenciometro);//activar el pin 9 donde está el LED,
mandándole el valor del potenciometro
ldr=analogRead(A0); //obtener el valor del LDR y guardarlo en la
variable correspondiente
mapeo=map(ldr,0,1023,0,100); //mapeamos el valor del LDR, ya que nos
arroja datos entre 0 y 1023, pero nosotros queremos datos entre 0 y 100.
//imprimimos el resultado del mapeo en
el monitor serial
Serial.print("Concentracion de luz ");
Serial.print(mapeo);
Serial.println("%");
}
En el siguiente video se explica paso a paso la codificación del programa en Arduino, de igual manera se explica el funcionamiento
Revisa todos los materiales disponibles en el canal, siguiendo este enlace:
Comentarios
Publicar un comentario