Community project
Ultrasonic Distance Display
This project builds a real-time distance measurement device using an ultrasonic sensor and a character LCD display. The HC-SR04 sensor emits sound waves to detect objects up to 4 meters away, while the Arduino Uno processes the readings and shows the distance in centimeters on the 16x2 I2C display, updating every 250 milliseconds.
The guide includes a complete wiring diagram showing how to connect the ultrasonic sensor and LCD to the Arduino, a full parts list, ready-to-upload firmware with distance measurement logic, and step-by-step assembly instructions. Builders will have a working distance meter suitable for robotics projects, obstacle detection, or general sensing applications.
Wiring diagram

Gather all the parts
Assemble it in 4 steps
1. Coloca las piezas sin alimentación
Deja el Arduino Uno desconectado del USB. Pon el HC-SR04 y la pantalla LCD 16×2 con su pequeña placa adaptadora I2C sobre una mesa o protoboard, con los nombres de sus pines visibles.
- La pantalla debe tener cuatro pines rotulados VCC, GND, SDA y SCL; este proyecto usa esa versión I2C.
- No conectes ni desconectes cables con el Arduino alimentado: un cable colocado en el pin equivocado puede causar un cortocircuito.
2. Conecta el sensor de distancia
Une VCC del HC-SR04 al pin 5V del Arduino (power), GND del HC-SR04 a un pin GND del Arduino (ground), TRIG al pin digital D7 (signal) y ECHO al pin digital D6 (signal). El sensor usa sus dos círculos metálicos para enviar y escuchar sonido, así que déjalos mirando hacia el objeto que quieres medir.
- Sigue los nombres impresos junto a los cuatro pines del sensor, no solo el orden de los cables.
- No intercambies VCC y GND: alimentar el sensor al revés puede dañarlo.
3. Conecta la pantalla
Une VCC de la pantalla LCD al pin 5V del Arduino (power), GND a GND (ground), SDA a A4 (data) y SCL a A5 (data). En el Arduino Uno, A4 y A5 también son los dos pines que comunican con esta pantalla.
- Si usas cables de colores, rojo para 5V y negro para GND hace más fácil revisar el montaje.
- Asegúrate de que VCC y GND no estén intercambiados: alimentar la pantalla al revés puede dañarla.
4. Revisa y enciende
Revisa que cada cable llegue al pin indicado y que no haya hebras metálicas tocando dos pines. Después conecta el Arduino al ordenador mediante USB. La pantalla mostrará un mensaje inicial y luego la distancia medida.
- Coloca un objeto plano delante del sensor, aproximadamente a 10–100 cm, para una primera prueba fácil.
- El HC-SR04 mide peor superficies blandas, inclinadas o que absorben sonido; no significa necesariamente que el cableado esté mal.
Review all connections
1. Connections between "ultrasonic_1" and "Arduino"
2. Connections between "lcd_1" and "Arduino"
Deploy the firmware
#include <Arduino.h>
#include <Wire.h>
#include <NewPing.h>
#include <LiquidCrystal_I2C.h>
const uint8_t TRIG_PIN = 7;
const uint8_t ECHO_PIN = 6;
const unsigned int MAX_DISTANCE_CM = 400;
const unsigned long MEASURE_INTERVAL_MS = 250;
NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE_CM);
LiquidCrystal_I2C lcd(0x27, 16, 2);
unsigned long lastMeasureMs = 0;
int lastDistanceCm = -2;
void showDistance(int distanceCm) {
if (distanceCm == lastDistanceCm) {
return;
}
lastDistanceCm = distanceCm;
lcd.setCursor(0, 0);
lcd.print("Distancia: ");
lcd.setCursor(0, 1);
if (distanceCm == 0) {
lcd.print("Fuera alcance ");
} else {
lcd.print(distanceCm);
lcd.print(" cm ");
}
}
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Medidor listo");
lcd.setCursor(0, 1);
lcd.print("Mida distancia");
}
void loop() {
unsigned long now = millis();
if (now - lastMeasureMs < MEASURE_INTERVAL_MS) {
return;
}
lastMeasureMs = now;
int distanceCm = sonar.ping_cm();
showDistance(distanceCm);
}Remix this project
Make it yours in one click
Open a full copy of this project in your own Schematik workspace — diagram, code, parts, and assembly steps included. Swap the sensor, add features, or redesign the whole thing with AI. The author's original stays untouched.




