Relógio DIY simples. Relógio de pulso multifuncional LED

Nisso instruções passo a passo Vou lhe dizer como fazer um relógio de parede com suas próprias mãos.

Recursos do relógio:

  • Números grandes (cada número é aproximadamente igual ao tamanho de uma folha A4).
  • Paredes finas (podem ser inseridas em um quadro de imagem).
  • Ajuste automático em função da luminosidade da sala.
  • Botão dedicado ao horário de verão.

Etapa 1: Materiais necessários


O que usei como relógio eletrônico de parede com números grandes.

Eletrônicos:

  • Arduino nano V3.0 (infelizmente, como não posso pagar o arduino original, usei um clone chinês) - 150 rublos.
  • Módulo digital para medir a intensidade da luz Fotoresistor para Arduino - 60 rublos.
  • DS3231 AT24C32 IIC módulo de memória de tempo para Arduino - 60 rublos.
  • Conversor DC-DC LM2596, Potência de saída 1,23 V-30 V - 50 rublos.
  • 4 metros WS2811 tira LED 30 diodos / m - 700 rublos. (um WS2811 controla 3 chips LED)

Custo total da eletrônica: 900 rublos.

Outros materiais:

  • Tubo termorretrátil - 400 rublos (33 m em estoque)
  • 20 pcs. Placa de circuito impresso de 5 x 7 cm - 200 rublos.
  • 3 pecas. Microinterruptor - 60 rublos.
  • Solda - 50 rublos
  • Fluxo - 50 rublos.
  • Cabo UTP (par trançado não blindado)
  • A fonte LCD (http://www.dafont.com/lcd-lcd-mono.font) é gratuita.
  • O papelão é grátis no supermercado.
  • Painel de poliestireno - 100 rublos.

Bem como várias ferramentas.

Etapa 2: Preparação - Padrões numéricos


  1. Baixe e instale a fonte do relógio
  2. Abra o Word ou outro programa e crie um modelo como na primeira foto.
  • Tamanho da fonte ~ 800,
  • Fonte branco com um contorno preto,
  • Faixas cinza onde as tiras de LED ficarão

Imprima o modelo e corte as listras com uma faca de escritório (como na segunda foto)

Etapa 3: Preparação - corte de papelão e tira de LED

Usando um modelo digital, corte o papelão no tamanho certo (lembre-se de deixar espaço para pontos entre horas e minutos)

Se as tiras de LED vierem com conectores em cada extremidade (como o meu), desconecte o conector e corte 3 pedaços.

Etapa 4: prenda a faixa de LED


Usando o modelo, mantenha tira led em papelão.

Não é necessário, mas usei um lápis para marcar onde as tiras de LED devem ser colocadas.

É muito mais conveniente colá-los ao ver a forma final. Graças a isso, percebi que deixei muito espaço para os pontos entre os números e fixei no tempo.

Etapa 5: soldar a faixa de LED


Agora começa o longo processo de soldagem.

Solde a faixa de LED para formar uma faixa contínua. Preste atenção à ordem das tiras de solda na foto. Para os pontos, usei um pedaço de fita, que colei com fita adesiva no meio.

As cores que escolhi:

  • Azul para a terra
  • Verde para dados
  • Vermelho para + 12V

Etapa 6: Instalando o Arduino no PCB


Tentei fazer um esboço no Fritzing, mas não consegui encontrar todos os detalhes :)

Então, na primeira foto, o diagrama de fiação, e na segunda, como ficou de mim.

Etapa 7: teste de LED


Antes de baixar qualquer código (com o qual não tenho nada a ver), certifique-se de instalar a biblioteca FastLED.

Se tudo funcionar bem, os LEDs devem alternar entre as cores. Se você tiver problemas, verifique primeiro o pico.

arquivos

Etapa 8: programe o relógio

Depois de algum tempo, consegui fazer um relógio que me caiu completamente. No entanto, cada um descobrirá por si o que pode ser melhorado.

O código é bem comentado, então você não deve ter problemas com ele.

Todas as mensagens de depuração também são comentadas.

Para alterar a cor usada, você deve alterar a variável na linha 22 (int ledColor \u003d 0x0000FF; // Cor usada (hexadecimal)). Você pode encontrar uma lista de cores no final desta página

Olá, geektimes! Na primeira parte do artigo, foram considerados os princípios de obtenção da hora exata em um relógio artesanal. Vamos mais longe e consideremos como e o que é melhor exibir desta vez.

1. Dispositivos de saída

Portanto, temos uma determinada plataforma (Arduino, Raspberry, controlador PIC / AVR / STM, etc), e a tarefa é conectar alguma indicação a ela. Existem muitas opções que iremos considerar.

Exibir segmento

Tudo é simples aqui. O indicador de segmento consiste em LEDs comuns, que são banalmente conectados ao microcontrolador por meio de resistores de amortecimento.

Cuidado com o trânsito!

Prós: simplicidade de design, bons ângulos de visão, preço baixo.
Menos: a quantidade de informações exibidas é limitada.
Existem dois tipos de designs de indicadores, com um cátodo comum e um ânodo comum, dentro dele se parece com isso (diagrama do site do fabricante).

Existem 1001 artigos sobre como conectar um LED a um microcontrolador, google para obter ajuda. As dificuldades começam quando queremos fazer um grande relógio - afinal, olhar para um pequeno indicador não é particularmente conveniente. Então, precisamos de tais indicadores (foto do eBay):

Eles são alimentados por 12 V e simplesmente não funcionam diretamente do microcontrolador. Aqui o microcircuito vem ao resgate CD4511, apenas para este propósito. Ele não apenas converte os dados da linha de 4 bits nos dígitos desejados, mas também contém uma chave de transistor embutida para fornecer tensão ao indicador. Portanto, no circuito, precisaremos ter uma tensão de "alimentação" de 9-12V e um conversor de buck separado (por exemplo, L7805) para alimentar a "lógica" do circuito.

Indicadores matriciais

Na verdade, esses são os mesmos LEDs, apenas na forma de uma matriz 8x8. Fotos do eBay:

Vendido no eBay como módulos únicos ou blocos prontos, por exemplo, 4 peças. Seu controle é muito simples - um microcircuito já está soldado nos módulos MAX7219, garantindo seu funcionamento e conexão ao microcontrolador com apenas 5 fios. Existem muitas bibliotecas para Arduino, você pode olhar o código.
Prós: preço baixo, bons ângulos de visão e brilho.
Contras: baixa resolução. Mas para a tarefa de produzir o tempo é suficiente.

Indicadores LCD

Os indicadores LCD são gráficos e textuais.

Os gráficos são mais caros, mas permitem que você exiba informações mais diversas (por exemplo, um gráfico pressão atmosférica) As mensagens de texto são mais baratas e fáceis de trabalhar, mas também permitem a exibição de pseudo-gráficos - você pode carregar símbolos personalizados no display.

Não é difícil trabalhar com o indicador LCD do código, mas há uma certa desvantagem - o indicador requer muitas linhas de controle (de 7 a 12) do microcontrolador, o que é inconveniente. Portanto, os chineses tiveram a ideia de combinar um indicador LCD com um controlador i2c, no final das contas acabou sendo muito conveniente - apenas 4 fios são suficientes para conectar (foto do eBay).


Os indicadores LCD são muito baratos (se você comprar no eBay), grandes, fáceis de conectar e podem exibir uma variedade de informações. A única desvantagem são os ângulos de visão não muito grandes.

Indicadores OLED

Eles são uma continuação aprimorada da versão anterior. Eles variam de pequenos e baratos 1,1 "a grandes e caros. Foto do eBay.

Na verdade, eles são bons para todos, exceto o preço. Quanto aos indicadores pequenos, de 0,9-1,1 "de tamanho, então (além de estudar como trabalhar com i2c) alguns uso pratico difícil para eles encontrarem.

Indicadores de descarga de gás (IN-14, IN-18)

Esses indicadores são agora muito populares, aparentemente devido ao "som de tubo quente da luz" e à originalidade do design.


(foto do site nocrotec.com)

Seu esquema de conexão é um pouco mais complicado, uma vez que esses indicadores usam 170 V para ignição. Conversor de 12V \u003d\u003e 180V pode ser feito em um microcircuito MAX771... Para fornecer tensão aos indicadores, um microcircuito soviético é usado K155ID1, que foi criado especialmente para isso. Preço de emissão em autoprodução: cerca de 500 rublos para cada indicador e 100 rublos para o K155ID1, todos os outros detalhes, como escreveram em revistas antigas, "não estão em falta." A principal dificuldade aqui é que tanto o IN-xx quanto o K155ID1 estão fora de produção há muito tempo e você só pode comprá-los em mercados de rádio ou em algumas lojas especializadas.

2. Escolha de uma plataforma

Mais ou menos descobrimos a indicação, resta decidir qual plataforma de hardware é melhor usar. São várias opções aqui (não considero as caseiras, já que quem sabe fazer a fiação da placa e soldar o processador, este artigo não é necessário).

Arduino

A opção mais fácil para iniciantes. A placa acabada é barata (cerca de US $ 10 no eBay com frete grátis), tem todos os conectores necessários para a programação. Fotos do eBay:

Há um grande número de bibliotecas diferentes para Arduino (por exemplo, para as mesmas telas LCD, módulos em tempo real), o Arduino é compatível com hardware com vários módulos adicionais.
A principal desvantagem: a complexidade da depuração (apenas através do console da porta serial) e um processador bastante fraco para os padrões modernos (2 KB de RAM e 16 MHz).
A principal vantagem: você pode fazer muitas coisas, praticamente sem se preocupar com solda, comprando um programador e placas de fiação, basta conectar os módulos entre si.

Processadores STM de 32 bits

Para quem quer algo mais potente, existem placas prontas com processadores STM, por exemplo, uma placa com um STM32F103RBT6 e uma tela TFT. Fotos do eBay:

Aqui já temos a depuração completa em um IDE completo (de todos os diferentes, eu gostei mais do IDE Coocox), no entanto, precisamos de um depurador-programador ST-LINK separado com um conector JTAG (o preço de emissão é $ 20-40 no eBay). Como alternativa, você pode comprar uma placa de depuração STM32F4Discovery, na qual este programador já está integrado e pode ser usado separadamente.

Raspberry Pi

E, finalmente, para aqueles que desejam integração total com mundo moderno, existem computadores de placa única com Linux, todos provavelmente já conhecem o Raspberry PI. Fotos do eBay:

Este é um computador completo com Linux, um gigabyte de RAM e um processador de 4 núcleos a bordo. Na borda da placa, há um painel de 40 pinos que permite conectar vários periféricos (os pinos estão disponíveis no código, por exemplo em Python, sem falar em C / C ++), há também um USB padrão na forma de 4 conectores (você pode conectar WiFi). Também há HDMI padrão.
A potência da placa será suficiente, por exemplo, não só para exibir a hora, mas também para manter um servidor HTTP para configuração de parâmetros via interface web, carregar a previsão do tempo via internet, e assim por diante. Em geral, há muito espaço para um voo de fantasia.

Há apenas um problema com o Raspberry (e processadores STM32) - seus pinos usam lógica de 3 volts, e a maioria dos dispositivos externos (por exemplo, telas de LCD) funcionam à moda antiga com 5V. Você pode, é claro, se conectar e, em princípio, funcionará, mas esse não é o método correto e é uma pena estragar o pagamento de $ 50. A maneira correta é usar um "conversor de nível lógico", que custa apenas US $ 1-2 no eBay.
Fotos do eBay:

Agora é o suficiente para conectar nosso dispositivo através de tal módulo, e todos os parâmetros serão coordenados.

ESP8266

O método é bastante exótico, mas bastante promissor devido à compactação e ao baixo custo da solução. Por muito pouco dinheiro (cerca de US $ 4-5 no eBay), você pode comprar um módulo ESP8266 contendo um processador e WiFi a bordo.
Fotos do eBay:

Inicialmente, esses módulos foram concebidos como uma ponte WiFi para troca através de uma porta serial, mas os entusiastas escreveram muitos firmware alternativos que permitem trabalhar com sensores, dispositivos i2c, PWM, etc. Hipoteticamente, é bem possível receber o tempo de um servidor NTP e enviá-lo via i2c no display. Para aqueles que desejam conectar muitos periféricos diferentes, existem placas NodeMCU especiais com um grande número de pinos, o preço de emissão é de cerca de 500 rublos (claro no eBay):

A única desvantagem é que o ESP8266 tem muito pouca memória RAM (dependendo do firmware, de 1 a 32KB), mas isso torna a tarefa ainda mais interessante. Os módulos ESP8266 usam lógica de 3 V, portanto, o conversor de nível acima também é útil aqui.

Nesta excursão introdutória à eletrônica caseira pode ser concluída, o autor deseja a todos experimentos bem-sucedidos.

Em vez de uma conclusão

No final, resolvi usar um Raspberry PI com um indicador de texto configurado para funcionar com pseudo-gráficos (que se mostraram mais baratos que uma tela gráfica da mesma diagonal). Eu tirei uma foto da tela do relógio da área de trabalho enquanto escrevia este artigo.

O relógio mostra a hora exata tirada da Internet e o clima que é atualizado do Yandex, tudo isso é escrito em Python e tem funcionado muito bem por vários meses. Paralelamente, um servidor FTP é lançado no relógio, o que permite (junto com o encaminhamento de porta no roteador) atualizar o firmware deles não apenas de casa, mas também de qualquer lugar onde haja Internet. Como bônus, os recursos do Raspberry, a princípio, serão suficientes para conectar uma câmera e / ou um microfone com a capacidade de monitorar um apartamento remotamente, ou para controlar vários módulos / relés / sensores. Você pode adicionar todos os tipos de "guloseimas", como indicação de LED de e-mails recebidos e assim por diante.

PS: Por que eBay?
Como você pode ver, os preços ou fotos do ebay foram dados para todos os dispositivos. Por que é que? Infelizmente, nossas lojas costumam viver de acordo com o princípio “comprei por $ 1, vendi por $ 3 e vivo com esses 2%”. Como um exemplo simples, o Arduino Uno R3 custa (no momento em que este artigo foi escrito) 3600r em São Petersburgo e 350r no eBay com frete grátis da China. A diferença é realmente uma ordem de grandeza, sem nenhum exagero literário. Sim, você terá que esperar um mês para retirar a encomenda nos correios, mas acho que vale a pena essa diferença de preço. Porém, se alguém precisa disso agora e com urgência, provavelmente nas lojas locais há uma escolha, aqui cada um decide por si.

Conceito de relógio com grandes números

Estruturalmente, o dispositivo consistirá em duas placas - uma acima da outra. A primeira placa é uma matriz de LEDs que formam os dígitos de horas e minutos, a segunda é a seção de alimentação (controle de LED), lógica e alimentação. Este design tornará o relógio mais compacto (sem caixa com cerca de 22 cm x 9 cm, 4-5 centímetros de espessura) + tornará possível aparafusar a matriz a outro projeto se algo der errado.

A seção de alimentação será baseada no driver UL2003 e nas chaves do transistor. Logic - em Atmega8 e DS1307. Alimentação: 220V - transformador; Lógica de 5 V (via 7805), seção de alimentação - 12 V (via LM2576ADJ). Separadamente, será fornecido um berço para bateria de 3V para alimentação autônoma do relógio de tempo real - DS1307.

Estou pensando em usar Atmega8 e DS1307 (pretendo pendurar o relógio no teto, e para que em caso de queda de energia toda vez que eu não subir a configuração), no entanto, o layout da placa irá assumir que o dispositivo pode funcionar sem DS1307 (pela primeira vez, ou talvez para sempre - então como funcionará).

Assim, dependendo da configuração, o algoritmo de operação do programa de relógio será o seguinte:

Atmega8 - contador de tempo por cronômetro. Trabalhe em um loop sem pausas: interrogando o teclado, ajustando o tempo (se necessário), exibindo 4 dígitos e um separador.

Atmega8 + DS1307... Trabalhando em loop sem pausas: consulta do teclado, ajuste do tempo do DS1307 (se necessário), leitura do tempo do DS1307, exibição de 4 dígitos e um separador. Ou outra opção - lendo DS1307 em um cronômetro, o resto está em um loop (não sei a melhor ainda).

O segmento consiste em 4 LEDs vermelhos conectados em série. Um dígito - 7 segmentos com um ânodo comum. Não pretendo dividir os segmentos com o padrão de "oito", como é feito nos indicadores convencionais.

Parte de energia do relógio

A parte de alimentação do relógio é baseada no driver UL2003 e interruptores de transistor VT1 e VT2.

UL2003 é responsável por gerenciar os segmentos do indicador, chaves - para gerenciar os dígitos.

Separador de horas e minutos (sinal K8) é controlado separadamente.

Segmentos, dígitos e um separador são controlados a partir do microcontrolador, fornecendo um potencial positivo (ou seja, fornecendo + 5V) para K1-K8, Z1-Z4.

Sinais para segmentos e descargas devem ser fornecidos de forma síncrona e com uma certa frequência para fornecer uma saída dinâmica de informações (horas e minutos).

Como um transistor VT1 (BCP53), você pode usar o transistor BCP52.

Diagrama da seção de potência do relógio com grandes números

PCB de exibição de sete segmentos para relógios com grande número

Como eu disse antes, construtivamente o relógio consistirá em duas placas de circuito impresso - a placa indicadora + lógica e a seção de alimentação.

Vamos começar com o projeto e fabricação do indicador PCB.

Desenvolvimento de uma placa de circuito impresso de um indicador de sete segmentos para relógios com grande número

A placa de circuito impresso de um indicador de sete segmentos para um relógio com grandes números no formato “lay” encontra-se no final do artigo, nos arquivos em anexo. Você pode ler sobre a tecnologia de fabricação de placas de circuito impresso pelo método LUT.

Se você fez tudo corretamente, o PCB acabado será parecido com isto.

PCB de exibição de sete segmentos para relógios com grande número

Montagem de um indicador de sete segmentos

Como a placa indicadora é dupla face, a primeira coisa a fazer são as vias. Eu faço isso usando as pernas de peças desnecessárias - passo-as pelos orifícios e soldo-as em ambos os lados. Quando todas as transições são feitas, eu as limpo com uma lima plana e fina - fica muito limpo e bonito.

Vias no quadro indicador

O próximo passo, na verdade, é a montagem do indicador. Para o qual precisamos de um pacote de LEDs vermelhos (verde, branco, azul). Por exemplo, eu peguei isso.

Preparando para montar o indicador

Ao instalar diodos, não se esqueça de que estamos fazendo um indicador com um ânodo comum - ou seja, Os diodos "+" devem ser conectados juntos. Ânodos de PCB comuns são grandes pedaços de cobre. Certifique-se de prestar atenção ao ânodo do ponto de divisão.

A localização dos ânodos na placa de circuito impresso do indicador

Como resultado, após 2 horas de trabalho árduo, você deve obter o seguinte:

Indicador de sete segmentos

Peça de relógio digital

A parte digital do relógio com grandes números será montada de acordo com o esquema:

Esquema de relógio com grandes números

O circuito do relógio é bastante transparente, então não vejo por que explicar como funciona. A placa de circuito impresso em formato * .lay pode ser baixada no final do artigo. Observe que o PCB é projetado principalmente para peças de montagem em superfície.

Então, o elemento base que usei:

1. Ponte de diodo DFA028 (qualquer compacto para montagem em superfície serve);
2. Reguladores de tensão LM2576ADJ no pacote D2PAK, 78M05 no pacote HSOP3-P-2.30A;
3. Interruptores de transistor BCP53 (pacote SOT223) e BC847 (pacote SOT23);
4. Microcontrolador Atmega8 (TQFP);
5. Relógio em tempo real DS1307 (SO8);
6. Fonte de alimentação 14V 1.2A de algum dispositivo antigo;
7. O resto das peças - qualquer tipo, tamanho adequado para instalação em uma placa de circuito impresso.

Obviamente, se você quiser usar outros invólucros de peças, precisará fazer algumas alterações no PCB.

Preste atenção aos valores das resistências R3 e R4 - elas devem ser exatamente as mesmas mostradas no diagrama - nem mais, nem menos. Isso é feito para fornecer exatamente 12 V na saída do regulador de tensão LM2576ADJ. Se, no entanto, não for possível encontrar tais valores de resistor, então o valor da resistência R4 pode ser calculado pela fórmula:

R4 \u003d R3 (12 / 1,23-1) ou R4 \u003d 8,76R3

Montagem da parte digital. Versão 1, sem DS1307

Se, na fabricação do PCB do relógio, você seguiu as recomendações descritas em, então não é necessário lembrar que antes da montagem o PCB deve ser perfurado, todos os curtos-circuitos visíveis nele são eliminados e a placa é coberta com colofônia líquida? Então começamos a montar o relógio.

Recomendo começar com a montagem da fonte de alimentação e só depois concluir a montagem digital. Esta é uma recomendação geral para a automontagem de dispositivos. Por quê? Simplesmente porque se a fonte de alimentação for montada com erro, você pode queimar todos os componentes eletrônicos de baixa tensão que precisam ser alimentados por esta fonte de alimentação.

Se tudo for feito corretamente, a fonte de alimentação deve funcionar imediatamente. Verificamos a montagem da fonte de alimentação - medimos a tensão nos pontos de controle.

A figura mostra os pontos de teste nos quais a tensão de alimentação deve ser verificada. Se a tensão corresponder à declarada, você pode começar a montar a parte digital do relógio. Caso contrário, verificamos a instalação e o desempenho dos elementos da fonte de alimentação.

Pontos de teste e valores de tensão para a fonte de alimentação do relógio

Após a verificação da alimentação, passamos a montar a parte digital do relógio - instalamos todos os demais elementos na placa de circuito impresso. Verificamos se há curto-circuito, principalmente nos pés do microcontrolador Atmega e do driver UL2003.

Montagem da parte digital do relógio

Observe que estamos montando o relógio SEM acertar o relógio de tempo real DS1307, porém, toda a tubulação deste microcircuito deve ser feita. No futuro, se houver necessidade, isso nos poupará tempo para refinar o relógio para a segunda versão, onde um relógio de tempo real independente e separado no DS1307 ainda será usado.

Verificação preliminar do microcontrolador ATMEGA8

Para verificar a exatidão e o desempenho do microcontrolador, precisamos:

1. Programador, por exemplo.
2. para programação no circuito do microcontrolador.
3. O programa AVRDUDESHELL.

Conectamos a placa do relógio ao cabo de dados. Conectamos o cabo de dados ao programador. Programador para o computador no qual o programa AVRDUDESHELL está instalado. Não conecte a placa do relógio à fonte de alimentação de 220V.

Leitura bem-sucedida de dados do microcontrolador com o programa AVRDUDESHELL

Se houver problemas ao ler os fusíveis - verifique a instalação - talvez em algum lugar haja um curto-circuito ou "antiderrapante". Mais uma dica - talvez o microcontrolador esteja no modo de programação de baixa velocidade, então é suficiente mudar o programador para este modo (

Para quem tem pelo menos um pouco de experiência em microcontroladores e também quer criar um aparelho simples e útil para a casa, nada melhor do que uma montagem com indicadores LED. Tal coisa pode decorar seu quarto, ou pode ir para um presente feito à mão exclusivo, a partir do qual ganhará valor adicional. O circuito funciona como um relógio e como um termômetro - os modos são alternados por um botão ou automaticamente.

Diagrama elétrico de um relógio caseiro com termômetro

Microcontrolador PIC18F25K22cuida de todo o processamento e tempo de dados, e ULN2803Aa coordenação de suas saídas com o indicador LED permanece. Microcircuito pequeno DS1302 funciona como um temporizador para segundos sinais precisos, sua frequência é estabilizada por um ressonador de quartzo padrão de 32768 Hz. Isso complica um pouco o design, mas você não precisa ajustar e ajustar constantemente o tempo, o que inevitavelmente será atrasado ou apressado se você conseguir usar um ressonador de quartzo não afinado aleatório para vários MHz. Esse relógio é mais um brinquedo simples do que um cronômetro preciso de alta qualidade.

Se necessário, os sensores de temperatura podem ser localizados longe da unidade principal - eles são conectados a ela com um cabo de três fios. No nosso caso, um sensor de temperatura está instalado no bloco, e o outro está localizado na parte externa, em um cabo de cerca de 50 cm. Quando testamos um cabo de 5 m, também funcionou perfeitamente.

O mostrador do relógio é feito de quatro grandes indicadores digitais LED. Eles eram originalmente cátodo comum, mas mudaram para ânodo comum na versão final. Você pode colocar qualquer outro, então apenas selecione os resistores limitadores de corrente R1-R7 com base no brilho necessário. Ele poderia ter sido colocado em uma placa comum com a parte eletrônica do relógio, mas é muito mais versátil - de repente você quer colocar um indicador LED muito grande para que eles possam ser vistos a longa distância. Um exemplo desse design de relógio de rua está aqui.

A eletrônica em si começa com 5 V, mas para um brilho forte dos LEDs, você precisa usar 12 V. Da rede, a energia é fornecida por meio de um adaptador de transformador abaixador para o estabilizador 7805 , que forma uma tensão estritamente de 5 V. Preste atenção à pequena bateria cilíndrica verde - ela serve como uma fonte energia de reserva, em caso de falha de energia de 220 V. Não é necessário levá-lo a 5 V - basta uma bateria de íon-lítio ou Ni-MH de 3,6 volts.

Para o caso, você pode usar vários materiais - madeira, plástico, metal ou incorporar toda a construção de um relógio caseiro em um industrial acabado, por exemplo, de um multímetro, sintonizador, rádio e assim por diante. Fizemos em plexiglass, porque é fácil de processar, permite ver o interior, para que todos possam ver - este relógio é montado à mão. E, o mais importante, estava em estoque :)

Aqui você pode encontrar todos os detalhes necessários para o projeto proposto de um relógio digital caseiro, incluindo o diagrama de circuito, layout de PCB, firmware PIC e

Como o nome indica, o objetivo principal deste dispositivo é descobrir a hora e a data atuais. Mas tem muitos mais funções úteis... A ideia de sua criação surgiu depois que me deparei com um relógio meio quebrado com uma caixa de metal relativamente grande (para um pulso). Achei que poderia inserir um relógio feito em casa ali, cujas possibilidades são limitadas apenas por minha própria imaginação e habilidade. O resultado é um dispositivo com as seguintes funções:

1. Relógio - calendário:

    Contagem regressiva e exibição no indicador de horas, minutos, segundos, dia da semana, dia, mês, ano.

    Disponibilidade de correção automática da hora atual, que é realizada a cada hora (valores máximos +/- 9999 unidades, 1 unidade \u003d 3,90625 ms.)

    Calculando o dia da semana por data (para o século atual)

    Mudança automática para horário de verão e inverno (comutável)

  • Anos bissextos são levados em consideração

2. Dois alarmes independentes (uma melodia soa quando acionado)
3. Temporizador com discrição de 1 seg. (Tempo máximo de contagem regressiva 99h 59m 59s)
4. Um cronômetro de dois canais com uma taxa de contagem de 0,01 seg. (tempo máximo de contagem 99h 59m 59s)
5. Cronômetro com taxa de contagem de 1 segundo. (tempo máximo de contagem 99 dias)
6. Termômetro na faixa de -5 ° С. até 55 ° С (limitado pela faixa de temperatura de operação normal do dispositivo) em incrementos de 0,1 ° С.
7. Leitor e emulador de chaves eletrônicas - tablets DS1990 utilizando o protocolo Dallas 1-Wire (memória para 50 peças, na qual já existem várias "chaves todo-o-terreno" universais) com possibilidade de visualização do byte do código da chave.
8. Controle remoto IR (apenas o comando "Tire uma foto" é implementado) para câmeras digitais "Pentax", "Nikon", "Canon"
9. Lanterna LED
10,7 melodias
11. Sinal sonoro no início de cada hora (selecionável)
12. Confirmação de som ao pressionar os botões (selecionável)
13. Monitoramento da tensão da bateria com função de calibração
14. Ajuste digital do brilho do indicador

Talvez essa funcionalidade seja redundante, mas eu gosto de coisas universais, bem, além da satisfação moral de que este relógio será feito à mão.

Diagrama esquemático do relógio

O dispositivo é baseado no microcontrolador ATmega168PA-AU. O relógio está correndo no temporizador T2, que opera em modo assíncrono a partir do relógio de quartzo em 32768 Hz. O microcontrolador está no modo de hibernação quase o tempo todo (o indicador está desligado), acordando uma vez por segundo para adicionar este exato segundo ao tempo atual e adormecendo novamente. No modo ativo, o MC é sincronizado a partir do oscilador RC interno a 8 MHz, mas o prescaler interno o divide por 2, como resultado, o núcleo é sincronizado a 4 MHz. Quatro indicadores digitais LED de sete segmentos de um dígito com um ânodo e ponto decimal comuns são usados \u200b\u200bpara a indicação. Existem também 7 LEDs de status, cuja finalidade é a seguinte:
D1- Característica valor negativo (menos)
D2- Sinal de um cronômetro em execução (piscando)
D3- Sinal do primeiro alarme incluído
D4- Sinal do segundo alarme incluído
D5- Sinal de sinalização sonora no início de cada hora
D6- Sinal de um cronômetro em execução (piscando)
D7- Sinal de baixa tensão da bateria

R1-R8 - resistores limitadores de corrente dos segmentos dos indicadores digitais HG1-HG4 e LEDs D1-D7. R12, R13 - divisor para controle de tensão da bateria. Uma vez que a tensão de alimentação do relógio é de 3 V e o LED branco D9 requer cerca de 3,4-3,8 V no consumo de corrente nominal, ele não brilha com potência total (mas é o suficiente para não tropeçar no escuro) e, portanto, está conectado sem um resistor limitador de corrente. Os elementos R14, Q1, R10 são projetados para controlar o LED infravermelho D8 (implementação de controle remoto para câmeras digitais). R19, \u200b\u200bR20, R21 são usados \u200b\u200bpara fazer a interface durante a comunicação com dispositivos que possuem uma interface de 1 fio. O controle é realizado por três botões, que eu condicionalmente denomino: MODE (modo), UP (para cima), DOWN (para baixo). O primeiro deles também foi projetado para despertar o MC por uma interrupção externa (enquanto a indicação é ativada), portanto, ele é conectado separadamente à entrada PD3. Pressionar os botões restantes é determinado usando o ADC e os resistores R16, R18. Se os botões não forem pressionados em 16 segundos, o MK adormece e o indicador apaga-se. Quando em modo "Controle remoto para câmeras"o intervalo é de 32 segundos e, com a lanterna ligada, 1 minuto. Além disso, o MK pode ser adormecido manualmente usando os botões de controle. Quando o cronômetro está funcionando com uma taxa de contagem de 0,01 seg. o dispositivo não entra no modo de suspensão.

Placa de circuito impresso

O dispositivo é montado em uma placa de circuito impresso de forma redonda e dupla face de acordo com o tamanho do diâmetro interno da caixa relógio de pulso... Mas, na fabricação, usei duas placas de apenas um lado com 0,35 mm de espessura. Esta espessura foi novamente obtida removendo-a de uma fibra de vidro de dupla face com uma espessura de 1,5 mm. Então ele colou as tábuas. Tudo isso foi feito porque eu não tinha um laminado fino de fibra de vidro de dupla face, e cada milímetro de espessura salvo no espaço interno limitado da caixa do relógio é muito valioso e não havia necessidade de combiná-lo na fabricação de condutores impressos usando o método LUT. O desenho da placa de circuito impresso e a localização das peças estão nos arquivos anexos. De um lado, existem indicadores e resistores limitadores de corrente R1-R8. Na parte de trás - todos os outros detalhes. Existem dois orifícios de passagem para LEDs brancos e infravermelhos.

Os contactos dos botões e do suporte da bateria são em chapa de aço flexível e elástica com uma espessura de 0,2 ... 0,3 mm. e estanhado. Abaixo estão as fotos do quadro de ambos os lados:

Construção, peças e sua possível substituição

O microcontrolador ATmega168PA-AU pode ser substituído por ATmega168P-AU, ATmega168V-10AU ATmega168-20AU. Indicadores digitais - 4 peças de cor vermelha super brilhante KPSA02-105 com uma altura de 5,08 mm. Pode ser fornecido da mesma série KPSA02-xxx ou KCSA02-xxx. (apenas não verdes - eles brilharão fracamente) Não conheço outros análogos de tamanhos semelhantes com brilho decente. Em HG1, HG3, a conexão catódica dos segmentos difere de HG2, HG4, porque era mais conveniente para mim para o layout de PCB. A este respeito, uma tabela de gerador de caracteres diferente é usada para eles no programa. Resistores e capacitores SMD usados \u200b\u200bpara montagem em superfície de tamanhos padrão 0805 e 1206, LEDs D1-D7 de tamanho padrão 0805. LEDs infravermelhos e brancos com diâmetro de 3 mm. A placa tem 13 orifícios de passagem onde você precisa instalar jumpers. Um DS18B20 com interface de 1 fio foi usado como sensor de temperatura. LS1 é uma sirene piezoelétrica convencional que se encaixa na tampa. Com um contato, ele se conecta à placa por meio de uma mola instalada nela, com o outro se conecta à caixa do relógio pela própria tampa. Ressonador de quartzo de um relógio de pulso.

Programação, firmware, fusíveis

Para a programação dentro do circuito, a placa possui apenas 6 pinos de contato redondos (J1), já que o conector completo não se encaixava na altura. Eu os conectei ao programador usando um dispositivo de contato feito de um plugue de pino PLD2x3 e molas soldadas neles, pressionando-os com uma mão nos pontos. Abaixo está uma foto do dispositivo.

Usei, pois durante o processo de depuração tive que fazer o reflash do MK várias vezes. Com um firmware único, é mais fácil soldar fios finos conectados ao programador aos patches e, em seguida, dessoldá-los novamente. É mais conveniente piscar o MK sem bateria, mas de forma que a alimentação venha de uma fonte externa de + 3V, ou de um programador com a mesma tensão de alimentação. O programa é escrito em assembler no ambiente VMLAB 3.15. Códigos-fonte, firmware para FLASH e EEPROM no app.

Os bits FUSE do microcontrolador DD1 devem ser programados da seguinte forma:
CKSEL3 ... 0 \u003d 0010 - com clock do oscilador RC interno de 8 MHz;
SUT1 ... 0 \u003d 10 - Tempo de inicialização: 6 CK + 64 ms;
CKDIV8 \u003d 1 - o divisor de frequência por 8 está desabilitado;
CKOUT \u003d 1 - O relógio de saída em CKOUT está desabilitado;
BODLEVEL2… 0 \u003d 111 - o controle da tensão de alimentação está desabilitado;
EESAVE \u003d 0 - é proibido apagar a EEPROM durante a programação do chip;
WDTON \u003d 1 - Sem inclusão constante de Watchdog Timer;
É melhor não tocar no resto dos bits FUSE. FUSE - o bit é programado se definido como “0”.

É necessário piscar EEPROM com o dump incluído no arquivo.

As primeiras células EEPROM contêm os parâmetros iniciais do dispositivo. A tabela a seguir descreve o propósito de alguns deles, que podem ser alterados dentro de limites razoáveis.

Endereço de celular

Compromisso

Parâmetro

Nota

Valor de tensão da bateria em que ocorre um sinal de bateria fraca

260 ($ 104) (2,6 V)

coeficiente para corrigir o valor da tensão medida da bateria

intervalo de tempo para transição para o modo de hibernação

1 unidade \u003d 1 s

intervalo de tempo para mudar para o modo de espera quando a lanterna está ligada

1 unidade \u003d 1 s

intervalo de tempo para transição para o modo de hibernação quando no modo de controle remoto para câmeras

1 unidade \u003d 1 s

Os números das teclas dos botões são armazenados aqui

Pequenas explicações para os pontos:

1 ponto. Aqui é indicado o valor da tensão da bateria, no qual o LED acenderá, sinalizando seu valor baixo. Coloquei 2.6V (parâmetro - 260). Se você precisar de algo mais, por exemplo 2,4 V, então você precisa escrever 240 ($ 00F0). O byte inferior é inserido na célula no endereço $ 0000, e o byte superior, respectivamente, em $ 0001.

2 pontos. Como não instalei um resistor variável na placa para ajustar a precisão da medição da tensão da bateria devido à falta de espaço, introduzi a calibração de software. O procedimento de calibração para uma medição precisa é o seguinte: inicialmente um fator de 1024 ($ 400) é escrito nesta célula EEPROM, você precisa colocar o dispositivo no modo ativo e olhar para a tensão no indicador e medir imediatamente a tensão real na bateria com um voltímetro O fator de correção (K), que deve ser definido, é calculado pela fórmula: K \u003d Uр / Ui * 1024 onde Uр é a tensão real medida por um voltímetro, Ui é a tensão medida pelo próprio dispositivo. Após o cálculo do fator "K", ele é inserido no dispositivo (conforme descrito no manual de instruções). Após a calibração, meu erro não excedeu 3%.

3 pips Aqui você pode definir o tempo após o qual o dispositivo entrará no modo de espera se nenhum botão for pressionado. Isso me custa 16 segundos. Se precisar dormir após 30 segundos, anote 30 ($ 26).

Os 4 e 5 pontos são iguais.

6 pips O endereço $ 0030 armazena o código de família de chave zero (dallas 1-Wire), depois seu número de 48 bits e CRC. E assim, 50 chaves em série.

Cenário, características de trabalho

Configurar o dispositivo se resume em calibrar a medição da tensão da bateria conforme descrito acima. Também é necessário detectar o desvio do relógio em 1 hora, calcular e inserir o valor de correção correspondente (o procedimento é descrito nas instruções de operação).

O dispositivo é alimentado por uma bateria de lítio CR2032 (3V) e consome cerca de 4 μA no modo de suspensão e 5 ... 20 mA no modo ativo, dependendo do brilho do indicador. Com um uso diário de cinco minutos do modo ativo, a bateria deve ser suficiente para cerca de 2… .8 meses, dependendo do brilho. A caixa do relógio está conectada ao menos da bateria.

A leitura da chave foi verificada no DS1990. A emulação foi testada em intercomunicadores METAKOM. Os números de série de 46 a 49 (últimos 4) são costurados (todas as teclas são armazenadas na EEPROM, podem ser alteradas antes de piscar) teclas universais para intercomunicadores. A chave registrada no número 49 abriu todos os interfones METAKOM que encontrei, o resto das chaves universais não puderam ser testadas, tirei seus códigos da rede.

Os controles remotos para câmeras foram testados na Pentax optio L20, Nikon D3000. A Canon não conseguiu verificar.

O manual do usuário tem 13 páginas, portanto não o incluí no artigo, mas coloquei no anexo em formato PDF.

O arquivo contém:
Esquema em e GIF;
Desenho da placa de circuito impresso e disposição dos elementos no formato;
Firmware e fontes em assembler;

Lista de elementos radioativos

Designação Um tipo Denominação número NotaPontoMeu notebook
DD1 MK AVR 8 bits

ATmega168PA

1 PA-AU No bloco de notas
U2 sensor de temperatura

DS18B20

1 No bloco de notas
T1 Transistor MOSFET

2N7002

1 No bloco de notas
C1, C2 Capacitor30 pF2 No bloco de notas
C3, C4 Capacitor0,1 uF2 No bloco de notas
C5 Capacitor eletrolítico47 uF1 No bloco de notas
R1-R8, R17 Resistor

100 ohm

9 No bloco de notas
R9 Resistor

10 kΩ

1 No bloco de notas
R10 Resistor

8,2 Ohm

1 No bloco de notas
R11 Resistor

300 ohm

1 No bloco de notas
R12 Resistor

2 MOhm

1 No bloco de notas
R13 Resistor

220 kΩ

1 No bloco de notas
R14 Resistor

30 kΩ

1 No bloco de notas
R15, R19 Resistor

4,7 k Ohm

2 No bloco de notas
R16 Resistor

20 kΩ

1

Materiais da última seção:

Qual é a tragédia da vida de Oblomov?
Qual é a tragédia da vida de Oblomov?

A que leva a falta de propósito na vida? (direção "Aims and Means") A vida sufoca sem um objetivo. F.M.Dostoevsky A vida é um movimento ...

O peso e a altura exatos das belezas de Hollywood
O peso e a altura exatos das belezas de Hollywood

Fatos interessantes: Britney Spears atingiu o Guinness Book of Records como a detentora do recorde de vendas de singles na primeira semana na história da música. Também Britney ...

Reportagem sobre o tema plantas medicinais da floresta Mensagem sobre o tema plantas medicinais
Reportagem sobre o tema plantas medicinais da floresta Mensagem sobre o tema plantas medicinais

Introdução 3 1. Composição química das plantas medicinais 6 2. Muco e plantas que contêm muco e matérias-primas 12 3 Plantas medicinais ...