1. El Octavo Bit
  2. / Arduino
  3. / Proyectos para Arduino
  4. / Crear una alarma con el módulo KY-008, una fotoresistencia y un buzzer

Crear una alarma con el módulo KY-008, una fotoresistencia y un buzzer

| Actualizado:
Comentarios: 0

Crear una alarma con el módulo KY-008, una fotoresistencia y un buzzer
Alarma con Arduino

En esta práctica haremos una alarma que se conectará en el momento en que el haz de luz del puntero no llegue a la fotorresistencia. Primero, haremos que la señal de alarma nos avise por el monitor serial y después añadiremos un buzzer para que nos de un aviso sonoro.

Alarma silenciosa con el módulo KY-008 y un LDR

Para la creación de la alarma aprovecharemos las propiedades de las fotoresistencias ya que su resistencia varía en función de la luz que recibe. A medida que aumenta la luz, su resistencia disminuye. Así que utilizaremos la lectura del sensor para saber si el haz de luz producido por el puntero láser incide sobre la fotorresistencia o si, por el contrario, hay algo que impide que llegue el haz de luz, lo que activaría la alarma.

Material necesario:

  • Placa Arduino o similar
  • Protoboard
  • Puntero láser, módulo KY-008
  • Sensor fotorresistencia (LDR)
  • Una resistencia de 10 KΩ
  • Cables

Esquema:

Unimos el pin de alimentación (S) del módulo kY-008 al pin digital 8 de la placa y el GND, al GND de la placa de Arduino. Para el LDR utilizamos una resistencia y leeremos su valor a través del pin analógico A0 de Arduino.

Esquema para montar una alarma con un puntero láser y Arduino

Explicación del código:

Primero, indicamos qué pin es el que vamos a utilizar para alimentar el puntero láser (pin 8), indicamos también el de la lectura de la resistencia (A0) y creamos una variable denominada lectura para guardar el valor de la resistencia.

int laserPin = 8;
int sensor = A0;
int lectura;

En la función setup() indicamos que el pin 8 es de salida (OUTPUT), el láser va a estar encendido, lo indicamos con digitalWrite(laserPin, HIGH) e inicializamos el monitor serial.

void setup(){
  pinMode(laserPin, OUTPUT);
  Serial.begin(9600);
  digitalWrite(laserPin, HIGH);
}

En la función loop() leeremos el valor del sensor, que guardaremos en la variable lectura, y que mostraremos por el monitor serial. Comprobaremos que su valor es menor de 100, si se cumple la condición, significa que el haz de luz no incide sobre el fotorresistor, por lo que la alarma se activará.

void loop() {
  lectura = analogRead(sensor);
  Serial.println(lectura);
  if(lectura < 100){
    Serial.println("Alarma");
  }
}

¿Por qué utilizamos un valor de 100 para comparar? porque con la luz ambiental el valor de lectura varía entre 40-60, mientras que si incide el láser sobre el fotorresistor este varía entre 590-620. Tomando un valor de 100 hay un margen para asegurarnos de que el láser no incide sobre el LDR.

Código completo:

int laserPin = 8;
int sensor = A0;
int lectura;

void setup() {
  pinMode(laserPin, OUTPUT);
  Serial.begin(9600);
  digitalWrite(laserPin, HIGH);
}

void loop() {
  lectura = analogRead(sensor);
  Serial.println(lectura);
  if(lectura < 100){
    Serial.println("Alarma");
  }
}

Alarma con el módulo KY-008, un buzzer y un LDR

Añadimos un buzzer activo para generar un sonido de alarma cuando el haz de luz no incida sobre la fotorresistencia.

Material necesario:

  • Placa Arduino o similar
  • Protoboard
  • Puntero láser, módulo KY-008
  • Buzzer activo módulo KY-012.
  • Sensor fotorresistencia (LDR)
  • Una resistencia de 10 KΩ
  • Cables

Esquema de montaje:

Esquema para montar una alarma con un puntero láser, un buzzer y Arduino

Código:

Al código de la práctica anterior le añadimos una nueva variable, buzzerPin, que nos indica a qué pin hemos conectado el zumbador.

En la función setup() indicamos que el pin 9, al que esta conectado el zumbador, es un pin de salida de corriente y con analogWrite() indicamos que en principo no sonará.

En la función loop() comprobamos si el haz de luz incide sobre el LDR, en caso de que no incida, hacemos sonar la alarma con analogWrite(), podemos variar el valor entre 0 y 255, 255 será para un sonido más intenso. Y si el haz de luz esta iluminando el fotorresistor, el valor será 0, haciendo que no suene la alarma.

int buzzerPin = 9;
int laserPin = 8;
int sensor = A0;
int lectura;

void setup() {
  pinMode(buzzerPin, OUTPUT);
  pinMode(laserPin, OUTPUT);
  Serial.begin(9600);
  digitalWrite(laserPin, HIGH);
  analogWrite(buzzerPin,0);
}

void loop() {
  lectura = analogRead(sensor);
  Serial.println(lectura);
  if(lectura < 100){
    Serial.println("Alarma");
    analogWrite(buzzerPin,255);
  }else{
    analogWrite(buzzerPin,0);
  }
}

Artículos que te pueden interesar

Pulsadores para Arduino
Las entradas digitales en Arduino. Los pulsadores.

Las entradas digitales en Arduino. Los pulsadores.

| Actualizado:
Comentarios: 0

En muchos de los proyectos con Arduino nos encontraremos un pulsador o botón. Aquí veremos cómo hacer para utilizar correctamente sus señales. Primero, explicaremos qué son las resistencias pull-up y pull-down, montaremos un circuito eléctrico con un pulsador y una…

Módulo bluetooth HC-06 con Arduino
Tutorial básico de uso del módulo bluetooth HC-06 en Arduino

Tutorial básico de uso del módulo bluetooth HC-06 en Arduino

| Actualizado:
Comentarios: 0

El objetivo de este tutorial es poder añadir un módulo bluetooth a nuestra placa de Arduino y poder comunicarnos con un teléfono móvil Android a través de una aplicación. Primero veremos cómo conectarlo al móvil y después, cómo configurar el…

Juego de la serpiente con Arduino

Juego de la serpiente con Arduino

| Actualizado:
Comentarios: 0

Aquellos que tuvieron un Nokia, recordarán el famoso juego de la serpiente. En este artículo desarrollaremos la programación necesaria para realizar el juego de la serpiente utilizando la placa Arduino y una matriz LED de 8×8. Material utilizado: Placa Arduino…

Reloj con Arduino
Montar un reloj con Arduino, el módulo RTC DS3231 y mostrarlo en una pantalla LCD

Montar un reloj con Arduino, el módulo RTC DS3231 y mostrarlo en una pantalla LCD

| Actualizado:
Comentarios: 0

Con este proyecto podremos regular la fecha y la hora actual. El módulo RTC DS3231 cuenta con una pila que en el caso de que se corte la fuente de alimentación, permitirá al reloj seguir guardando internamente la fecha y…

Comentarios - 0

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *