Tabla de contenido:

Contador usando el MAX7221: 4 pasos
Contador usando el MAX7221: 4 pasos

Video: Contador usando el MAX7221: 4 pasos

Video: Contador usando el MAX7221: 4 pasos
Video: Contador con Matriz led de 8x8 con 4 modulos, 5 “A“ Mecatronica 2024, Noviembre
Anonim
Contador usando el MAX7221
Contador usando el MAX7221

Creando un contador que aumenta cuando se presiona un botón usando el MAX7221.

Paso 1: Partes

MAX7221 o MAX7219

Cambiar

4 Pantalla de 7 segmentos (cátodo común)

2 resistencias: 10k y 9.53k (usé una 9.1k y todavía funciona)

Arduino

Paso 2: construcción del circuito

Construyendo el circuito
Construyendo el circuito
Construyendo el circuito
Construyendo el circuito
Construyendo el circuito
Construyendo el circuito

Solo escribí los pines que usé, puede encontrar el diseño completo de los pines en la hoja de datos o lo adjunté. Asegúrese de buscar su pantalla de 7 segmentos porque probablemente diferirá de la mía, pero el procedimiento es el mismo.

1. Conecte los dígitos 0 - 3 en el MAX7221 a los dígitos 1 - 4 en la pantalla. El dígito MAX 0 se conecta al dígito 1 de las pantallas, etc. Las pantallas son poco convencionales y comienzan en 1 en lugar de 0.

2. Conecte los segmentos A - G en el MAX7221 a los segmentos A - G en la pantalla.

3. Suministre energía y tierra al MAX. VCC va al pin 19. La resistencia de 10k también está conectada al pin 19 y 18. La tierra va a los pines 4 y 9.

4. El MAX7221 se comunica con el Arduino a través de SPI (Interfaz de periféricos en serie). En este caso, solo se necesitan 3 cables porque no estoy usando MISO (Master In Slave Out). En el MAX7221 conecte el pin 1 (Din) al Arduino, en mi caso usé el pin 12. Este es su MOSI (Master Out Slave In) o los datos. El pin 12 en el MAX es CS (entrada de selección de chip) y es cómo se cargan los datos en el registro de cambio, lo conecté al pin 9 en el Arduino. La última conexión es CLK, que es el pin 13 en el MAX, lo conecté al pin 10 en el Arduino.

Asegúrese de suministrar energía y tierra a través del Arduino usando 5 voltios. Me encontré con el problema de que mi Arduino no le estaba dando suficiente potencia a mi placa.

Esto es para la hoja de datos MAX7221. También de donde vinieron las fotos.

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

Paso 3: el cambio

El interruptor
El interruptor

Conecté el interruptor del esquema anterior. Encontrado en

Usé el pin 8 en el Arduino para controlar el interruptor y una resistencia de 10k.

Paso 4: Código

Usé la biblioteca LedControl.h que se encuentra en GitHub y su código básico para encender el MAX7221. Luego modifiqué el código para contar de 0 a 9999 cuando se presiona el botón.

#include "LedControl.h"

botón int = 8;

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

configuración vacía () {

pinMode (botón, ENTRADA);

lc.shutdown (0, falso); // MAX7221 está en modo de ahorro de energía, así que tenemos que despertarlo

lc.setIntensity (0, 15); // Configuración de brillo, máx.15

lc.clearDisplay (0); // pantalla de limpieza

}

bucle vacío () {

int state = digitalRead (botón);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

while (1) {

state = digitalRead (botón);

while (estado == 1) {

state = digitalRead (botón);

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

i ++;

retraso (100); // puedes jugar con esto

si (i == 10) {

i = 0;

j ++;

si (j == 10) {

j = 0;

k ++;

si (k == 10) {

k = 0;

l ++;

si (l == 10) {

while (1) {

lc.setRow (0, 0, 0x3E); // cuando la pantalla llegue a 9999 mostrará U - 1

lc.setRow (0, 1, 0x1); // En 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: