Índice:

Exibição de matriz 8x8 com BT: 5 etapas (com imagens)
Exibição de matriz 8x8 com BT: 5 etapas (com imagens)

Vídeo: Exibição de matriz 8x8 com BT: 5 etapas (com imagens)

Vídeo: Exibição de matriz 8x8 com BT: 5 etapas (com imagens)
Vídeo: 2ª Série | Geografia | Aula 60 | Ao Vivo - As Fontes de Energia no Brasil e no Mundo: Bens Renov ... 2024, Julho
Anonim

Eu comprei uma matriz 8x8 de 4 painéis no Ebay (China) alguns meses atrás.

Fiquei um pouco desapontado quando percebi que estava conectado lado a lado, não de cima para baixo, para o qual a maioria dos exemplos na Internet foram escritos! Veja a etapa 2.

Acho que poderia ter modificado o código (não tenho certeza como), mas minha preguiça de costume me disse para procurar algo já escrito. Eu me deparei com um exemplo e continuei com ele!

Brinquei com mensagens fixas, mas decidi tentar programar a mensagem via Bluetooth.

Então eu queria salvar e recuperar mensagens!

Houve muitas tentativas e erros, mas depois de algumas horas codificando, comecei a trabalhar.

Ainda estou tentando encontrar um uso prático para isso !!:-)

Etapa 1: a tela

O display
O display
A tela
A tela

Como mencionado anteriormente, a tela é conectada da esquerda para a direita, em vez de de cima para baixo.

Tenho certeza de que outro código poderia ter sido modificado para compensar isso!

Não me lembro de onde baixei o código de trabalho, no entanto, uma pesquisa por "matriz cosmicvoid ou LedControlMS.h" pode ajudar. O LedControlMS.h lib é necessário para este projeto.

A única parte deste código que modifiquei foi o número de telas, pois parece que foi definido como 5, eu apenas mudei para 4.

Encomendei outro monitor x4 para ver como funciona com 8 matrizes em vez de 4!

Etapa 2: o bit Bluetooth

O bit Bluetooth
O bit Bluetooth

Cada vez que jogo com um dispositivo Bluetooth, sempre me refiro a este excelente instrutível!

www.instructables.com/id/Modify-The-HC-05-B…

Este manual de instruções dirá tudo o que você precisa saber sobre como configurar e emparelhar o HC-05 com um telefone celular ou tablet.

Emparelhei um Samsung Galaxy 6 Edge e um Tab A sem problemas.

Eu alterei a velocidade de comunicação para 57600.

Etapa 3: Comunicação BT e o programa

Comunicação BT e o programa
Comunicação BT e o programa

Para me comunicar com o HC-05 baixei um App grátis da Play Store, lá estão vários disponíveis, - o que escolhi se chama Terminal Bluetooth HC-05 - é um App excelente!

Depois de emparelhar o HC-05 a um telefone ou tablet, ocorre o seguinte.

Quando o arduino é reiniciado, o programa lê todas as mensagens armazenadas na EEPROM e as exibe no telefone / tablet - veja a figura.

As informações exibidas são o local da memória (0-9), o comprimento da mensagem e a própria mensagem em cada local.

Organizei o código para armazenar uma mensagem de até 90 caracteres no endereço 5 para Msg 0, 105 para Msg 1 …….905 para Msg 9.

Endereço 0, 100…. 900 contém o comprimento da mensagem.

A última mensagem armazenada / recuperada é exibida.

Enviar qualquer coisa para o Arduino via BT substitui a mensagem atual.

Para armazenar a mensagem exibida (use "~" til), envie ~ 0 para armazenar no local 0, ~ 5 para armazenar no local 5 etc.

Para recuperar e exibir uma mensagem armazenada, use "^" (carat), por exemplo, ^ 3 irá carregar e exibir a mensagem na localização Mem 3.

Quando uma mensagem é armazenada ou recuperada, a localização atual da memória é armazenada no endereço EEPROM 1023 - isso é usado na inicialização para exibir a última mensagem exibida.

Etapa 4: O Código e Energia

Como de costume, meu código é arrumado como um quarto de adolescente, mas tenho muitos comentários lá!

Pode haver algum código supérfluo, pois houve um pouco de tentativa e erro.

A rotina de exibição exibirá o que quer que esteja no array msg . A fonte não está completa, então a exibição de alguns caracteres causará resultados imprevisíveis!

Se alguém pudesse me dizer como modificar o sinal $ para o sinal £ ou, melhor ainda, adicioná-lo, eu ficaria extremamente grato

Pode ser necessário codificar uma mensagem no local 0 apenas para dar um ponto de partida, isso pode ser sobrescrito quando o programa estiver instalado e funcionando!

por exemplo

EEPROM.write (0, '5'); // comprimento da mensagem armazenada na localização 0

EEPROM.write (5, 'L'); // msg armazenada na localização 05EEPROM.write (6, 'o');

EEPROM.write (7, 'c');

EEPROM.write (8, '');

EEPROM.write (9, '0');

Sem mensagens armazenadas, ao ligar, o display será imprevisível e o telefone / tablet exibirá informações estranhas, mas consistentes porque, como a maioria das EEPROMs, os dados padrão em cada local são FF Hex (225 Decimal).

Este protótipo foi construído usando um Arduino Uno, mas vou usar um mini pro para o projeto concluído.

Pretendo usar 3 baterias de 1,5 V, portanto, para economizar energia, desligarei o HC-05 após selecionar uma mensagem. Apenas desconectar / reconectar a alimentação não é suficiente, pois enviará informações distorcidas ao visor.

Parece necessário isolar os pinos TR & RX antes de conectar / desconectar a alimentação!

Etapa 5: atualização de 2020 - monitores de matriz 2 x 4 (8x8)

Depois de entender melhor o MAX7219, consegui vincular 2 monitores!

havia apenas algumas linhas de código que precisavam ser alteradas - consulte o ino em anexo.

Recomendado: