ARDUINO UNO: Alarma con módulo transmisor laser KY-008 y LDR (Taller03)



Materiales
  • Arduino Uno
  • LED
  • LDR (photoresistor)
  • Resistencia de 220 Ohm
  • Cables (MM-HM-HH)
  • Protoboard

Nota: 
Si deseas descargar el módulo laser de transmisión para FRITZING, lo puedes hacer en esta dirección: http://arduinomodules.info/download/ky-008-laser-transmitter-module-zip-file/


El dispositivo KY-008 es uno de los más comunes que se encuentran en los kits de sensores Arduino. Junto con otros componentes, se puede utilizar para crear cables de disparo o efectos ópticos.

El KY-008 es especialmente limpio porque puede ser alimentado directamente desde un pin de salida Arduino, ya que sólo extrae 30 mA del procesador que tiene salidas nominales de 40 mA.

Una fotorresistencia es un componente electrónico cuya resistencia disminuye con el aumento de intensidad de luz incidente. Puede también ser llamado fotorresistor, 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. Su cuerpo está formado por una célula fotorreceptora y dos patillas.








Montaje

Montaje





Código

//Configuracion de numero de pines
//Las constantes no cambiaran
//ASX - Laser Alarm


const int ledPin = 13;   //numero de pin para el LED
const int ldrPin = A0;  //numero de pin para el LDR
const int speakerPin = 7;  //numero de pin para zumbador
const int lowrange = 1000;  
const int highrange = 2000;


void setup() {

  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);  //inicializa pin  LED como salida
  pinMode(ldrPin, INPUT);   //inicializa el pin LDR con entrada
}

void loop() {

  int ldrStatus = analogRead(ldrPin);   //lee es el valor del status del LDR

  //chequea si el status del  LDR es <= 300
  //si lo es, el LED esta encendido

   if (ldrStatus <=300) {

    digitalWrite(ledPin, HIGH);               //encender LED
    for (int i = highrange; i >= lowrange; i--)
    {
      tone (speakerPin, i, 250);  //lanzamos alarma con rango establecido
    }
    Serial.println("LDR is DARK, LED is ON");    //imprimir en el monitor serial
   
   }
  else {

    digitalWrite(ledPin, LOW);          //apagar LED
    Serial.println("---------------");
  }


}




___________________________
Fuente: ASXLab, ASXKids

Comentarios