Skip to content

Crea un medidor de distancia con el sensor HC-SR04, Arduino y una pantalla LCD

Proyecto Arduino, HC-SR04 y Pantalla LCD

Acerca del proyecto

¡Hola amigos!

El sensor ultrasónico HC-SR04, es uno de los sensores más curiosos con los cuales trabajar. Y es que se pueden hacer muchos proyectos con el sensor HC-SR04, ¡hasta un levitador de objetos! Es por ello, que es bueno que conozcas cómo funciona el sensor, y que sepas cómo construir el sketch correspondiente, para que puedas modificarlo de acuerdo a tus necesidades. Vamos a crear entonces, un medidor de distancia en centímetros, al cual le adjuntaremos también una pantalla LCD de 16 x 2.

Video para crear un reloj binario con Arduino paso a paso

A continuación, te dejo el video detallado sobre el proyecto.

¡Te invito a suscribirte al canal!

Componentes para crear un medidor de distancia con el sensor HC-SR04

Esta es la lista de componentes que necesitaremos para crear nuestro proyecto.

Componentes Recomendación para adquirirlo
1 x Protoboard
https://amzn.to/38PAPYy
1 Pantalla LCD de 16 x 2
https://amzn.to/38PAPYy
1 x Adaptador I2C a LCD
https://amzn.to/3b0Bwjb
1 x Sensor HC-SR04
https://amzn.to/38PAPYy
1 x Arduino UNO
https://amzn.to/38PAPYy
8 x Jumpers
https://amzn.to/38PAPYy

Como puedes ver, el kit de la recomendación, incluye casi todos los componentes necesarios para realizar este proyecto, por lo que es altamente recomendable.

Diagrama de conexión para crear un medidor de distancia con Arduino

Vamos a ver cuál es el diagrama de conexión del proyecto. Voy a colocar 2 diagramas, uno que no incluye la pantalla LCD, y otro que sí la incluye, por si deseas realizar cualquiera de las 2 versiones.

Esta es la versión sin la pantalla LCD.

Crea un medidor de distancia con el sensor hc-sr04

Este es el diagrama de conexión, para tener también una pantalla LCD. Aquí se está considerando el adaptador I2C a LCD, con el fin de evitar muchos dolores de cabeza con las conexiones.

Medidor de distancia con Arduino

Código fuente para hacer funcionar el reloj binario con Arduino

Te dejaré 2 versiones del código. La primera versión, es la que no lleva el uso del display LCD.

const int trigPin = 9;
const int echoPin = 10;
long duracion;
int distancia;
void setup() 
{
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
}
void loop() 
{
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duracion = pulseIn(echoPin, HIGH);
  distancia = (duracion * 0.034) / 2;
  Serial.println(distancia);
  delay(500);
} 

En dado caso de que quieras utilizar el display de 16 x 2, deberás primero, instalar la biblioteca LiquidCrystal I2C por Frank de Brabander.

Arduino sensor hcsr04
sensor hcsr04 arduino tutorial

Una vez instalada la biblioteca, ya podremos ingresar nuestro código fuente, que es el que te muestro a continuación.

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
const int trigPin = 9;
const int echoPin = 10;
long duracion;
int distancia;
int ultimaDistancia = 0;
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() 
{
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
}
void loop() 
{
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duracion = pulseIn(echoPin, HIGH);
  distancia = (duracion * 0.034) / 2;
  Serial.println(distancia);
  if(distancia != ultimaDistancia)
  {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Distancia: "); // Prints string "Distance" on the LCD
    lcd.print(distancia);
    lcd.print(" cm");
    ultimaDistancia = distancia;
  }
  delay(500);
}