Descripción:
Un LDR (Light Dependent Resistor) es una resistencia variable, que varia su valor dependiendo de la cantidad de luz que incide sobre su superficie. Cuanta mas intensidad de luz incide en la superficie de la LDR menor será su resistencia y cuanto menos luz incide mayor será la resistencia. Suelen ser utilizados como sensores de luz ambiental o como una fotocélula que activa un determinado proceso en ausencia o presencia de luz.
Listado de componentes:
1 LDR
1 Resistencia de 1kΩ
Varios cables.
Cinco diodos leds
Cinco Resistencias de 330 Ohm
MONTAJE REAL
/*
********************************
* Light Meter Example V0.1
********************************
* Created by Quim Ll.
* 17-1-2011
*
* www.drbit.nl
* www.skmcreatiu.com
* http://blog.drbit.nl
*/
// definimos los nombres de los led y sus pines
// Los leds formaran un medidor para la luz tipo VU-meter
#define L1 5 // verde
#define L2 4 // verde
#define L3 3 // amarillo
#define L4 2 // rojo
#define L5 1 // rojo
// Entrada Analogica A0 para sensor de luz LDR
#define pinEntrada 0
int valorEntrada = 0; // Variable donde ponemos el valor de la luz
int estado_leds = 0; // Variable donde ponemos el estado de los leds segun intensidad luz
// Seteamos puertos como salida para leds + entrada para el sensor
void setup() {
pinMode(L1,OUTPUT);
pinMode(L2,OUTPUT);
pinMode(L3,OUTPUT);
pinMode(L4,OUTPUT);
pinMode(L5,OUTPUT);
pinMode(pinEntrada,INPUT);
}
void loop() {
valorEntrada = analogRead (pinEntrada); // Leemos sensor de luz
// Nos da un numero de entre 0 y 1024
// proporcional a la intesidad de luz
estado_leds = (5 * valorEntrada)/1024; // Esta funcion nos da un numero del 0 al 5 (El 5 no se utiliza)
// proporcional a la intesidad de luz
// obtenida anteriormente
if (estado_leds == 0) {
digitalWrite (L1, HIGH);
digitalWrite (L2, LOW);
digitalWrite (L3, LOW);
digitalWrite (L4, LOW);
digitalWrite (L5, LOW);
}
if (estado_leds == 1) {
digitalWrite (L1, HIGH);
digitalWrite (L2, HIGH);
digitalWrite (L3, LOW);
digitalWrite (L4, LOW);
digitalWrite (L5, LOW);
}
if (estado_leds == 2) {
digitalWrite (L1, HIGH);
digitalWrite (L2, HIGH);
digitalWrite (L3, HIGH);
digitalWrite (L4, LOW);
digitalWrite (L5, LOW);
}
if (estado_leds == 3) {
digitalWrite (L1, HIGH);
digitalWrite (L2, HIGH);
digitalWrite (L3, HIGH);
digitalWrite (L4, HIGH);
digitalWrite (L5, LOW);
}
if (estado_leds == 4) {
digitalWrite (L1, HIGH);
digitalWrite (L2, HIGH);
digitalWrite (L3, HIGH);
digitalWrite (L4, HIGH);
digitalWrite (L5, HIGH);
}
}
Trabajos de alumnos de cursos anteriores, "cuidado que utilizan otras salidas de arduino"