¡Monta una alarma con un HC-SR04, 1 LED y 1 Buzzer! [Arduino Básico #1]

Fernando
13 minute read
0

Si quieres diseñar una alarma, un robot que evite obstáculos o un medidor digital entonces te vendrá muy bien aprender a utilizar el popular sensor HC-SR04. Este popular sensor es uno de nuestros favoritos puesto que es un sensor que, en si mismo, parece otorgarle una cierta "personalidad" a nuestras creaciones de Arduino al tener un característico diseño que simula los ojos de un robot.

Con esto en mente, en el día de hoy vamos a construir una sencilla alarma que haga uso del popular sensor así como de un buzzer y un led que se encienda cuando el sensor detecte que hay un elemento cerca del mismo.

Cómo montar tu propia alarma usando un sensor HC-SR04, 1 LED y 1 buzzer


¿Qué vamos a necesitar?



Para este proyecto nosotros hemos usado exclusivamente componentes de AZ-Delivery puesto que siempre hemos encontrado que este fabricante nos ofrece una buena calidad de productos a la par que un precio competitivo y un servicio de atención al cliente que raramente se observa al tratar con fabricantes de componentes. 

Una vez tengamos todos los componentes, nosotros hemos impreso una pequeña "cara" para nuestro HC-SR04 que también sirve de base por si le quieres agregar un servomotor a tu proyecto. En esta ocasión hemos hecho uso de este modelo que puedes encontrar en Thingiverse imprimiendo con una Ender 3 y usando el filamento PLA seda cobre de Geeetech


A su vez, con el círculo que tiene esta impresión entre "la boca" y "los ojos" pudimos colocar un led de color rojo para agregar dramatismo.

Una vez que tengamos todo es hora de comenzar a montar los componentes. Aquí os adjuntamos el diagrama de conexión:



A la hora de utilizar el sensor HC-SR04 podemos hacer el ping manualmente pero nosotros hemos optado por hacer uso de la librería SR04.h. Para instalar dicha librería lo único que tienes que hacer es escribir "HC-SR04" en el buscador de librerías del IDE y puedes instalar la librería que hemos instalado nosotros.


Una vez tengamos la librería instalada podemos copiar el código que os dejamos a continuación.

// Incluimos la librería para controlar el sensor HC-SR04
#include "SR04.h"
//Indicamos donde está conectado el pin Trig y donde está conectado el pin ECHO
#define TRIG_PIN 11
#define ECHO_PIN 10
// Creamos un objeto de la clase SR04 y le pasamos como parámetros
// aquellos pines donde conectamos el pin ECHO y el pin Trig
SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
// Creamos una variable donde almacenar la distancia que detecta el sensor
long distance;
// Indicamos el pin al que esté conectado el LED rojo
int rudolph=6;
void setup() {
// Inicializamos la comunicación serial
Serial.begin(9600);
delay(100);
// Definimos el LED rojo conectado al PIN 6 como un Output
pinMode(rudolph,OUTPUT);
// Apagamos el LED
digitalWrite(rudolph,LOW);
}
void loop() {
// Almacenamos la distancia recogida en la variable distance
distance=sr04.Distance(); // llamamos al método distance que devuelve un valor en cm
Serial.print(distance); // Imprimimos el valor en el monitor serial
Serial.println("cm");
delay(200);
if (a<=10){ // Si la distancia detectada es de menos de 10 cm entonces:
digitalWrite(rudolph,HIGH); // Encendemos el LED
delay (50); // esperamos un poco
digitalWrite(rudolph,LOW); // apagamos el LED
tone(7,700); // Encendemos el buzzer pasándole al método tone el pin al que está conectado
// y la frencuencia que queremos que reproduzca
delay(100);
tone(7,200);
delay(100);
}else{
digitalWrite(rudolph,LOW); // Apagamos el LED
noTone(7); // apagamos el buzzer
}
}
view raw HC-SR04 Alarma hosted with ❤ by GitHub

El código está comentado para su fácil comprensión. Si quieres modificar la distancia a la cual se enciende el buzzer y la luz solo tienes que modificar el IF colocado en la función loop (). También puedes modificar la melodía que reproduce el buzzer.

¿Y tú cómo mejorarías este proyecto? ¿Qué agregarías o cambiarías? ¿Podrías modificarlo de modo que una vez que detecte un objeto cercano ya no se apague la alarma salvo que hagas algo concreto como presionar un botón o usar una llave RFID?


Publicar un comentario

0Comentarios

Publicar un comentario (0)
Today | 1, April 2025