Índice:

Contador usando o MAX7221: 4 etapas
Contador usando o MAX7221: 4 etapas

Vídeo: Contador usando o MAX7221: 4 etapas

Vídeo: Contador usando o MAX7221: 4 etapas
Vídeo: Faz um CONTADOR DE SUBSCRITORES por 25€ 2024, Novembro
Anonim
Contador usando o MAX7221
Contador usando o MAX7221

Criação de um contador que aumenta quando um botão é pressionado usando o MAX7221.

Etapa 1: Peças

MAX7221 ou MAX7219

Trocar

4 Display de 7 segmentos (cátodo comum)

2 resistores: 10k e 9,53k (usei um 9,1k e ainda funciona)

Arduino

Etapa 2: Construindo o Circuito

Construindo o Circuito
Construindo o Circuito
Construindo o Circuito
Construindo o Circuito
Construindo o Circuito
Construindo o Circuito

Eu apenas anotei os pinos que usei, você pode encontrar o layout completo dos pinos na ficha técnica ou anexei. Certifique-se de olhar para o seu Display de 7 segmentos porque provavelmente será diferente do meu, mas o procedimento é o mesmo.

1. Conecte os dígitos 0 - 3 no MAX7221 aos dígitos 1 - 4 no visor. O dígito MAX 0 se conecta aos visores dígito 1 etc. Os visores não são convencionais e começam em 1 em vez de 0.

2. Conecte os segmentos A - G no MAX7221 aos segmentos A - G na tela.

3. Forneça energia e aterramento para o MAX. O VCC vai para o pino 19. O resistor de 10k também é conectado aos pinos 19 e 18. O aterramento vai para os pinos 4 e 9.

4. O MAX7221 se comunica com o Arduino via SPI (Interface Periférica Serial). Neste caso, apenas 3 fios são necessários porque não estou usando MISO (Master In Slave Out). No MAX7221 conecte o pino 1 (Din) ao Arduino, no meu caso usei o pino 12. Este é o seu MOSI (Master Out Slave In) ou os dados. O pino 12 no MAX é CS (entrada de seleção de chip) e é como os dados são carregados no Shift Register, conectei-o ao pino 9 no Arduino. A última conexão é CLK que é o pino 13 no MAX, conectei no pino 10 no Arduino.

Certifique-se de fornecer energia e aterramento por meio do Arduino usando 5 volts. Eu tive um problema em que meu Arduino não estava fornecendo potência suficiente para minha placa.

Isso é para a folha de dados MAX7221. Também de onde vieram as fotos.

www.mouser.com/datasheet/2/256/max7219-max…

Etapa 3: a mudança

O interruptor
O interruptor

Liguei o interruptor do esquema acima. Encontrado em

Usei o pino 8 no Arduino para controlar a chave e um resistor de 10k.

Etapa 4: Código

Usei a biblioteca LedControl.h encontrada no GitHub e seu código básico para ligar o MAX7221. Em seguida, modifiquei o código para contar de 0 a 9999 quando o botão está sendo pressionado.

#include "LedControl.h"

botão int = 8;

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

void setup () {

pinMode (botão, INPUT);

lc.shutdown (0, falso); // MAX7221 está no modo de economia de energia, então temos que ativá-lo

lc.setIntensity (0, 15); // Definindo brilho, máx. 15

lc.clearDisplay (0); // limpando a tela

}

void loop () {

estado int = digitalRead (botão);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

enquanto (1) {

estado = digitalRead (botão);

enquanto (estado == 1) {

estado = digitalRead (botão);

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

i ++;

atraso (100); // você pode mexer com isso

if (i == 10) {

i = 0;

j ++;

if (j == 10) {

j = 0;

k ++;

if (k == 10) {

k = 0;

l ++;

if (l == 10) {

enquanto (1) {

lc.setRow (0, 0, 0x3E); // quando a exibição atingir 9999, exibirá U - 1

lc.setRow (0, 1, 0x1); // Em valor decimal hexi

lc.setRow (0, 2, 0x1);

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

}

}

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

}

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

}

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

}

}

}

}

Recomendado: