Índice:

LCD DATE / CLOCK Esqueça o RTC: 9 etapas
LCD DATE / CLOCK Esqueça o RTC: 9 etapas

Vídeo: LCD DATE / CLOCK Esqueça o RTC: 9 etapas

Vídeo: LCD DATE / CLOCK Esqueça o RTC: 9 etapas
Vídeo: [New] How To Make Clock | Simple Digital clock project । DS3231 RTC | LCD Display | Arduino . 2024, Novembro
Anonim
LCD DATE / CLOCK Esqueça o RTC
LCD DATE / CLOCK Esqueça o RTC

Um relógio lógico quântico NIST 2010 baseado em um único íon de alumínio.

Em 2010, um experimento colocou dois relógios quânticos de íon de alumínio próximos um do outro, mas com o segundo elevado a 12 pol. (30,5 cm) em comparação com o primeiro, tornando o efeito de dilatação do tempo gravitacional visível em escalas diárias de laboratório. Reprovando assim as teorias da gravidade de Einstein. Os relógios estavam invertidos nas posições e mostravam os mesmos ajustes de hora. O pesquisador de pós-doutorado do NIST, James Chin-wen Chou, com o relógio mais preciso do mundo, baseado nas vibrações de um único íon de alumínio (átomo eletricamente carregado). O íon está preso dentro do cilindro de metal (centro à direita). Ele diz 'fora por 1 segundo em 3,7 bilhões de anos' … vamos esperar para ver!

SUPER DUPER WOW.

Então, usando vibrações quânticas que são realmente rápidas, você acha que mais rápido é melhor. O chip 328 no Unos é meio rápido a 16 MHz. Isso é muito mais rápido do que o cristal de relógio (relógio) típico que é de 32,768 khz. Isso é 500 vezes mais rápido! E o 328 possui um sensor de temperatura para compensar o relógio.

Então, por que o 328 fora não pode pré-formar um cristal de relógio de piada?

Etapa 1: O QUE ESPERAR

O QUE ESPERAR
O QUE ESPERAR

Esta é minha segunda tentativa de fazer um relógio usando APENAS o chip 328. Cada 328 roda em momentos diferentes, embora tenham um cristal de 16 MHz. Portanto, você obtém resultados ruins apenas contando milissegundos (). Que funciona a 1 000 Hz. Isso faz com que UM milis (1) em média a cerca de + - 3,6 segundos por hora de precisão. Os moinhos Arduino () não contam moinhos faccionais nem usam flutuadores. Isso torna impossível contar as frações de um moinho. Portanto, usar o Arduino micros () é a próxima escolha. Mas o uso de micros () se esgota em apenas 71 minutos. (isso realmente NÃO é um problema). O problema para mim é lidar com os grandes números e fazer ajustes repetidos com base no tempo cronometrado do GPS. Outra opção é interromper. Isso conta os segundos, independentemente de onde o código está sendo executado dentro do loop. Isso torna o 328 tão bom quanto um RTC. Mesmo se as manchas de 'micros ()' forem consideradas, em + - 4 uS, isso resulta em um relógio de 250 kHz. Isso é 7 vezes melhor do que 32,768 khz.

Então aqui está meu relógio lcd Arduino baseado em interrupções timerOne de 16 bits usando microssegundos. Não é tão bom quanto contar íons de alumínio! Mas é fácil e com algumas calibrações pode ser tão bom quanto um RTC. Fiz 3 versões deste relógio. De conectar ao USB do computador. Para ficar sozinho com 4 botões. Para gps externo com temperatura usando um HC12. Este instrutível cobrirá os primeiros 2 relógios e escreverei outro 'em profundidade' para o HC12.

Veja meu outro instrutível sobre problemas de alcance do HC12.

O que você pode esperar é um relógio / data lcd fácil usando UNO e um lcd 16x2. Fiz alguns números personalizados para o LCD. A biblioteca de 'Números BIG' ocupa 3 espaços, o meu apenas 1. O botão 4 possui pull interno para que a construção seja fácil. Tenho um case para este e um 2 lcd e backs.

A biblioteca pública aqui na minha pequena cidade tem uma impressora 3D que qualquer pessoa pode usar. Portanto, verifique uma biblioteca perto de você para fazer a caixa do lcd.

Meus testes mostram - + segundo a cada 24-48 horas. Falta cerca de um minuto em dois meses. Três ou quatro ajustes ajustam o relógio. Apenas cerca de 12 segundos antes do MÊS. Tentativas repetidas de 'calibrar' costuras para apenas perseguir números. O único recurso RUIM está usando QUALQUER 'menu' redefine os segundos para 00. Isso altera a hora atual. Eu deixei um tempo limite de 60 segundos para o pressionamento do botão para permitir a sincronização com outro relógio.

Etapa 2: AS PORCAS E PARAFUSOS

AS PORCAS E PARAFUSOS
AS PORCAS E PARAFUSOS
AS PORCAS E PARAFUSOS
AS PORCAS E PARAFUSOS
AS PORCAS E PARAFUSOS
AS PORCAS E PARAFUSOS
AS PORCAS E PARAFUSOS
AS PORCAS E PARAFUSOS

Este projeto é um relógio STAND ALONE sem RTC apenas um uno e lcd. Os 4 botões permitem definir a hora / data e ajustar o fuso horário e calibrar.

Os arquivos de impressora 3d têm uma caixa de um e dois lcd para outros projetos.

O LCD tem GRANDES NÚMEROS que ocupam apenas UM espaço de largura. Isso me levou algum tempo para fazer

O case tem 8 orifícios para botões de outros projetos.

Basta conectar uma verruga de parede de 5v para obter energia.

Verifique na sua BIBLIOTECA local o uso de uma impressora 3D !!

Etapa 3: SOBRE A CONSTRUÇÃO

SOBRE A CONSTRUÇÃO
SOBRE A CONSTRUÇÃO
SOBRE A CONSTRUÇÃO
SOBRE A CONSTRUÇÃO
SOBRE A CONSTRUÇÃO
SOBRE A CONSTRUÇÃO

Todas as placas Arduino com micros MEGA 328 devem funcionar. Ele precisa de um cristal de 16 MHz e deve estar funcionando nessa velocidade. 3.3 volt em 8 MHz pode não funcionar com o tempo de interrupção. Para o gabinete do gabinete, um mini pro se encaixa melhor, mas você pode inserir um nano, mas o cabo USB pode ser um problema. Este é um Hitachi 16x2 lcd, muito popular. Alguns pios estão abafados e apenas desmaiaram. Um conector de borda é necessário para encaixar um módulo conversor I2c popular. São necessários apenas 4 fios para conectar ao uno. Existem muitos tutoriais para mostrar como conectar o lcd sem um módulo conversor, se você não quiser um. Para o relógio sem botão, isso é tudo o que você faz.

O LCD tem um caractere personalizado BIG NUMBER. Os grandes números ocupam apenas UMA largura.

Etapa 4: 4 BOTÕES e CAIXA

4 BOTÕES e CAIXA
4 BOTÕES e CAIXA
4 BOTÕES e CAIXA
4 BOTÕES e CAIXA
4 BOTÕES e CAIXA
4 BOTÕES e CAIXA

O mesmo que acima, mas adicione os 4 interruptores. Uma placa de PC padrão de 2 polegadas x 2,5 polegadas é usada para encaixar no gabinete. Apenas corte ao meio e instale os interruptores de forma que as pernas vão da esquerda para a direita. Se você colocar os interruptores com pernas para cima, os orifícios não se alinharão no gabinete. Teste se eles se alinham aos orifícios da caixa ANTES de soldar. Aterre as pernas de baixo (todas) e coloque cada perna de cima em um pino no uno. Veja o esquema em anexo. Se você imprimir a caixa em 3D, a parte do botão precisa ser COLADA na caixa do lcd. NÃO se encaixa como a parte de trás. Qualquer pequeno parafuso auto-adesiva manterá o lcd no lugar. GRANDE DEMAIS e você resolverá o caso. A cola quente em bastão pode ser a melhor. Antes de montar o lcd… escurece a área de led com fita preta. Caso contrário, ele brilhará no caso. Eu uso fita de espuma de 2 lados em 2 camadas para montar o pro mini. Esta fita é uma pechincha nas 'lojas da árvore do dólar'. Eu uso fio magnético com revestimento sólido de calibre 26. Eu tenho uma ótima instrução sobre 'um caldeirão de solda pobre' para usar este fio em conexões.

Etapa 5: O LCD

O LCD
O LCD
O LCD
O LCD
O LCD
O LCD

problemas de lcd

Depois de terminar a construção, baixe e instale o esboço. O LCD pode não iluminar o visor. Aqui estão algumas dicas. O 'led' do lcd deve estar aceso e deixar a tela azulada. Se não houver led, verifique os pinos do jumper opostos ao potenciômetro do resistor. Isso precisa do jumper ou do resistor de 150 ohms. O pote azul é sempre o problema. Então vire a panela até que o display mostre 2 fileiras de quadrados. Em seguida, recue apenas até que os quadrados quase não desapareçam. Se ainda não houver exibição, verifique as conexões SDA e SCL. Muito fácil retrocedê-los. Isso é A4 para SDA e A5 para SCL. Estes são pinos A, não pinos D e alguns pro minis têm esses pinos no interior do PC e não nas bordas. A última opção é verificar o endereço. Alguns módulos conversores de lcd têm endereços diferentes. Ou, ao usar mais de um dispositivo, todos precisam de endereços diferentes. A maioria dos módulos possui 3 pinos de solda para configurar 3 endereços diferentes. Lembre-se de que o I2c só passa 2 fios para todos e quaisquer dispositivos. Portanto, cada dispositivo DEVE ter um endereço exclusivo. Inclui um scanner de endereço I2c. Baixe a instalação do scanner e leia o monitor serial. O display mostra o endereço de QUALQUER dispositivo I2c. Verifique o esboço do relógio para a linha no topo do esboço. 'LiquidCrystal_I2C lcd (0x3F, 16, 2); '0x3F é o endereço correto para meu conversor. Se o seu endereço for diferente, mude para o correto no scanner. Cuidado: copiar e colar o novo endereço às vezes inclui fim de linha ou retornos de carro. Basta digitar no outro endereço. As primeiras letras são sempre zero e minúsculas x 0x. Isso informa ao C ++ que é um hexadecimal. Depois de 0x, qualquer letra é maiúscula.

Etapa 6: HOOKUPS

HOOKUPS
HOOKUPS
HOOKUPS
HOOKUPS
HOOKUPS
HOOKUPS

siga o esquema e conecte a unidade.

Etapa 7: OUTRAS FOTOS

OUTRAS FOTOS
OUTRAS FOTOS
OUTRAS FOTOS
OUTRAS FOTOS
OUTRAS FOTOS
OUTRAS FOTOS

boa sorte POR FAVOR, veja meus outros instructables

Etapa 8: O ESBOÇO

instructables não me deixa baixar um arquivo Arduino !!!! então usei texto. Você terá que copiar e colar o texto em um NOVO arquivo aberto do arduino no IDE ……. DESCULPE

e os arquivos de texto também não vão carregar !!! e tentei colar aqui, mas baguncei !!

finalmente !!! tenho meu esboço para baixar aqui. 3-26-2020 Corrigido algumas coisas menores também.

As pessoas que são pagas para escrever código estão rolando no chão quando vêem meu código. Meus esboços geralmente começam simples. Então adiciono mais coisas para fazer. Portanto, o esboço fica confuso. Espero que você aprenda com meus dois maiores erros. Deve haver um esboço definido e uma meta no início. Não adicione toneladas de coisas ao longo do esboço. Meu pior erro é usar mal uma FUNÇÃO. Deve ser breve e retornar uma soma, e usado apenas quando substituir linhas de código repetidas em todo o esboço. delay (100) é um bom exemplo.

Meu uso de uma FUNÇÃO é separar seções do esboço. Isso deixa o corpo principal fácil de seguir, além de permitir depurar seções separadas apenas chamando a função. Acho que GOTO costumava fazer isso, mas caiu em desgraça e NUNCA é usado. Disse Nuff. Verifiquei as datas e horas da melhor maneira possível. As mesmas partes do esboço funcionam em meus relógios 'TIME SQUARED' por anos. Se eu perder algo ou houver um bug, por favor me avise. Para calibrar o 'esboço sem botões', a linha com 'unsigned long tSec = 1000122; '(linha 34) é o que você muda. A constante de 277 por segundo por hora está correta. Mas, na prática, faço apenas 2 a 8 alterações de valor no valor 'tSec'. Em 1000122, muitos dos meus relógios funcionavam tão bem quanto um RTC. Seja paciente, pois uma pequena mudança de apenas 2 a 8 pode se tornar um relógio perfeito. O lado negativo de quaisquer alterações para qualquer relógio significa que a hora atual SERÁ alterada. Você precisará alterar para a hora / data atual correta.

//// easy_one_lcd_clock_no_buttons // // relógio arduino e lcd // use timerOne de 16 bits // para calibrar este relógio: // use um bom relógio de segundos como um GPS. // use horas como linha de base. Contar segundos // ISSO está desativado. Se ISTO estiver atrás de um GPS // GPS = 00.. THIS = 58 SUBTRAIR 277 para cada // segundo / horas. Portanto, se mais lento em 2 segundos em // 3 horas… (277 * 2) / 3 = 184 // SUBTRAIR de tSeg. // se ISTO estiver à frente GPS = 00… ISTO = 03 // mesma matemática apenas ADICIONE a tSec. // caução, a maioria dos relógios corrige em 00. // 20 segundos é uma verificação melhor do cronômetro.

Etapa 9: Arquivos CASE STL

Aqui estão os arquivos do caso da impressora 3D. O teclado precisa ser colado à caixa do LCD. A parte traseira se encaixa na frente da caixa de um e dois lcd. Encaixe a parte superior primeiro e depois desça para obter um bom ajuste.

VERIFIQUE sua BIBLIOTECA local para o uso de uma impressora 3D.

Recomendado: