Relógio eletrônico caseiro, base de elementos - parte 2

Olá geektimes! Na primeira parte do artigo, foram considerados os princípios de obtenção de tempo preciso em relógios caseiros. Vamos em frente e considerar como e a que horas é melhor derivar.

1. Dispositivos de saída


Portanto, temos uma certa plataforma (Arduino, Raspberry, controlador PIC / AVR / STM, etc), e a tarefa é conectar algumas indicações a ela. Existem muitas opções que consideraremos.

Indicação de segmento


Tudo é simples aqui. O indicador de segmento consiste em LEDs comuns que são trivialmente conectados ao microcontrolador através dos resistores de resfriamento.


Cuidado, 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 design de indicador, com um cátodo comum e um ânodo comum, dentro dele se parece com isso (diagrama do site do fabricante).


Há um artigo 1001 sobre como conectar um LED a um microcontrolador, pelo google para ajudar. As dificuldades começam quando queremos fazer um grande relógio - afinal, observar um pequeno indicador não é particularmente conveniente. Então precisamos desses indicadores (foto do eBay):


eles são alimentados por 12V e simplesmente não funcionam diretamente no microcontrolador. Aqui o chip CD4511 vem em nosso auxílio, apenas para esta finalidade. Ele não apenas converte dados de uma linha de 4 bits nos dígitos desejados, mas também contém uma chave de transistor incorporada para fornecer tensão ao indicador. Assim, no circuito, precisamos ter uma tensão de "potência" de 9 a 12V e um conversor de redução 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:


vendidas no eBay na forma de módulos únicos ou blocos acabados, por exemplo, 4 peças. Gerenciá-los é muito simples - o chip MAX7219 já está soldado aos módulos , garantindo sua operação e conexão ao microcontrolador com apenas 5 fios. Existem muitas bibliotecas para o Arduino, quem quiser pode ver o código.
Prós: preço baixo, bons ângulos de visão e brilho.
Menos: baixa resolução. Mas para a tarefa de produzir tempo é suficiente.

Indicadores LCD


Indicadores de LCD são gráficos e texto.


Os gráficos são mais caros, mas permitem exibir informações mais diversas (por exemplo, um gráfico de pressão atmosférica). Os textos são mais baratos e fáceis de trabalhar, também permitem exibir pseudográficos - é possível carregar caracteres personalizados no visor.

Não é difícil trabalhar com o indicador LCD a partir do código, mas há um certo ponto negativo - o indicador requer muitas linhas de controle (de 7 a 12) do microcontrolador, o que é inconveniente. Portanto, os chineses criaram uma combinação de um indicador LCD e um controlador i2c, que acabou sendo muito conveniente no final - apenas 4 fios são suficientes para conectar (foto do eBay).

Os indicadores LCD são baratos o suficiente (se você o utiliza no eBee), grandes, são fáceis de conectar e você pode exibir uma variedade de informações. O único aspecto negativo não são os ângulos de visão muito grandes.

Indicadores OLED


Eles são uma continuação aprimorada da versão anterior. Varia de pequeno e barato com uma diagonal de 1,1 "a grande e caro. Fotos do eBay.

Na verdade, elas são boas para todos, exceto o preço. Quanto aos pequenos indicadores, com 0,9-1,1" de tamanho, então (além de estudar como trabalhar com i2c) alguma aplicação prática é difícil para eles encontrarem.

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


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

(foto de nocrotec.com)

O esquema de conexão é um pouco mais complicado, porque Esses indicadores usam uma tensão de 170V para ignição. Um conversor de 12V => 180V pode ser feito no chip MAX771 . Para fornecer tensão aos indicadores, o microcircuito soviético K155ID1 é usado, que foi criado especificamente para isso. O preço de emissão da auto-produçã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 são escassos". A principal dificuldade aqui é que o IN-xx e o K155ID1 foram descontinuados há muito tempo e você pode comprá-los apenas nos mercados de rádio ou em algumas lojas especializadas.

2. Seleção de plataforma


Descobrimos mais ou menos com a indicação, resta decidir qual plataforma de hardware é melhor usar. Existem várias opções aqui (não considero as caseiras, porque não preciso deste artigo para quem pode fazer uma placa e soldar um processador).

Arduino


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


No Arduino, há um grande número de bibliotecas diferentes (por exemplo, para as mesmas telas de LCD, módulos em tempo real), o Arduino é compatível com o hardware com vários módulos adicionais.
O principal ponto negativo: a complexidade da depuração (somente 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, quase sem se preocupar em soldar, comprar um programador e placas de fiação, basta conectar os módulos entre si.

Processadores STM de 32 bits


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


Aqui já temos a depuração completa em um IDE completo (gostei mais do IDE da Coocox), no entanto, você precisará de um programador-depurador ST-LINK separado com um conector JTAG (o preço é de US $ 20 a 40 no eBay). Como alternativa, você pode comprar a placa de depuração STM32F4Discovery, na qual esse programador já está integrado, e pode ser usada separadamente.

Raspberry Pi


E, finalmente, para quem deseja uma total integração com o mundo moderno, há computadores de placa única com Linux, todos provavelmente já conhecem o Raspberry PI. Foto do eBay:


Este é um computador completo com Linux, um gigabyte de RAM e um processador de 4 núcleos a bordo. Um painel de 40 pinos é exibido na borda da placa, permitindo conectar vários periféricos (os pinos são acessíveis a partir do código, por exemplo, em Python, para não mencionar C / C ++), também há um USB padrão na forma de 4 conectores (você pode conectar o WiFi). Também há HDMI padrão.
A placa terá energia suficiente, por exemplo, não apenas para exibir o tempo, mas também para manter um servidor HTTP para definir parâmetros via interface da Web, carregar previsões do tempo via Internet e assim por diante. Em geral, o escopo de um voo de fantasia é grande.

Existe apenas uma dificuldade com os processadores Raspberry (e STM32) - seus pinos usam lógica de 3 volts e a maioria dos dispositivos externos (como telas de LCD) funciona "da maneira antiga" de 5V. Você pode, é claro, conectá-lo dessa maneira, em princípio, funcionará, mas esse não é o método certo, e é uma pena estragar a taxa de US $ 50. O caminho certo é usar o "conversor de nível lógico", que custa apenas US $ 1-2 no eBay.
Foto do eBay:


agora basta conectar nosso dispositivo através desse módulo e todos os parâmetros serão acordados.

ESP8266


O método é bastante exótico, mas bastante promissor devido à compacidade 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.
Foto do eBay:


Inicialmente, esses módulos foram projetados como uma ponte WiFi para troca de portas seriais, mas os entusiastas escreveram muitos firmware alternativos para trabalhar com sensores, dispositivos i2c, PWM etc. É hipoteticamente possível obter tempo de um servidor NTP e exibi-lo via i2c no visor. Para aqueles que desejam conectar muitos periféricos diferentes, há placas NodeMCU especiais com um grande número de conclusões, o preço da pergunta é de cerca de 500 rublos (é claro no eBay):


O único aspecto negativo é que o ESP8266 possui muito pouca memória RAM (dependendo do firmware, de 1 a 32 KB), mas a tarefa o torna ainda mais interessante. Os módulos ESP8266 usam lógica de 3 volts, 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 todas as experiências bem-sucedidas.

Em vez de uma conclusão


No final, decidi usar o Raspberry PI com um indicador de texto configurado para funcionar com pseudográficos (que saiu mais barato que a tela gráfica da mesma diagonal). Atire na tela do relógio de mesa enquanto escreve este artigo.


O relógio exibe a hora exata da Internet e o clima, atualizado em Yandex, tudo isso está escrito em Python, e está funcionando há alguns meses. Paralelamente, o servidor FTP é iniciado no relógio, o que permite (junto com o encaminhamento de porta no roteador) atualizar o firmware neles, não apenas em casa, mas também em qualquer lugar onde haja acesso à Internet. Como bônus, os recursos da Raspberry serão, em princípio, suficientes para conectar uma câmera e / ou microfone com a capacidade de monitorar remotamente um apartamento ou controlar vários módulos / relés / sensores. Você pode adicionar todos os tipos de "pães", como indicadores de LED para e-mails recebidos e assim por diante.

PS: Por que eBay?
Como você pode ver, foram fornecidos preços ou fotos do ebay para todos os dispositivos. Por que é que? Infelizmente, nossas lojas costumam viver de acordo com o princípio "comprado por US $ 1, vendido por US $ 3, e eu vivo com esses 2%". Como um exemplo simples, o Arduino Uno R3 custa (no momento da redação) 3600 rublos em São Petersburgo e 350 rublos no eBay com entrega gratuita da China. A diferença é realmente uma ordem de magnitude, sem nenhum exagero literário. Sim, você tem que esperar um mês para pegar o pacote pelo correio, mas acho que vale a pena a diferença de preço. A propósito, se alguém precisa agora e com urgência, deve haver uma opção nas lojas locais, então todos decidem por si mesmos.

Source: https://habr.com/ru/post/pt383629/


All Articles