Índice:
- Suprimentos
- Etapa 1: Implementações implementadas no projeto com Arduino:
- Etapa 2: Fiação e captura de tela
- Etapa 3: 74HC595 + Códigos Fonte
Vídeo: Cascata de registros de deslocamento 74HC595 controlados via Arduino e Ethernet: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Hoje gostaria de apresentar um projeto que implementei em duas versões. O projeto usa 12 shift registers 74HC595 e 96 LEDs, placa Arduino Uno com blindagem Ethernet Wiznet W5100. 8 LEDs são conectados a cada registro de deslocamento. Os números 0-9 são representados por LEDs. Cada registrador de deslocamento é equipado com 8 terminais de saída.
Cada um dos 4 registradores de deslocamento 74HC595 forma uma unidade lógica - um display para listar um número de 4 dígitos. No total, existem 3 visores lógicos no projeto, consistindo em 12 registradores de deslocamento.
As implementações são compatíveis com as placas Arduino Nano, Mega, Uno e com os shields e módulos Ethernet da família Wiznet, especificamente os modelos W5100 e W5500 (utilizando a biblioteca Ethernet2).
Suprimentos
- Arduino Uno / Nano
- Ethernet Wiznet W5100 / W5500
- 4 a 12 registradores de deslocamento 74HC595
- 32 a 96 diodos LED
Etapa 1: Implementações implementadas no projeto com Arduino:
- Webserver - servidor HTTP rodando diretamente no Arduino, permite interpretar o código HTML
- WebClient - cliente capaz de fazer uma solicitação HTTP a um servidor remoto, enviando / baixando dados
Servidor web:
- Fornece uma página da web em HTML com um formulário que permite inserir 3 números de quatro dígitos.
- Após o envio do formulário, os dados são processados e armazenados na memória EEPROM, o usuário é informado sobre o processamento dos dados por uma subpágina separada.
- Após salvar os dados, o usuário é redirecionado de volta ao formulário.
- A memória EEPROM é independente de energia, os dados são acessíveis mesmo após a recuperação de energia, mas também a reinicialização da placa.
- Todos os números são então representados em três visores consistindo em 12 registradores de deslocamento 74HC595.
Cliente da web:
- A comunicação com o servidor web ocorre a cada 5 segundos após o protocolo
- O servidor da web executa um aplicativo da web PHP que permite inserir 3 números de quatro dígitos por meio do formulário HTML.
- Os dados do formulário são armazenados em um banco de dados MySQL.
- O Arduino solicita a recuperação de dados desse banco de dados por meio de uma consulta ao servidor.
- Os dados processados são analisados pelo Arduino e, em seguida, plotados usando os registradores de deslocamento 74HC595.
- Os dados também são armazenados na memória EEPROM do Arduino, são utilizados no caso de falha na conexão com o servidor web / quando as placas do Arduino são reiniciadas, são utilizados para a renderização inicial dos dados nos registradores de deslocamento.
- Os dados são sobrescritos na EEPROM somente quando os dados mudam, as células EEPROM são salvas de sobrescritos desnecessários.
Etapa 2: Fiação e captura de tela
Conexão em cascata para os registradores de deslocamento 74HC595 (pode ser estendido em x mais) - Exportar do TinkerCAD. Screenshot está lá da interface do servidor web, quando obtém os dados via formulário HTML, processa-os e salva na memória EEPROM.
Etapa 3: 74HC595 + Códigos Fonte
É claro a partir do diagrama que apenas 3 fios de dados são usados para controlar os registradores de deslocamento:
- Saída de dados - (SER para 74HC595)
- Saída de relógio - (SRCLK em 74HC595)
- Saída de trava - (RCLK para 74HC595)
Os registradores de deslocamento podem ser combinados em cascata, enquanto outros periféricos também podem ser controlados por registradores de deslocamento - por exemplo, relés para comutação de elementos de potência. Também é possível controlar 500 relés separados (com um número suficiente de registradores de deslocamento e fonte de alimentação) com uma saída de dados.
Ao controlar as saídas dos registradores, também é possível modificar a ordem dos bytes para o bit mais significativo - MSB PRIMEIRO, ou para LSB - o bit menos significativo. Como resultado, ele inverte as saídas. Em um caso, por exemplo, 7 diodos estão acesos, no outro caso 1 diodo dependendo da entrada e da ordem dos bytes.
Ambas as implementações usam memória EEPROM, que pode armazenar dados mesmo após uma falha de energia ou após uma reinicialização da placa. A segunda utilização desta memória é também a capacidade de representar os últimos dados conhecidos caso não seja possível a comunicação com o servidor web (erro de conectividade, servidor).
A memória é limitada a 10.000 a 100.000 transcrições. As implementações são projetadas para a menor carga de memória possível. Os dados não serão substituídos quando forem alterados. Se os mesmos dados forem lidos do servidor / cliente da web, eles não serão sobrescritos na memória EEPROM.
A implementação de software (lado do Arduino) para WebClient pode ser testada gratuitamente em:
O Arduino se comunica com uma interface web na qual é possível modificar 3 números de quatro dígitos:
Solicite o código do Arduino como servidor da web em: [email protected] para mais instructables:
Recomendado:
Controlando a exibição de sete segmentos usando Arduino e o registrador de deslocamento 74HC595: 6 etapas
Controlando a exibição de sete segmentos usando Arduino e o registrador de deslocamento 74HC595: Ei, e aí, pessoal! Akarsh aqui da CETech. Monitores de sete segmentos são bons de se olhar e são sempre uma ferramenta útil para exibir dados na forma de dígitos, mas há uma desvantagem neles que é que quando controlamos um monitor de sete segmentos na reali
Matriz de Led 8x16 Rgb em cascata: 3 etapas
Matriz de Led 8x16 Rgb em cascata: Neste projeto eu fiz a matriz de led 8x16 rgb em cascata e seu controlador. O 18F2550 da Microchip é usado para suporte USB. Os leds RGB são acionados por registradores de deslocamento 74hc595 com resistores. Para animação e dados de configuração; 24C512 eeprom externo
Usando 2 registros de deslocamento (74HC595) para conduzir 16 LEDs: 9 etapas
Usando 2 registradores de deslocamento (74HC595) para acionar 16 LEDs: Este circuito usará 2 registradores de deslocamento (74HC595). Os registradores de deslocamento irão conduzir como saídas de 16 LEDs. Cada registro de deslocamento acionará 8 LEDs. Os registros de deslocamento são conectados de modo que cada saída de registro de deslocamento pareça uma duplicata da outra
Tela de matriz de LED de rolagem de 48 x 8 usando Arduino e registros de deslocamento: 6 etapas (com imagens)
Visor de matriz de LED de rolagem 48 x 8 usando Arduino e registradores de deslocamento .: Olá a todos! Este é meu primeiro instrutível e trata-se de fazer uma matriz de LED de rolagem programável 48 x 8 usando um Arduino Uno e registradores de deslocamento 74HC595. Este foi meu primeiro projeto com uma placa de desenvolvimento Arduino. Foi um desafio dado a m
Matriz de LED usando registros de deslocamento: 7 etapas (com imagens)
Matriz de LED usando registros de deslocamento: Este instrutível pretende ser uma explicação mais completa do que outras disponíveis online. Notavelmente, isso fornecerá mais explicações sobre o hardware do que está disponível no letreiro luminoso instruído por led555