martes, 30 de julio de 2019

TUTORIAL DE LDR y LEDs + ARDUINO



 https://jlizarazurocha.com/inicio/edicion-de-coches-robot-de-evitacion-de-obstaculos/


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í: