tectijuana / sensores-archived

Recolección de Sensores por parte de los estudiantes ITT Generación 2023B
GNU General Public License v3.0
4 stars 6 forks source link

Foto Resistencia Módulo #2

Closed EdsonAlvarado closed 3 years ago

EdsonAlvarado commented 4 years ago

Foto resistencias

Un fotorresistor o fotorresistencia es un componente electrónico cuya resistencia disminuye con el aumento de intensidad de luz incidente. ​ Puede también ser llamado fotoconductor, célula fotoeléctrica o resistor dependiente de la luz, cuyas siglas, LDR, se originan de su nombre en inglés light-dependent resistor.

Diagrama para utilizar Arduino con Fotoresistencia LDR

Debemos armar el circuito como se muestra en el siguiente diagrama pictórico. Recordar que los LED tienen polaridad y hay que respetarla. El pin más largo va conectado a la tarjeta arduino, mientras que el pin más corto va con una resistencia a tierra, la resistencia también puede colocarse sin problema entre el ánodo del led y el arduino (del lado positivo del led):

El circuito armado sobre el protoboard y las conexiones con el arduino quedan de la siguiente manera:

Código (sketch) para Arduino con Fotoresistencia LDR.

La explicación para el código es la siguiente: Primero se preparan los pines de salida donde estan conectados los leds, el pin de entrada donde se conecta el divisor resistivo y el puerto serie para la comunicación. A continuación se ejecuta un cíclo infinito en el que se lee el valor del voltaje en el pin del LDR y se accionan los leds segun correspondan. También transmitimos el valor leido por el ADC del ATMEGA328 a la PC a través del puerto serie de nuestra tarjeta arduino. Hemos comentado el código de manera que sea fácil de entender.

/*
 * http://www.geekfactory.mx
 * 
 * Ejemplo de medidor de luz con Arduino utilizando una fotoresistencia LDR y
 * un grupo de leds para mostrar el resultado de las lecturas. Este sketch puede
 * servir como base para otros proyectos que requieren medicion de la intensidad
 * de luz con una fotoresistencia.
 *
 * Mas detalles y la conexion completa para este sketch en:
 * http://www.geekfactory.mx/tutoriales/tutoriales-arduino/tutorial-arduino-con-fotoresistencia-ldr/
 *
 */

// Pin donde se conectan los leds
int pinLed1 = 2;
int pinLed2 = 3;
int pinLed3 = 4;
// Pin analogico de entrada para el LDR
int pinLDR = 0;

// Variable donde se almacena el valor del LDR
int valorLDR = 0;  

void setup()
{
  // Configuramos como salidas los pines donde se conectan los led
  pinMode(pinLed1, OUTPUT);
  pinMode(pinLed2, OUTPUT);
  pinMode(pinLed3, OUTPUT);

  //  Configurar el puerto serial
  Serial.begin(9600);
}

void loop()
{
  // Apagar todos los leds siempre que se inicia el ciclo
  digitalWrite(pinLed1, LOW);
  digitalWrite(pinLed2, LOW);
  digitalWrite(pinLed3, LOW);

  // Guardamos el valor leido del ADC en una variable
  // El valor leido por el ADC (voltaje) aumenta de manera directamente proporcional
  // con respecto a la luz percibida por el LDR
  valorLDR= analogRead(pinLDR);

  // Devolver el valor leido a nuestro monitor serial en el IDE de Arduino
  Serial.println(valorLDR);

  // Encender los leds apropiados de acuerdo al valor de ADC
  if(valorLDR > 256)
  {
    digitalWrite(pinLed1, HIGH);
  }
  if(valorLDR > 512)
  {
    digitalWrite(pinLed2, HIGH);
  }
  if(valorLDR > 768)
  {
    digitalWrite(pinLed3, HIGH);
  }
  // Esperar unos milisegundos antes de actualizar
  delay(200);
}

Módulo Fotorresistencia

Código Módulo