Ante la duda, un reloj. No importa si planeas reciclar una tablet vieja u obtener reportes precisos del clima, el reloj es un proyecto ideal para satisfacer al bicho del DIY. Con eso en mente, recientemente descubrimos a Tiny Internet Clock, publicado por «gokux» en la plataforma Instructables. Todo lo que necesitas es una pequeña pantalla OLED, un módulo basado en el ESP32 o ESP8266, y la dosis exacta de impresión 3D.
Arduino, Raspberry Pi, microcontroladores, impresión 3D… sin lugar a dudas es uno de los mejores momentos para mojarse los pies en las aguas del DIY. De hecho, hay muchos proyectos en línea que ni siquiera requieren de un soldador de estaño, y ofrecen una excelente oportunidad para todos los usuarios. El Tiny Internet Clock de «gokux» es uno de esos proyectos, pero si tienes acceso a una impresora 3D y estás dispuesto a dar un par de puntos de estaño en las conexiones, podrás obtener un reloj WiFi muy compacto y sencillo.
Cómo construir un reloj con WiFi
Desde un punto de vista técnico, sólo necesitas tres cosas: Un módulo ESP32 o ESP8266 compatible (aquí utiliza el Seeed Studio Xiao), una pantalla OLED SSD1306 con formato de 128 x 32 píxeles, y alguna fuente de energía. «gokux» decidió simplificar el diseño al máximo y alimentar a su Xiao con un cable USB tipo C, pero no es mala idea sumar un módulo TP4056, y una pequeña batería para «cortar el cordón». Aún así, no podemos hablar de portabilidad porque las credenciales WiFi van codificadas en el código Arduino (detalles más abajo).
«gokux» también tuvo la gentileza de compartir los archivos para imprimir la carcasa del Tiny Internet Clock, compuesta por tres piezas que deberían quedar perfectas aún en la más básica de las impresoras. Por lejos, la parte intimidante del proyecto es la carga del código Arduino en el ESP32, pero en realidad sólo nos interesan cuatro parámetros:
- const char* ssid = “SSID”; Aquí debemos reemplazar “SSID” con el SSID real de la red WiFi (entre comillas)
- const char* password = “Password”; Lo mismo, pero escribimos la contraseña
- int GMTOffset = 19080; Aquí va el offset negativo o positivo de nuestro huso horario, en segundos
- int daylightOffset = 0; Similar al anterior, pero ingresamos el offset para horario de verano (si es necesario)
La única línea adicional de código que me gustaría destacar es:
configTime(GMTOffset, daylightOffset, “0.in.pool.ntp.org”,”time.nist.gov”);
El servidor 0.in.pool.ntp.org pertenece a la India, y tal vez sea más conveniente usar un NTP local.
Con todo el código cargado, el resto es cuestión de verificar las conexiones físicas entre el ESP32 y la pantalla, encenderlo, y esperar a que se sincronice. ¡Haz la prueba!
Sitio oficial: Haz clic aquí