Índice:
Vídeo: Relógio binário verdadeiro com sincronização NTP: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:34
Um verdadeiro relógio binário exibe a hora do dia como uma soma das frações binárias de um dia inteiro, ao contrário de um "relógio binário" tradicional que exibe a hora como dígitos decimais codificados em binário correspondentes às horas / minutos / segundos. Os "relógios binários" tradicionais realmente usam sexagesimal codificado-decimais codificado binário. Que bagunça! Os verdadeiros relógios binários simplificam as coisas imensamente.
Em um relógio binário verdadeiro, o primeiro dígito diz que é meio dia, o segundo dígito é um quarto de dia, o terceiro dígito é um oitavo de um dia, etc. Ele pode ser lido em qualquer resolução muito rapidamente (com a prática, é claro) O primeiro dígito codifica efetivamente AM versus PM, o segundo dígito codifica se é cedo AM / PM ou tarde AM / PM e assim por diante.
Ao projetar meu verdadeiro relógio binário, usei doze dígitos de resolução, então o dia é dividido em 2 ^ 12 = 4096 partes (cada incremento é de aproximadamente 20 segundos). Em vez de manter todos os dígitos em uma linha, os 12 dígitos foram separados em 3 linhas de 4 dígitos. Embora os dígitos binários reais permaneçam inalterados, isso permite que o relógio seja lido como 3 dígitos hexadecimais codificados por binários, a primeira linha mostrando 16 dias (1,5 horas), a segunda linha mostrando 256 dias (~ 5 minutos) e a terceira linha mostrando 4096 dias de um dia (~ 20 segundos).
O relógio é sincronizado com o NTP (Network Time Protocol) usando um ESP8266. O ESP8266 está configurado para que, na inicialização, pressione um botão no relógio para colocá-lo no modo de configurações. No modo de configurações, o relógio criará uma rede WiFi que fornece uma página da web que pode ser usada para inserir suas próprias configurações de wifi, servidor NTP e fuso horário. Essas informações são armazenadas na EEPROM do ESP8266 e são lidas quando o relógio é inicializado no modo relógio para que ele possa se conectar à internet e obter a hora.
Suprimentos:
- NodeMCU ESP8266
- WS2812B tira LED
- Botão de apertar
- Resistor de 470 ohms
- Resistor de 10K Ohm
- Capacitor 470 uF
- picolés
- Mármores
- Madeira (ou outra folha de material) para a caixa
Etapa 1: circuito
Para ter um display, este projeto usa uma faixa de led RGB disposta em 3 filas. Cortei 3 tiras de 8 leds da tira de leds WS2812B e os soldei. (Eles são frágeis e soldar as pastilhas pequenas pode ser difícil. Enrolei as pontas soldadas em fita isolante para isolá-las de qualquer dobra.) Embora eu só precisasse de 4 leds por linha, cortei tiras de 8 para que eu poderia ter um espaçamento maior entre as luzes usando apenas todos os outros leds. Essas tiras foram então coladas a uma base plana feita de palitos de picolé. Entre cada linha, uma dupla camada de palitos de picolé fornece o perfil para que a face frontal possa ser colada no interior da caixa do relógio (ver foto).
A faixa de led é alimentada pelo VU e GND do NodeMCU. VU é a energia que vem (quase) diretamente do USB, portanto, fornece 5 V aos LEDs WS2812B, embora o ESP8266 funcione a 3,3 V. Coloquei um capacitor 470 uF na alimentação da tira WS2812B para proteger os leds. Os dados da faixa de led são conectados ao pino D3 do NodeMCU por meio do resistor de 470 Ohm. Consulte este manual para obter mais informações sobre como controlar os leds WS2812B com o ESP8266. O circuito foi soldado em uma protoplaca com alguns conectores macho-fêmea para o NodeMCU.
Um botão de pressão também foi anexado ao D6 do NodeMCU. Este botão pode ser pressionado enquanto o relógio está inicializando para enviá-lo para o modo de configurações (no qual as configurações de wi-fi, servidor NTP e preferências de fuso horário podem ser modificadas). Em uma extremidade, o botão de pressão é conectado ao D6 e também ao GND por meio de um resistor de 10K Ohm e na outra extremidade é conectado à alimentação. Quando o botão não está pressionado, D6 tem uma leitura baixa; quando é pressionado, D6 lê alto.
Etapa 2: Software
O software para o ESP8266 foi escrito usando o código Arduino. Os LEDs são manipulados usando a biblioteca FastLED e a sincronização NTP é feita pela biblioteca NTPClient. A hora é sincronizada por NTP a cada hora.
No início da função de configuração, o programa verifica se o botão conectado ao D6 está pressionado. Se for, o ESP8266 cria uma rede wi-fi (o SSID e a senha podem ser alterados no código, o SSID padrão é "TrueBinary" e a senha é "thepoweroftwo"). Conecte-se a esta rede a partir de qualquer dispositivo e navegue até 192.168.1.1. O ESP8266 servirá uma página da Web com formulários onde você pode inserir seu SSID e senha de wi-fi, servidor NTP preferido e deslocamento de fuso horário do UTC. Depois que esses formulários forem enviados ao ESP8266, ele salvará as informações em seu armazenamento EEPROM interno.
Se o botão não for pressionado, o relógio inicia normalmente, lê as configurações da EEPROM, conecta-se ao wi-fi para usar NTP e começa a exibir a hora.
NOTA: a função setDisplay (int index) leva o número do dígito de 0-11 onde 0 é o primeiro dígito (meio dia) e 11 é o último (1/4096 de um dia) e liga o LED correspondente usando o " matriz de leds ". Esta função deve ser preenchida de acordo com a configuração do display. Meu exemplo comentado corresponde a como eu soldava as linhas em zigue-zague em vez de ponta a ponta e pulei todos os outros LEDs.
Etapa 3: Alojamento
Para abrigar o relógio, usei um ângulo de madeira pintada que por acaso tinha. Em uma face externa, fiz 12 furos em uma grade correspondente às posições dos LEDs. Em seguida, colei os LEDs no interior do ângulo, colando as faces elevadas dos palitos de picolé entre as fileiras na madeira (como mostrado). Para difundir a luz dos LEDs, coloquei bolinhas de vidro no topo dos orifícios. Consegui isso mergulhando a metade inferior de cada mármore em resina epóxi e, em seguida, colocando-os nos orifícios. O NodeMCU e a protoplaca foram aparafusados na outra face interna do ângulo. As laterais foram cobertas com pequenos triângulos de madeira, fixados com cola de madeira. Um dos lados tem um orifício para a porta micro USB do NodeMCU e um corte no canto para o botão.
Etapa 4: Pronto
Nosso verdadeiro relógio binário terminou! Para configurá-lo, mantenha o botão pressionado enquanto o conecta para colocá-lo no modo de configurações e, em seguida, insira as credenciais de WiFi em sua página da web. Depois de configurado, o relógio pode ser conectado em qualquer lugar e se conectará automaticamente à Internet e começará a exibir a hora em binário.
É necessário um pouco de prática para ler as horas no verdadeiro formato binário, mas é um exercício divertido e depois de um tempo torna-se uma maneira rápida de obter as horas com apenas um relance!
Recomendado:
Exibição do relógio binário BigBit: 9 etapas (com imagens)
BigBit Binary Clock Display: Em um Instructable anterior (Microbit Binary Clock), o projeto era ideal como um dispositivo de mesa portátil, pois a tela era bastante pequena. Portanto, parecia apropriado que a próxima versão fosse uma versão para lareira ou montada na parede, mas muito maior
O relógio binário final: 12 etapas (com imagens)
The Ultimate Binary Watch: Recentemente fui apresentado ao conceito de relógios binários e comecei a fazer algumas pesquisas para ver se eu poderia construir um para mim. No entanto, não consegui encontrar um design existente que fosse funcional e elegante ao mesmo tempo. Então eu decidi
Verdadeiro Extensor WiFi: 5 etapas
Truly WiFi Extender: IntroduçãoTruly WiFi Extender é um repetidor WiFi baseado no Raspberry Pi Zero W. É uma boa alternativa para um repetidor WiFi comercial combinando baixo custo (abaixo de 10USD) e software altamente personalizável. Ele também pode executar algumas soluções de bloqueio de anúncios
Entrada biométrica do carro - Carro verdadeiro sem chave: 4 etapas
Biometric Car Entry - True Keyless Car: Há alguns meses minha filha me perguntou, por que os carros modernos não são equipados com sistema de entrada biométrica, quando até mesmo um telefone celular está tendo isso. Desde então estava trabalhando na implementação do mesmo e finalmente consegui instalar e testar algo no meu T
O verdadeiro Ghetto Blaster: 5 etapas
The True Ghetto Blaster: Isso já aconteceu com você? Você está sentado em uma sala barulhenta com garrafas plásticas de água, pistolas de cola quente e ferros de solda EM TODOS OS LUGARES e não consegue ouvir sua música? Não temas! Você pode usar essas ferramentas DIY convenientemente colocadas para fazer seu próprio re