Propuesta
Esta vez vamos a convertir el
valor de la oscuridad en luces. Para ello necesitaremos:
10 LEDs puestos
consecutivamente. Vamos a colocarlos desde el pin 4 hasta el 13 (el 1 está
ocupado con TX)
El sensor LDR conectado a una
entrada A0
El programa tiene que
convertir el valor de la oscuridad que detecta el LDR en las luces, es decir
cuanto más oscuridad más luces encendidas.
grama tiene que convertir el
valor de la oscuridad que detecta el LDR en las luces, es decir cuanto másoscuridad más luces encendidas.
Llegado a este punto sólo nos
queda retaros para que montéis al menos 5 leds para que a medida que el LDR
tenga menos luz se vayan encendiendo todos los leds, y al revés, cuando esté en
condiciones lumínicas óptimas estén todos apagados. Un buen consejo que os
podemos dar es que primero comprobéis cuales son los valores lumínicos en
mejores condiciones. Por norma general es muy difícil que llegue a su tope de
1023, a no ser que uséis una luz muy intensa apuntando directamente al sensor.
Con ese valor ya podéis empezar a jugar con los diferentes valores que tendréis
que configurar para que se enciendan más o menos leds.
//JIMMY LIZARAZU ROCHA
//TUTORIAL DE LDR y LEDs +
ARDUINO
int valorLDR = 0; //Creamos la
variable de tipo número entero para almacenar los datos recogidos del sensor
analógico LDR (Light Dependant Resitor).
int pinLed1 = 4;
int pinLed2 = 5;
int pinLed3 = 6;
int pinLed4 = 7;
int pinLed5 = 8; //Nombramos
los pines digitales que vamos a utilizar para los LEDs.
int pinLed6 = 9;
int pinLed7 = 10;
int pinLed8 = 11;
int pinLed9 = 12;
int pinLed10 = 13;
int pinLDR = A0;
//Seleccinoamos el pin analógico A0 como input del sensor LDR.
void setup() {
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
pinMode(pinLed4, OUTPUT);
pinMode(pinLed5, OUTPUT);
//Configuramos como outputs, o salida de datos, los pines de los LEDs.
pinMode(pinLed6, OUTPUT);
pinMode(pinLed7, OUTPUT);
pinMode(pinLed8, OUTPUT);
pinMode(pinLed9, OUTPUT);
pinMode(pinLed10, OUTPUT);
Serial.begin(9600); //Inicializamos
el monitor serie para visualizar los valores del LDR.
}
void loop() {
valorLDR = analogRead(pinLDR);
//Leemos el valor del pinLDR y lo guardamos en la variable creada.
Serial.println(valorLDR);
//Imprimimos dicho valor, comprendido entre 0 y 1023.
delay (100);
if(valorLDR < 890) {
//Creamos los condicionales que determinarán los intervalos de encendido y
apagado de todos los LEDs.
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW);
digitalWrite(pinLed4, LOW);
digitalWrite(pinLed5, LOW);
digitalWrite(pinLed6, LOW);
digitalWrite(pinLed7, LOW);
digitalWrite(pinLed8, LOW);
digitalWrite(pinLed9, LOW);
digitalWrite(pinLed10, LOW); }
else if((valorLDR >= 891)
& (valorLDR < 905)) {
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW);
digitalWrite(pinLed4, LOW);
digitalWrite(pinLed5, LOW);
digitalWrite(pinLed6, LOW);
digitalWrite(pinLed7, LOW);
digitalWrite(pinLed8, LOW);
digitalWrite(pinLed9, LOW);
digitalWrite(pinLed10, LOW); }
else if((valorLDR >= 906)
& (valorLDR < 920)) {
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
digitalWrite(pinLed4, HIGH);
digitalWrite(pinLed5, HIGH);
digitalWrite(pinLed6, HIGH);
digitalWrite(pinLed7, HIGH);
digitalWrite(pinLed8, LOW);
digitalWrite(pinLed9, LOW);
digitalWrite(pinLed10, LOW); }
else if((valorLDR >= 921)
& (valorLDR < 935)) {
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
digitalWrite(pinLed4, HIGH);
digitalWrite(pinLed5, HIGH);
digitalWrite(pinLed6, HIGH);
digitalWrite(pinLed7, HIGH);
digitalWrite(pinLed8, LOW);
digitalWrite(pinLed9, LOW);
digitalWrite(pinLed10, LOW); }
else if((valorLDR >= 936)
& (valorLDR < 950)) {
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
digitalWrite(pinLed4, HIGH);
digitalWrite(pinLed5, HIGH);
digitalWrite(pinLed6, HIGH);
digitalWrite(pinLed7, HIGH);
digitalWrite(pinLed8, HIGH);
digitalWrite(pinLed9, HIGH);
digitalWrite(pinLed10, LOW); }
else if(valorLDR >= 951) {
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
digitalWrite(pinLed4, HIGH);
digitalWrite(pinLed5, HIGH);
digitalWrite(pinLed6, HIGH);
digitalWrite(pinLed7, HIGH);
digitalWrite(pinLed8, HIGH);
digitalWrite(pinLed9, HIGH);
digitalWrite(pinLed10, HIGH);
}
}
https://ingenieriaiktronic.com/inicio/programacion-de-arduino-uno/
https://www.youtube.com/channel/UCzBXEhHoYyEJ4thHs3EdJbA
si quieres aprehender mas has clic aquí:
