Introducción
Si ya dominas el uso del sensor de ultrasonidos HC-SR04 y sabes escribir texto en una pantalla LCD I2C, el siguiente paso lógico es combinar ambos componentes para crear un sistema interactivo real. En este tutorial vamos a construir un Sensor de Proximidad por Zonas, similar a los sensores de parking de los coches modernos.
Dependiendo de la distancia a la que esté un objeto, el sistema cambiará el mensaje en la pantalla LCD y encenderá diferentes LEDs de advertencia: Rojo para peligro (muy cerca), Verde para seguridad (lejos), y sin LEDs para precaución (distancia media).
⚠️ La Dirección I2C de tu LCD
Al igual que en nuestros otros tutoriales de LCD, el código usa la dirección 0x27 por defecto. Si tu pantalla no muestra texto (se queda iluminada sin letras), cambia ese número a 0x3F en la línea LiquidCrystal_I2C lcd(...) del código.
Materiales Necesarios
Para construir este proyecto de seguridad por zonas en protoboard, necesitarás los siguientes componentes:
| Componente | Descripción | Enlace |
|---|---|---|
| Arduino UNO R3 / R4 | Placa de desarrollo base para coordinar el sensor, LCD y avisos lumínicos. | Ver en Amazon |
| Sensor Ultrasonidos HC-SR04 | Módulo medidor de distancia mediante ecos de ultrasonidos (2cm a 400cm). | Ver en Amazon |
| Pantalla LCD 16x2 I2C | Display alfanumérico con interfaz I2C integrada para mostrar estados del sistema. | Ver en Amazon |
| Kit de LEDs (Rojo y Verde) | Diodos emisores de luz de 5mm para señalización visual de peligro y zona libre. | Ver en Amazon |
| Resistencias 220Ω (1/4W) | Resistencias de protección de corriente para limitar el paso a los LEDs. | Ver en Amazon |
| Protoboard y Cables Jumper | Placa de pruebas y cableado Macho-Macho / Macho-Hembra para interconexión. | Ver en Amazon |
Esquema de Conexiones
Este montaje integra varios periféricos a la vez. Para garantizar un funcionamiento correcto, sigue atentamente la asignación de pines indicada a continuación:
- HC-SR04: VCC a 5V, GND a GND, Trig al Pin Digital 8, Echo al Pin Digital 9.
- LCD I2C: VCC a 5V, GND a GND, SDA al pin SDA (A4), SCL al pin SCL (A5) de la placa Arduino.
- LED Rojo: Ánodo (patita larga) al Pin Digital 7 (colocando una resistencia de 220Ω en serie). Cátodo a GND.
- LED Verde: Ánodo (patita larga) al Pin Digital 6 (colocando una resistencia de 220Ω en serie). Cátodo a GND.
Código de Arduino: El Sistema por Zonas
Este código evalúa continuamente la distancia física calculada por el sensor ultrasónico y, mediante condicionales encadenados (if / else if), controla qué aviso luminoso activar e imprime el estado en el display alfanumérico. Recuerda instalar previamente la biblioteca LiquidCrystal_I2C desde el administrador de librerías del IDE.
Explicación del Código: Lógica de Zonas
Este desarrollo utiliza una estructura lógica de toma de decisiones basada en condicionales múltiples (if / else if / else):
- Limpieza total con
lcd.clear(): Dado que los mensajes mostrados en la pantalla difieren significativamente en longitud ("!! ALERTA !!" consta de 12 caracteres, mientras que "PRECAUCION" tiene 10), es más práctico limpiar la memoria gráfica conlcd.clear()al comienzo de cada ciclo antes de actualizar las filas. - Validación de lectura en Zona 1: El primer condicional valida
distance > 0 && distance < 15. Se añade la restricción mayor que cero para prevenir falsos disparos de alarma producidos por errores puntuales del pulso de retorno del sensor ultrasónico. - Control de estados en los pines de salida: Para evitar estados indeterminados en los indicadores visuales, al entrar en una zona específica es imprescindible forzar explícitamente el apagado (
LOW) del estado que no deba estar activo.
🎥 Demostración y Vídeo Paso a Paso
Conclusión
Combinar sensores de entrada con elementos visuales e indicadores luminosos representa la base de proyectos interactivos completos. Este control por zonas es perfectamente extrapolable a asistentes de estacionamiento, alarmas volumétricas de presencia o controles de nivel de depósito de agua.
Si deseas repasar los tutoriales individuales donde explicamos en detalle cada uno de estos componentes por separado, puedes visitar nuestras guías sobre Medición de distancia con Sensor Ultrasonidos HC-SR04 y Muestra de datos en Pantalla LCD I2C.
Comentarios
Publicar un comentario