Tabla de contenido:
Video: Verdadero reloj binario con sincronización NTP: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:39
Un verdadero reloj binario muestra la hora del día como una suma de fracciones binarias de un día completo, a diferencia de un "reloj binario" tradicional que muestra la hora como dígitos decimales codificados en binario correspondientes a las horas / minutos / segundos. Los "relojes binarios" tradicionales en realidad utilizan sexagesimales con codificación decimal codificada en binario. ¡Que desastre! Los verdaderos relojes binarios simplifican enormemente las cosas.
En un verdadero reloj binario, el primer dígito le dice que es el medio día, el segundo dígito es un cuarto de día, el tercer dígito es un octavo de un día, etc. Se puede leer a cualquier resolución muy rápidamente (con práctica, por supuesto). El primer dígito codifica de manera efectiva AM versus PM, el segundo dígito codifica si es temprano AM / PM o tarde AM / PM, y así sucesivamente.
Al diseñar mi verdadero reloj binario, utilicé doce dígitos de resolución, por lo que el día se divide en 2 ^ 12 = 4096 partes (cada incremento es de aproximadamente 20 segundos). En lugar de mantener todos los dígitos en una línea, los 12 dígitos se separaron en 3 filas de 4 dígitos. Aunque los dígitos binarios reales no se modifican, esto permite que el reloj se lea como 3 dígitos hexadecimales codificados en binario, la primera línea muestra los 16 de un día (1,5 horas), la segunda línea muestra los 256 del día (~ 5 minutos) y la tercera línea muestra 4096 de un día (~ 20 segundos).
El reloj se sincroniza con NTP (Network Time Protocol) mediante un ESP8266. El ESP8266 está configurado para que, en el inicio, al presionar un botón en el reloj se envíe al modo de configuración. En el modo de configuración, el reloj creará una red WiFi que ofrece una página web que puede usarse para ingresar su propia configuración wifi, servidor NTP y zona horaria. Esta información se almacena en la EEPROM del ESP8266 y se lee cuando el reloj se inicia en modo reloj para que pueda conectarse a Internet y recuperar la hora.
Suministros:
- NodeMCU ESP8266
- Tira de LED WS2812B
- Presionar el botón
- Resistencia de 470 ohmios
- Resistencia de 10K Ohm
- Condensador de 470 uF
- palitos de helados
- Canicas
- Madera (u otra hoja de material) para el estuche
Paso 1: circuito
Para tener una pantalla, este proyecto utiliza una tira de led RGB colocada en 3 filas. Corté 3 tiras de 8 leds de la tira de leds WS2812B y las soldé juntas. (Son frágiles y soldar las almohadillas pequeñas puede ser difícil. Envolví los extremos soldados en cinta aislante para aislarlos de cualquier doblez). Aunque solo necesitaba 4 leds por fila, corté tiras de 8 para que podría tener un mayor espacio entre las luces utilizando solo uno de los otros LED. Estas tiras se pegaron luego a una base plana hecha de palitos de helado. Entre cada fila, una doble capa de palitos de helado proporciona el perfil para que la cara frontal se pueda pegar contra el interior de la caja del reloj (ver foto).
La tira de led se alimenta desde la VU y GND del NodeMCU. La VU proviene (casi) directamente del USB, por lo que proporciona 5V a los LED WS2812B a pesar de que el ESP8266 funciona a 3.3V. Coloqué un capacitor de 470 uF a través de la potencia de la tira WS2812B para proteger los leds. Los datos de la tira de led se conectan al pin D3 del NodeMCU a través de la resistencia de 470 Ohm. Consulte este instructivo para obtener más información sobre cómo controlar los leds WS2812B con el ESP8266. El circuito se soldó en un protoboard con algunos encabezados de macho a hembra para el NodeMCU.
También se adjuntó un botón al D6 del NodeMCU. Este botón se puede presionar mientras el reloj se está iniciando para enviarlo al modo de configuración (en el que se pueden modificar la configuración de wifi, el servidor NTP y las preferencias de zona horaria). En un extremo, el pulsador está conectado a D6 y también a GND a través de una resistencia de 10K Ohm y en el otro extremo está conectado a la alimentación. Cuando no se presiona el botón, D6 lee bajo; cuando se presiona, D6 lee alto.
Paso 2: software
El software del ESP8266 se escribió con código Arduino. Los LED se manejan mediante la biblioteca FastLED y la sincronización NTP la realiza la biblioteca NTPClient. El tiempo se sincroniza por NTP cada hora.
Al inicio de la función de configuración, el programa verifica si se presiona el botón conectado a D6. Si es así, el ESP8266 crea una red wifi (el SSID y la contraseña se pueden cambiar en el código, el SSID predeterminado es "TrueBinary" y la contraseña es "thepoweroftwo"). Conéctese a esta red desde cualquier dispositivo y navegue hasta 192.168.1.1. El ESP8266 ofrecerá una página web con formularios donde puede ingresar su SSID y contraseña wifi, servidor NTP preferido y desplazamiento de zona horaria de UTC. Después de que estos formularios se envíen al ESP8266, guardará la información en su almacenamiento EEPROM interno.
Si no se presiona el botón, el reloj se inicia normalmente, lee la configuración de EEPROM, se conecta a wifi para usar NTP y comienza a mostrar la hora.
NOTA: la función setDisplay (int index) toma el número de dígito de 0-11 donde 0 es el primer dígito (el medio día) y 11 es el último (1/4096 de un día) y enciende el LED correspondiente usando el " matriz de leds ". Esta función debe completarse de acuerdo con cómo configuró la pantalla. Mi ejemplo comentado corresponde a cómo soldé las filas en zig-zag en lugar de de un extremo a otro y me salté todos los demás LED.
Paso 3: Vivienda
Para albergar el reloj, utilicé un ángulo de madera pintada que tenía. En una cara exterior, perforé 12 agujeros en una cuadrícula correspondiente a las posiciones de los LED. Luego pegué los LED en el interior del ángulo pegando las caras elevadas de los palitos de helado entre las filas a la madera (como se muestra). Para difundir la luz de los LED, pegué canicas de vidrio en la parte superior de los agujeros. Lo logré sumergiendo la mitad inferior de cada canica en resina epoxi y luego colocándolas en los agujeros. El NodeMCU y el protoboard se atornillaron en la otra cara interior del ángulo. Los lados se cubrieron con pequeños triángulos de madera, pegados con pegamento para madera. Uno de los lados tiene un orificio para el puerto micro USB del NodeMCU y un corte en la esquina para el pulsador.
Paso 4: ¡Listo
¡Nuestro verdadero reloj binario está terminado! Para configurarlo, mantenga presionado el botón mientras lo conecta para ponerlo en modo de configuración y luego ingrese las credenciales de WiFi en su página web. Una vez configurado, el reloj se puede conectar en cualquier lugar y se conectará automáticamente a Internet y comenzará a mostrar la hora en binario.
Se necesita un poco de práctica para leer la hora en verdadero formato binario, pero es un ejercicio divertido y, después de un tiempo, se convierte en una forma rápida de obtener la hora con solo un vistazo.
Recomendado:
Micro reloj binario: 10 pasos (con imágenes)
Micro reloj binario: Habiendo creado previamente un Instructable (DVM binario), que hace uso del área de visualización limitada usando binario, fue solo un pequeño paso haber creado previamente el módulo de código principal para la conversión de decimal a binario para crear un reloj binario, pero t
Reloj de red ESP8266 sin ningún RTC - Reloj Nodemcu NTP Sin RTC - PROYECTO RELOJ DE INTERNET: 4 Pasos
Reloj de red ESP8266 sin ningún RTC | Reloj Nodemcu NTP Sin RTC | PROYECTO DE RELOJ DE INTERNET: En el proyecto se realizará un proyecto de reloj sin RTC, se tomará tiempo de Internet usando wifi y lo mostrará en la pantalla st7735
5 $ CALENDARIO PCB CON RELOJ BINARIO: 7 Pasos (con Imágenes)
CALENDARIO PCB 5 $ CON RELOJ BINARIO: ¡Hola! Hice este calendario de PCB y reloj binario con Eagle CAD. Usé ATMEGA328P MCU (de Arduino) y matriz LED 9x9. Las dimensiones de mi tablero son de 8 cm x 10 cm (3,14 pulgadas x 3,34 pulgadas). Es un poco demasiado pequeño, pero primero: la versión gratuita de Eagle CAD permite 80 cm ^ 2
Reloj de cadena y engranaje de sincronización: ¡casi gratis !: 5 pasos (con imágenes)
Reloj de cadena y engranaje de sincronización: ¡casi gratis! Casi lo hago, pero mi esposa me mostró esto: http://www.uncommongoods.com/product/auto-timing-chain-and-gears-wall-clock $ 125 US más gastos de envío.
Amplificador de escritorio con visualización de audio, reloj binario y receptor de FM: 8 pasos (con imágenes)
Amplificador de escritorio con visualización de audio, reloj binario y receptor de FM: me gustan los amplificadores y hoy compartiré mi amplificador de escritorio de baja potencia que hice recientemente. El amplificador que diseñé tiene algunas características interesantes. Tiene un reloj binario integrado y puede dar la hora y la fecha y puede visualizar audio a menudo llamado audio