Saltar a contenido

MT07 - Interficies Digitales y Aplicaciones

Introducción

El módulo MT07, de Interfaces Digitales y Aplicaciones, ha sido una experiencia increíble que realmente ha cambiado mi forma de ver la tecnología. Durante este recorrido, no solo aprendí conceptos técnicos esenciales, sino que también descubrí cómo crear interfaces que facilitan la interacción entre los usuarios y los dispositivos.

Una de las partes más emocionantes fue trabajar con herramientas y plataformas que nunca había usado antes. Fue sorprendente ver cómo se pueden conectar microcontroladores con interfaces digitales para crear soluciones innovadoras. Me di cuenta de que una buena interfaz puede transformar completamente la experiencia del usuario, haciendo que la tecnología sea mucho más accesible y fácil de usar.

Además, aprendí a usar herramientas de diseño y programación de interfaces que me permitieron prototipar rápidamente mis ideas. La posibilidad de experimentar y recibir retroalimentación inmediata fue invaluable, ya que no solo estimuló mi creatividad, sino que también me ayudó a entender lo crucial que es la usabilidad en el diseño de aplicaciones.

El tutor de este módulo fue Xavier Domínguez, quien nos guió en este viaje y promovió un ambiente colaborativo donde cada uno de nosotros pudo aportar sus ideas y aprender de los demás.

Para llevar a cabo este módulo vimos diferentes herramientas como lo son:

Arduino IDE

Imagen de Arduino IDE

El Arduino IDE (Entorno de Desarrollo Integrado) es una herramienta de software esencial para programar las placas Arduino. Diseñado para ser accesible tanto para principiantes como para usuarios avanzados, el Arduino IDE proporciona un entorno sencillo y eficiente para escribir, compilar y cargar programas (conocidos como “sketches”) en las placas Arduino.

La interfaz del Arduino IDE es intuitiva y fácil de usar. En su núcleo, ofrece un editor de código donde los usuarios pueden escribir sus programas utilizando un lenguaje basado en C/C++. Este editor incluye características útiles como el resaltado de sintaxis y la numeración de líneas, lo que facilita la lectura y el desarrollo del código.

Una de las funcionalidades clave del Arduino IDE es su compilador incorporado, que convierte el código escrito en un formato que puede ser entendido y ejecutado por el microcontrolador de la placa Arduino. Una vez compilado, el programa se puede cargar fácilmente en la placa a través de una conexión USB, permitiendo una programación rápida y directa.

El Arduino IDE también incluye una amplia biblioteca de funciones y ejemplos predefinidos que ayudan a los usuarios a empezar con sus proyectos. Estas bibliotecas abarcan una gran variedad de funcionalidades, desde la manipulación de LEDs hasta el control de motores y la lectura de sensores, facilitando la incorporación de diversas capacidades en los proyectos.

CallMeBot

Imagen de CallMeBot

CallMeBot es una plataforma en línea que permite a los usuarios enviar mensajes y realizar llamadas a través de WhatsApp utilizando su API de manera sencilla y eficiente. Esta herramienta es ideal para desarrolladores y empresas que buscan automatizar sus comunicaciones y crear aplicaciones interactivas que integren la mensajería de WhatsApp en sus flujos de trabajo.

Con CallMeBot, los usuarios pueden programar y personalizar mensajes, así como realizar llamadas sin necesidad de complicadas configuraciones. La plataforma ofrece una interfaz intuitiva que facilita la creación de bots de chat y la automatización de respuestas, lo que mejora la interacción con los clientes y optimiza la atención al usuario.

Una de las características destacadas de CallMeBot es su capacidad para integrarse con diversas aplicaciones y servicios mediante webhooks, lo que permite recibir notificaciones y gestionar eventos en tiempo real. Además, los usuarios pueden acceder a documentación completa y ejemplos prácticos que les ayudan a implementar soluciones efectivas utilizando la API de CallMeBot.

En resumen, CallMeBot es una herramienta poderosa para aquellos que desean aprovechar la mensajería instantánea en sus proyectos, proporcionando una forma rápida y efectiva de comunicarse con sus usuarios a través de WhatsApp.

Placa ESP32

Imagen de Placa ESP32

El ESP32 es un microcontrolador de bajo costo y alto rendimiento que integra conectividad Wi-Fi y Bluetooth, siendo una excelente opción para proyectos de IoT (Internet of Things) y aplicaciones inalámbricas. Este microcontrolador, desarrollado por Espressif Systems, ofrece más capacidad y versatilidad en comparación con las tradicionales placas Arduino, permitiendo su uso en proyectos más complejos y exigentes.

La placa ESP32 se puede programar utilizando el Arduino IDE, lo que facilita su adopción para quienes ya están familiarizados con este entorno de desarrollo. Al igual que otras placas Arduino, el ESP32 se programa en un lenguaje basado en C/C++, y puede utilizar las mismas bibliotecas, aunque también ofrece soporte para bibliotecas adicionales diseñadas específicamente para aprovechar sus capacidades avanzadas de conectividad.

El ESP32 destaca por su capacidad de trabajar en redes Wi-Fi y Bluetooth simultáneamente, lo que permite crear dispositivos conectados que pueden comunicarse entre sí y con el entorno. Además, cuenta con una gran cantidad de pines de entrada/salida (GPIO), que permiten la conexión de múltiples sensores, actuadores y periféricos, así como la posibilidad de implementar comunicaciones SPI, I2C y UART.

Kit de Arduino

Imagen de Kit de Arduino

Un kit de Arduino es un conjunto completo de herramientas y componentes diseñados para aprender y desarrollar proyectos de electrónica y programación de manera práctica. En su núcleo, el kit incluye una placa Arduino, que actúa como el cerebro del sistema. Esta placa es un microcontrolador que se puede programar para interactuar con el mundo exterior a través de diversos sensores y actuadores.

Además de la placa Arduino, el kit viene con una variedad de componentes básicos como resistencias, LEDs, y botones. Estos componentes son fundamentales para construir circuitos simples y entender los principios básicos de la electrónica. También se incluyen sensores, que permiten que el Arduino detecte el entorno. Estos pueden ser sensores de temperatura, luz, movimiento, entre otros.

Para dar vida a los proyectos, el kit incluye actuadores como motores, servos y relés, que permiten que el Arduino realice acciones físicas en respuesta a los datos que recibe de los sensores. Los cables y conectores, como los jumper wires y las placas de prueba (breadboards), facilitan la conexión de todos estos componentes sin necesidad de soldadura.

Proceso Realizado

Para la actividad del MT07, se nos solicitaba diseñar y desarrollar una interficie digital, la cual debería interaccionar con el usuario, como extra podíamos incluir la información de algun sensor, servicio externo o alguna fuente de datos, un ejercicio práctico para aplicar los conocimientos adquiridos en el módulo.

Mi proyecto para la entrega se centro en el desarrollo de un sistema interactivo que utiliza un sensor DHT11, tres LEDs y un buzzer, todo controlado por un microcontrolador ESP32. La finalidad del proyecto es monitorear la temperatura y la humedad ambiental, mostrando estos datos en una interfaz web, y activando los LEDs y el buzzer en función de las condiciones ambientales (tanto en físico como en la interface web), aquí debajo detallaré los pasos seguidos:

Proyecto

Inputs:

  1. Sensor de Humedad y Temperatura DHT11.
Imagen de Sensor de Humedad y Temperatura DHT11

Outputs:

  1. LEDs.
Imagen de LEDs
  1. Buzzer
Imagen de Buzzer

Esquema de Conexión del Proyecto

Para efectos de aclarar, el esquema presentado se basa en los siguiente: (PIN_DEL_COMPONENTE) -> (PIN_DEL_ESP32)

LEDs:

  1. GND -> GND
  2. POS -> D26 (LED Amarillo)
  3. POS -> D4 (LED Rojo)
  4. POS -> D27 (LED Azul)

Buzzer:

  1. POS -> D5
  2. GND -> GND

Sensor de Humedad y Temperatura DHT11:

  1. GND -> GND
  2. VCC -> 3V
  3. SDA -> D15

Imagenes del Proyecto

Imagen de Proyecto 1
Imagen de Proyecto 2
Imagen de Proyecto 3
Imagen de Proyecto 4
Imagen de Proyecto 5
Imagen de Proyecto 6

Solo a modo de aclaración, existen dos tipos de alertas que se envían por WhatsApp y CallMeBot, una automática desde la placa, que dependiendo la temperatura, si la misma exede el límite, emitiendo alerta sonora y prendiendo el LED rojo y la otra es de manera remota a travez de la interfaz, donde al enviarla se activan los tres leds y se emite una alerta sonora. Aquí debajo el detalle de diferencia entre ambos mensajes:

Imagen de Proyecto 7

Código del Proyecto

Imagen de Código de Proyecto Físico

Videos del Proyecto

Conclusiones del Proyecto

Reflexionando sobre el proyecto y el módulo MT07 - Interfaces Digitales y Aplicaciones, me siento satisfecho con los resultados alcanzados. Este proceso no solo me permitió profundizar en el uso del sensor DHT11, sino que también me brindó la oportunidad de integrar mis conocimientos sobre programación y electrónica de una manera práctica y efectiva.

Uno de los aspectos más valiosos fue la creación de la interfaz web. Aprender a mostrar datos en tiempo real no solo mejoró mis habilidades, sino que también me ayudó a comprender la importancia de la visualización de datos en proyectos de IoT. Ahora me atrae mucho el cómo la interfaz puede influir en la interacción del usuario con el sistema y como adicionar esta a los diferentes proyectos con ESP32.

Este módulo me ha dado herramientas y conocimientos fundamentales que aplicaré en futuros proyectos. Estoy especialmente emocionado por las posibilidades que surgen al combinar programación, electrónica y diseño de interfaces. Sin duda, esta experiencia refuerza mi pasión por el aprendizaje continuo y la innovación en el campo de la tecnología.

El módulo MT07 no solo me brindó conocimientos técnicos, sino que también me impulsó a ser más creativo y proactivo en el desarrollo de soluciones. Estoy interesado por aplicar lo aprendido en nuevos desafíos y proyectos en el futuro.

Archivos del Proyecto

Proyecto de Arduino IDE


Última actualización: 18 de diciembre de 2024