Controle de linha de energia HD44780



De fato, já existem maneiras de reduzir o número de fios. Por exemplo, modo de quatro bits. Ainda muito? Existem módulos de exibição com I 2 C. Mas não há limite para a perfeição, e se você tiver um Arduino extra (mais cedo ou mais tarde aparecendo em muitos), o monitor poderá ser transportado a alguma distância da fonte de dados e conectado a um cabo de dois fios.

Uma maneira de transferir energia e dados pelo mesmo par de fios é a seguinte. O sinal de dados é modulado em alta frequência e combinado, e no extremo oposto da linha eles são separados para alimentação ao demodulador usando bobinas e capacitores. Porém, com a energia CC, você pode usar um método mais simples, semelhante ao usado nas teclas de intercomunicação. Nesse caso, não é necessário um modulador e um desmodulador; no lado da transmissão, basta uma chave para alternar o circuito da fonte de alimentação:



Transistores - AO3400A e AO3401A. O segundo deles pode suportar 5 A (de acordo com outras fontes - 4), mas aqui ele só precisa alternar 200 mA. O fluxo de dados seriais para a chave pode ser fornecido a partir de qualquer microcontrolador, mas, como o design é experimental, o autor usou um PC executando um script Python e um conversor USB-UART.

O disjuntor do autor acabou por ser feio, mas muito forte:



No extremo oposto da linha, uma tensão pulsante é aplicada a um retificador de meia onda com um filtro (embora a retificação não seja necessária nesse caso, é apenas necessário que a tensão até o diodo permaneça pulsante e depois não), que alimenta o Arduino e o módulo de exibição. O Arduino converte dados seriais em dados paralelos exigidos pelo módulo. Atenção, para os módulos no KB1013VG6, a fixação não é padrão. A tensão de ondulação no diodo é aplicada a uma das entradas digitais do Arduino.



Assim, parece na vida real:



O firmware é simplificado ao máximo, nem gera comandos de inicialização para o controlador de exibição (e todos os outros comandos) por si só; portanto, o lado transmissor deve enviá-los. Mas, ao mesmo tempo, reconhece os comandos de byte único mais simples endereçados diretamente a ele. Aqui x é a menor mordida, o comando é a maior mordida:

0xA [x] - aplica uma mordidela x nas saídas 4-7 do módulo
0xB [x] - envia o bit menos significativo de uma mordidela x para a entrada do módulo RS
0xC [x] - envia o bit menos significativo de uma mordidela x para a entrada do módulo EN
0xD [x] - define o brilho da luz de fundo (ajustável por PWM) na proporção da mordidela x

Todo o software necessário está aqui . Para mostrar como tudo funciona, o autor criou este cenário:



E lançou:

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


All Articles