terça-feira, 9 de julho de 2013

Matriz de Pontos 16x8 com MAX7219




Esta barra, indica o nível de dificuldade encontrado para cada experiência realizada, sendo:

"VERDE", indicação de nível 1 a 5 (Fácil);
"AMARELO", indicação de nível 6 a 8 (Médio);
VERMELHO, indicação de nível 9 e 10 (Difícil);



Matriz de Pontos 16x8 com módulo MAX7219


Este projeto é para mostrar o uso do módulo "MAX7219 Dot matrix module MCU control Display module DIY".

Para usá-lo você necessitará do módulo que pode ser adquirido no ebay:

http://www.ebay.com/itm/171048735052?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

E do sketch para o Arduino e também da biblioteca MaxMatrix:
Faça o download de todos os aquivos no GitHub:
https://github.com/Arduinobymyself/Matrix16x8.git


Este é o diagrama de interligação entre o Arduino e os módulos (foi utilizado apenas 2 neste caso):

Arduino pino 13 (alternativa: pino 10) conectado ao pino CLK do módulo MAX7219
Arduino pino 11 (alternativa: pino 8) conectado ao pino DIN do módulo MAX7219
Arduino pino 10 (alternativa: pino 9) conectado ao pino CS do módulo MAX7219
GND e VCC (+5V)

Para a expansão é só conetar o DOUT do módulo MAX7219 com o DIN do próximo MAX7219...... e assim por diante.

O DOUT do módulo MAX7219 fica na parte de cima do módulo, enquanto o DIN fica na parte de baixo do módulo.

A matriz de pontos utilizada foi a 1088AH, mas pode ser qualquer uma equivalente...





E este é o módulo MCU para controle de matrix 8 x 8













Interconexão dos módulos MAX7219 MCU.
O programa está testado para até 8 módulos.




Lembrando, você pode ligar quantos quiser; somente interligando a saída de um na entrada do outro e deixando os outros sinais em paralelo.
No sketch, você tem que  modificar o parâmetro "maxInUse" para a quantidade que você vai utilizar.



NOTA IMPORTANTE:
Abaixo a maniera correta de ligar vários módulos
Note que o barramento começa da direita para a esquerda, ou seja:a primeira matriz que recebe os dados no DIN é a matriz da direita, que libera a informação no DOUT para o DIN da próxima matriz à esquerda e assim segue a cascata.....




Outra visão:
Exibindo Diapositive1.jpg
Como aprendizagem extra, podemos estudar o acionamento de displays de 7 segmentos.......






ESQUEMA E SUGESTÃO DE PLACA:






Estes são bons links para aprender mais sobre o assunto:
http://playground.arduino.cc/Main/MAX72XXHardware
https://www.pjrc.com/teensy/td_libs_Matrix.html

Abaixo um vídeo apenas demonstrativo.
Lembre-se que você pode modificar as mensagens no próprio código, ou utilizar uma entrada via serial.

http://youtu.be/uG88Tt6Apoo




Um segundo vídeo com 4 módulos.

http://youtu.be/yFx4r-WUp5g






***Novas funcionalidades adicionadas a este projeto (em 1/11/2014)***


1 - Matrix de 40x8 (código foi totalmente corrigido);
2 - Botão de iniciar a rolagem do texto;
3 - Controle de velocidade de rolagem;
4 - Botões de incremento e decremento da intensidade de luminosidade dos LEDs;

Alguns botões foram adicionados para poder cumprir essas novas caracteristicas/funcionalidades, conforme figura abaixo:


Botões e Potenciômetro - para os novos controles
É só ligar o conjunto aos pinos do Arduino indicados no diagrama.

Biblioteca, continua a mesma, porém o código está na versão 9. Você pode obtê-lo no GitHub (https://github.com/Arduinobymyself/Matrix16x8.git )
Ou solicitar via e-mail abaixo indicado.

*** NOTA IMPORTANTÍSSIMA***
Se você está tendo erro com prog_uchar!!?
Use o seguinte artifício:

1 - Para as IDEs mais antigas:
PROGMEM prog_uchar CH[] = { //used for older arduino's IDE

2 - Para as IDEs mais novas:
PROGMEM const unsigned char CH[] = { //used for newer arduino's IDE



Veja o novo vídeo:
http://youtu.be/beo7N1SeYoE?list=UUgx66KiICvaM682IP4u7nng





Sinta-se a vontade para enviar-me as suas dúvidas, comentários e sugestões.




Marcelo Moraes
arduinobymyself.blogspot.com.br
arduinobymyself@gmail.com
Skype: marcelo.moraes

A empresa

O ArduinoByMyself é uma entidade sem fins lucrativos. Nosso objetivo é compartilhar conhecimento e disponibilizar SW e HW livre para todos. Buscamos uma sociedade melhor e por isso não comercializamos produtos, mas damos todo o suporte para que todos possam construir seu próprio projeto e também tirar as dúvidas que forem necessárias. 
Também não fazemos projetos sob encomenda, mas toda idéia é válidade e guardada para postagem futura caso seja interessante (técnicamente e didaticamente falando).
Não existem direitos autorais, você pode modificar e usar o código e descritivo de como fazer sem nenhuma 
implicação legal (somente peço que divulgue o blog ArduinoByMyself, para que outras pessoas também tenham acesso as informações nele contidas).






Um comentário:

  1. Excelente explicação e parabens pela equipe estar comprometida em deixar o aprendizado à disposição. Fiquei muito satisfeito com o que li e aprendi!. Abraços a todos

    ResponderExcluir