Rediseñamos y construimos un Reloj Smart WiFi
Este proyecto es un nuevo capítulo de la serie Réplicas Caseras, en el cual intentamos replicar el reloj Lametric Time. Si no lo conoces, es un reloj smart wifi con muchísimas funciones. Una de ellas es la de mostrar las notificaciones del móvil. Nos ha costado mucho desarrollar ésta y las demás funciones, pero como tu puedes utilizar nuestro código, te va a ser muy sencillo construir tu reloj smart.
Resumen del proyecto reloj smart wifi
El reloj smart wifi tiene tanto una buena parte de software como de hardware. Empecemos por este último. Los dos componentes principales de este proyecto son una Wemos D1 Mini (ESP8266) y una pantalla led. Nosotros hemos construido nuestra propia pantalla led de 36 columnas y 8 filas con dos metros de tira led WS2812B de una densidad de 144 leds por metro.
Ten en cuenta que si utilizas una tira led con menor densidad de leds, por ejemplo 60 leds/m, el reloj será más grande. El resto de componentes son un RTC (reloj de tiempo real), que sirve para conocer la fecha y hora actuales; un DFPlayer con dos bobinas de altavoz para que el reloj pueda emitir diferentes sonidos.
En cuanto al software, nos ha llevado bastante tiempo desarrollarlo pero te lo hemos dejado abajo para que lo puedas utilizar. Solo tienes que instalar las librerías que utilizamos y cambiar el valor de algunas variables. Si cambias alguna parte del hardware y no lo haces exactamente igual que nosotros, es posible que necesites modificar algo más del programa.
Las funciones que puede tener este reloj son casi infinitas. Nosotros por ahora hemos desarrollado 3 modos de funcionamiento. Mostrar la hora, mostrar la temperatura y modo cronómetro. Además, independientemente del modo de funcionamiento activado, el reloj muestra las notificaciones del móvil de WhatsApp, TikTok, Instagram y Gmail.
Lista de materiales
Materiales comprados en tienda local: metacrilato para la pantalla, PLA negro, dos altavoces y una hoja de papel.
Esquema eléctrico del reloj smart wifi

Todos los componentes del reloj pueden ser alimentados con 5 Voltios, así que simplemente necesitas una fuente de este voltaje. El «cerebro» del proyecto, que se encarga de controlarlo todo, es la Wemos D1 Mini. Tenemos que conectar todos los componentes a este microcontrolador, excepto los altavoces, que los conectamos al DFPlayer, tal y como se ve en el esquema.
Los LEDs los puedes conectar a cualquier pin digital. Sin embargo, cuantas más modificaciones hagas en el esquema eléctrico, más cambios tendrás que hacer en el código. El RTC se comunica con la Wemos utilizando el protocolo de comunicación I2C. Por ello es imprescindible conectarlo a los pines D1 y D2.
El DFPlayer se comunica con el microcontrolador mediante comunicación serial. Para ello lo tenemos que conectar a los pines Tx y Rx. Ten en cuenta que estos pines son utilizados mientras subimos cualquier programa a la Wemos. Por lo tanto, cada vez que queramos subir un código, tendremos que desconectar primero el DFPlayer.
Por último, los botones táctiles TTP223 los puedes conectar a cualquier pin digital. Al igual que con los leds, si los conectas a pines digitales diferentes, tendrás que modificar el valor de las variables de estos botones.
Código
El código está formado por 4 archivos. Por eso lo dejamos en GitHub. Aquí tienes el enlace: diseño 3D y código del reloj smart wifi.
Como verás, hay algunas variables que no guardan ningún valor. Debes añadirlo tu. El resto del código puedes dejarlo igual siempre y cuando hayas hecho el hardware exactamente igual que nosotros. Si no es así, es posible que tengas que modificar otras variables o partes del código. Aquí te dejamos un listado de las variables a las que tienes que asignarle un valor:
- WLAN_SSID: nombre de tu wifi.
- WLAN_PASS: contraseña de tu wifi.
- AIO_USERNAME: nombre de usuario de IO Adafruit.
- AIO_KEY: clave de IO Adafruit.
- CITY: nombre de la ciudad de la cual quieres saber la temperatura.
- COUNTRY_CODE: código del país de la ciudad guardada en la variable CITY.
- OP_KEY: clave de OpenWeather.
- Adafruit MQTT Library = 2.4.2
- ArduinoJson = 5.13.1
- FastLED = 3.4.0
- RTClib = 2.0.3
- RGBLeds = Carpeta zip de GitHub.
Además debes tener instalados los paquetes necesarios para poder trabajar con la ESP8266 desde el IDE de Arduino. En este enlace tienes como hacerlo: https://github.com/esp8266/Arduino.

Curso de Arduino desde Cero
Aprende programación y electrónica de forma rápida y sencilla con Arduino para que puedas montar tus proyectos tecnológicos lo antes posible.