Índice:

Tutorial de exibição de 7 segmentos do Arduino MAX7219: 5 etapas
Tutorial de exibição de 7 segmentos do Arduino MAX7219: 5 etapas

Vídeo: Tutorial de exibição de 7 segmentos do Arduino MAX7219: 5 etapas

Vídeo: Tutorial de exibição de 7 segmentos do Arduino MAX7219: 5 etapas
Vídeo: Displays LED de Sete Segmentos 2024, Dezembro
Anonim
Tutorial de exibição de 7 segmentos do Arduino MAX7219
Tutorial de exibição de 7 segmentos do Arduino MAX7219

MAX7219 é um IC usado para acionar LEDs de 7 segmentos (até 8 dígitos), telas de bloco (telas de barra) e 64 LEDs individuais que são cátodos comuns. Para se comunicar com um microcontrolador, o MAX7219 usa o sistema de comunicação SPI. Portanto, para acionar 64 LEDs, basta 3 portas do microcontrolador.

Neste artigo, vou mostrar como usar um módulo de 7 segmentos que usa IC MAX7219 como driver.

Componentes necessários:

  • Módulo de 7 segmentos MAX7219
  • Arduino Nano
  • Jumper de fio
  • Mini USB

Biblioteca necessária:

LedControl

Neste tutorial eu uso a placa Arduino Nano. Se você nunca o usou. Eu sugiro ler meu artigo anterior sobre "Como usar o Arduino Nano".

Etapa 1: montar todos os componentes

Monte todos os componentes
Monte todos os componentes

Conecte a placa Arduino ao módulo de 7 segmentos. Veja a imagem ou instrução que escrevi abaixo:

Arduino para 7 segmentos

+ 5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS / LOAD

Etapa 2: Adicionar Biblioteca

Adicionar biblioteca
Adicionar biblioteca

Depois que o circuito for concluído. Adicione a biblioteca "LedControl" ao IDE do Arduino.

Para adicionar uma biblioteca ao Arduino, você pode ler no artigo "Como adicionar uma biblioteca externa ao Arduino" que fiz anteriormente ".

Etapa 3: funções adicionais

Funções adicionais
Funções adicionais

Depois de adicionar a biblioteca LedControl. Você pode usar funções adicionais para controlar o módulo de 7 segmentos.

Argumento

addr - endereço do display

dígito - a posição do dígito no display (0..7) valor - o valor a ser exibido. (0x00..0x0F)

dp define o ponto decimal.

Função

setChar (addr, dígito, valor.dp); // para exibir o valor do tipo char para codificação ASCII de 7 bits

setDigit (addr, dígito, valor, bolean dp); // para exibir dígitos e caracteres em uma função setRow (addr, digit, value, boolean dp); // para exibir o objeto no dígito desejado

Para mais detalhes, leia aqui.

Etapa 4: fazer upload do esboço

Upload Sketch
Upload Sketch

Eu esbocei para o teste deste módulo de 7 segmentos. Você pode copiar o código abaixo e colá-lo em seu esboço.

// Sempre temos que incluir a biblioteca

#include "LedControl.h"

/*

Agora precisamos de um LedControl para trabalhar. ***** Esses números de pinos provavelmente não funcionarão com o seu hardware *****

pino 12 está conectado ao DataIn

o pino 11 está conectado ao CLK

pino 10 está conectado a LOAD

Temos apenas um único MAX72XX.

*/

LedControl lc = LedControl (12, 11, 10, 1);

/ * sempre esperamos um pouco entre as atualizações do display * /

atraso longo sem sinal = 500;

void setup () {

/ * O MAX72XX está no modo de economia de energia na inicialização, temos que fazer uma chamada de ativação * /

lc.shutdown (0, falso);

/ * Defina o brilho para um valor médio * /

lc.setIntensity (0, 8);

/ * e limpar a tela * /

lc.clearDisplay (0);}

void hello () {

lc.setChar (0, 7, 'H', falso);

lc.setChar (0, 6, 'E', falso);

lc.setChar (0, 5, 'L', falso);

lc.setChar (0, 4, 'L', falso);

lc.setChar (0, 3, '0', falso);

lc.setChar (0, 2, '.', falso);

lc.setChar (0, 1, '.', falso);

lc.setChar (0, 0, '.', falso);

atraso (tempo de atraso + 1000);

lc.clearDisplay (0);

atraso (delaytime);

lc.setDigit (0, 7, 1, falso);

atraso (delaytime);

lc.setDigit (0, 6, 2, falso);

atraso (delaytime);

lc.setDigit (0, 5, 3, falso);

atraso (delaytime);

lc.setDigit (0, 4, 4, falso);

atraso (delaytime);

lc.setDigit (0, 3, 5, falso);

atraso (delaytime);

lc.setDigit (0, 2, 6, falso);

atraso (delaytime);

lc.setDigit (0, 1, 7, falso);

atraso (delaytime);

lc.setDigit (0, 0, 8, falso);

atraso (1500);

lc.clearDisplay (0);

atraso (delaytime);

}

void loop () {hello ();

}

Ou baixe o arquivo abaixo:

Etapa 5: Resultado

Aproveite o resultado.

Se houver perguntas, basta escrevê-las na coluna de comentários.

Vejo você no próximo artigo.

Recomendado: