-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Diseñar, desarrollar e implementar un sistema de control de dos niveles para el monitoreo de distancia mediante un sensor ultrasónico HC-SR04, integrando comunicación I2C entre microcontroladores y conexión a la nube a través de ThingSpeak mediante un script en Python para la visualización remota de los datos.
- Diseño del sistema de control: Implementar una arquitectura maestro–esclavo basada en I2C, donde el periférico capture la distancia con el sensor HC-SR04 y el controlador procese la información.
- Control de actuador: Encender un LED de alerta cuando la distancia sea menor al umbral establecido (por ejemplo, 10 cm).
- Integración IoT: Utilizar un programa en Python para leer los datos enviados por el Arduino maestro vía serial y transmitirlos a ThingSpeak, permitiendo el almacenamiento y visualización en tiempo real.
- Dashboard remoto: Configurar un panel en ThingSpeak con indicadores de distancia actual, alertas de proximidad y gráfica histórica del comportamiento del sistema.
- Validación experimental: Probar el sistema físicamente, documentar los resultados de desempeño y demostrar su funcionamiento en video.
El presente proyecto se desarrolla en el marco del módulo de Automatización y Control de Procesos, con el propósito de integrar conceptos de control distribuido, comunicación entre microcontroladores y monitoreo remoto mediante IoT.
El sistema está compuesto por dos microcontroladores Arduino Uno conectados mediante I2C, donde uno cumple el rol de periférico (esclavo) encargado de realizar mediciones de distancia usando un sensor HC-SR04, mientras que el otro actúa como controlador (maestro) que evalúa las lecturas, activa un LED cuando la distancia medida está por debajo del umbral establecido y envía la información al computador a través del puerto serial.
El computador ejecuta un script en Python que se encarga de enviar los datos a la plataforma ThingSpeak, donde se almacenan y grafican automáticamente.
El valor agregado del proyecto radica en su integración con plataformas IoT en la nube, permitiendo supervisar el comportamiento del sistema en tiempo real desde cualquier dispositivo con conexión a internet. Este enfoque es aplicable a contextos de hogares inteligentes, seguridad perimetral o detección de obstáculos en robótica.
La solución propuesta implementa un sistema jerárquico de dos capas y una tercera capa de visualización IoT:
- Capa 1 – Periférico (I2C Slave): Captura la distancia con el sensor ultrasónico HC-SR04 y envía los valores al controlador mediante comunicación I2C.
- Capa 2 – Controlador (I2C Master): Recibe los datos del periférico, ejecuta la lógica de decisión (enciende un LED si la distancia es menor a 10 cm) y los transmite al computador por el puerto serial.
- Capa 3 – Integración IoT (Python + ThingSpeak): Un script en Python recibe los datos seriales del Arduino maestro y los envía al canal correspondiente en ThingSpeak, donde se grafican y almacenan automáticamente.
- El periférico mide la distancia con el sensor HC-SR04.
- Envía el valor al controlador mediante I2C.
- El controlador compara la distancia con el umbral establecido.
- Si la distancia es menor, activa un LED de alerta.
- Envía los datos por serial al computador.
- El script Python lee el valor y lo publica en ThingSpeak.
- Los dashboards de ThingSpeak muestran los datos en tiempo real.
- Código del Periférico (I2C Slave)
- Código del Controlador (I2C Master)
- Configuración del Dashboard en ThingSpeak
- Pruebas y Resultados
- 🔁 Diagrama de Flujo del Sistema
Universidad de La Sabana – Facultad de Ingeniería
Proyecto desarrollado para el curso *Automatización
Equipo:
- 👤 Manuel Felipe Paredes – Configuracion codigo python, smarthings dashboard y montaje circuito
- 👤 Samuel Lopez Acosta – Configuracion I2C Master Slave y montaje circuito
Fecha: 27 de octubre de 2025
Lugar: Universidad de La Sabana – Facultad de Ingeniería
Curso: Automatización
Equipo:
- 👤 Manuel Felipe Paredes – Configuración del código Python, conexión con SmartThings y diseño del dashboard.
- 👤 Samuel López Acosta – Configuración de la comunicación I2C entre Arduino Maestro y Esclavo, y montaje del circuito electrónico.
Definir el alcance del proyecto, responsabilidades individuales y cronograma de trabajo para el desarrollo del sistema de medición de distancia con sensor ultrasónico HC-SR04 y visualización en la nube.
- Se eligió el sensor HC-SR04 como dispositivo principal de medición.
- Se definió la arquitectura Maestro–Esclavo I2C entre dos Arduinos UNO.
- Se discutió la integración con ThingSpeak y SmartThings para visualización remota.
- Se asignaron responsabilidades individuales.
| Integrante | Responsabilidad Principal |
|---|---|
| Manuel Felipe Paredes | Configuración de Python para recibir datos seriales y publicarlos en ThingSpeak. |
| Samuel López Acosta | Configuración del sistema I2C y desarrollo del código del Esclavo con el sensor HC-SR04. |
- Manuel: Crear script base en Python para leer datos del puerto serial.
- Samuel: Implementar lectura de distancia con el sensor HC-SR04 en el Arduino Esclavo.
- Ambos: Ensamblar el circuito inicial y verificar la comunicación básica entre módulos.
Fecha: 31 de octubre de 2025
Tema: Validación de comunicación I2C y envío de datos a ThingSpeak.
Fecha: 31 de octubre de 2025
Lugar: Universidad de La Sabana – Facultad de Ingeniería
Curso: Automatización
Equipo:
- 👤 Manuel Felipe Paredes – Integración del script Python con ThingSpeak y pruebas iniciales del dashboard.
- 👤 Samuel López Acosta – Comunicación I2C funcional entre Maestro y Esclavo y depuración de lectura de distancia.
Revisar el funcionamiento de la comunicación entre ambos Arduinos y comenzar el envío de datos al entorno en la nube (ThingSpeak).
- Comunicación I2C entre Maestro y Esclavo establecida correctamente.
- Sensor HC-SR04 calibrado y lectura precisa en centímetros.
- Python configurado para recibir los datos desde el puerto serial.
- ThingSpeak configurado con canal y clave API.
- Se realizaron pruebas de conexión y envío de datos a la nube.
| Integrante | Responsabilidad |
|---|---|
| Manuel Felipe Paredes | Terminar la publicación automática a ThingSpeak y preparar la integración con SmartThings. |
| Samuel López Acosta | Documentar el código Arduino Maestro y Esclavo con comentarios claros y funcionales. |
- Manuel: Mostrar dashboard funcional en SmartThings con datos del sensor.
- Samuel: Asegurar lectura continua y estable del sensor para pruebas finales.
- Ambos: Empezar la documentación en la Wiki y grabar video demostrativo.
Fecha: 5 de noviembre de 2025
Tema: Pruebas finales, grabación del video y publicación de la Wiki.
Fecha: 5 de noviembre de 2025
Lugar: Universidad de La Sabana – Facultad de Ingeniería
Curso: Automatización
Equipo:
- 👤 Manuel Felipe Paredes – Integración final del código Python con SmartThings y elaboración del dashboard.
- 👤 Samuel López Acosta – Finalización de la comunicación I2C y pruebas completas del sistema Maestro–Esclavo con el sensor ultrasónico.
Realizar las pruebas finales del sistema, verificar el envío de datos a la nube y dejar lista la entrega final con documentación y video.
- Publicación de datos en ThingSpeak en tiempo real funcionando correctamente.
- Dashboard en SmartThings muestra el valor de distancia actualizado.
- Sistema Maestro–Esclavo completamente operativo.
- Se creó y actualizó la Wiki del proyecto en GitHub.
- Se grabó y subió el video demostrativo del funcionamiento completo.
| Componente | Estado |
|---|---|
| Sensor ultrasónico HC-SR04 | ✅ Operativo |
| Comunicación I2C | ✅ Funcional y estable |
| Script Python + ThingSpeak | ✅ Correctamente integrado |
| Dashboard SmartThings | ✅ Muestra datos en tiempo real |
| Wiki + Video | ✅ Publicados |
El proyecto fue exitosamente implementado cumpliendo los objetivos propuestos.
El sistema permite medir distancias mediante un sensor ultrasónico, transmitir los datos vía I2C y Python, y visualizarlos en la nube mediante ThingSpeak y SmartThings.
- 📘 Wiki en GitHub (documentación completa)
- 🎥 Video demostrativo del funcionamiento
- 💾 Códigos de Arduino y Python
- 📊 Dashboard operativo en SmartThings