Módulo MAX7219 com ESP8266 NodeMCU

No post de hoje confira como conectar o módulo MAX7219 com ESP8266 NodeMCU, circuito que você pode usar como base para montar o seu próprio sistema de avisos por wifi explorando toda a versatilidade do ESP8266.

Max7219 com ESP8266 NodeMCU

O circuito que vamos montar é esse da imagem acima, usando uma placa que possui 4 módulos MAX7219 interligados.

O módulo MAX7219 

O CI MAX7219 é um driver de display para controle de displays de 7 segmentos ou matriz de leds 8×8, que pode ser utilizado tanto para controle de apenas um display como pode ser ligado em cascata, formando painéis de led bem interessantes para avisos, alarmes e contadores, entre outros.

Neste post vamos usar o módulo Módulo 4 Matrizes de LED 8×8 com MAX7219, que é uma placa pronta já com os 4 módulos conectados entre sim e uma entrada de dados comum. O modelo de módulo que estamos utilizando é o FC-16, e você pode conferir essa informação retirando a matriz do soquete:

Na imagem acima também podemos ver os pinos de saída no lado direito (CLK, CS, DOUT) que podem ser usado para conectar mais módulos como esse, formando painéis maiores.

Conexão do módulo MAX7219 com ESP8266

A comunicação com o módulo matriz de leds 8×8 é feita através da interface SPI. No ESP8266 NodeMCU, usaremos para conexão os pinos D4 (GPIO2) ao CS do módulo MAX7219, D5 (GPIO14) no CLK e D7 (GPIO13) no DIN:

Nos testes o módulo funcionou perfeitamente com alimentação 3.3V, mas você também pode utilizar uma fonte externa de 5V ou se estiver alimentando o NodeMCU por meio de um cabo USB utilizar o pino Vin, que neste caso também será uma saída 5VDC.

Programa MAX7219 com ESP8266 NodeMCU

Para o programa abaixo vamos precisar de duas bibliotecas, que devem ser instaladas manualmente. Uma delas é a Altairis ESP8266 FC16 (download) e a outra é a LedControlSpiESP8266 (download). Faça o download das duas bibliotecas, descompacte e coloque-as na pasta LIBRARIES da sua IDE Arduino.

A Altairis funciona em cima da LedControlSpiESP8266, que na sua versão original é um pouco complicada para usar por uma pessoa sem tantos conhecimentos técnicos.

O resultado é um programa muito mais enxuto e com comandos básicos, como você pode conferir abaixo, onde definimos na linha 7 qual pino usaremos para o CS (você pode usar outros pinos do ESP8266) e na linha 9 o número de displays que vamos comandar:

//Programa: Modulo Max7219 FC-16 com ESP8266 NodeMCU
//Autor: Arduino e Cia

#include <FC16.h>

//Conexao do pino CS
const int csPin = D4;
//Numero de displays que estamos usando
const int numDisp = 4;
//Tempo do scroll em milisegundos
const int scrollDelay = 250;

FC16 display = FC16(csPin, numDisp);

void setup() 
{
  //Inicializa o display
 display.begin();
  //Intensidade / Brilho
 display.setIntensity(8);
  //Apaga o display
 display.clearDisplay();

 //Texto a ser exibido no display
 display.setText("\x10 Hello!! \x11");
}

void loop() 
{
 //Chama a rotina de scroll
 display.update();

 //Aguarda o tempo definido
 delay(scrollDelay);
}

Repare que na linha 25 onde setamos o texto que será exibido no display temos um x10 e um x11. Eles são usados para inserir caracteres “especiais” no texto. Vários estão disponíveis e você pode conferir a lista abaixo para usar de acordo com a sua necessidade:

Divirta-se! 🙂

Gostou? Use este mesmo projeto para montar um Painel de Avisos acionado por Bot Telegram, um outro post aqui mesmo do Arduino e Cia!

5/5 - (1 voto)

Related posts

Comunicação wireless com Arduino e módulo NRF24L01

by Arduino e Cia
10 anos ago

Como usar o WifiManager com ESP32 e ESP8266

by Arduino e Cia
2 anos ago

Diferença entre os módulos bluetooth HC-05 e HC-06

by Arduino e Cia
10 anos ago
Sair da versão mobile