Taula de continguts:

Tutorial de visualització de 7 segments Arduino MAX7219: 5 passos
Tutorial de visualització de 7 segments Arduino MAX7219: 5 passos

Vídeo: Tutorial de visualització de 7 segments Arduino MAX7219: 5 passos

Vídeo: Tutorial de visualització de 7 segments Arduino MAX7219: 5 passos
Vídeo: Cronòmetre Arduino amb visualitzador de 7 segments 2024, Desembre
Anonim
Tutorial de visualització de 7 segments Arduino MAX7219
Tutorial de visualització de 7 segments Arduino MAX7219

MAX7219 és un CI que s’utilitza per conduir LEDs de 7 segments (fins a 8 dígits), pantalles de blocs (pantalles de barres) i 64 LED individuals que són càtodes comons. Per comunicar-se amb un microcontrolador, MAX7219 utilitza el sistema de comunicació SPI. Per tant, per conduir 64 LED només necessiteu 3 ports del microcontrolador.

En aquest article us mostraré com utilitzar un mòdul de 7 segments que utilitza IC MAX7219 com a controlador.

Components necessaris:

  • Mòdul MAX7219 de 7 segments
  • Arduino Nano
  • pont de filferro
  • USB mini

Biblioteca obligatòria:

LedControl

En aquest tutorial faig servir la placa Arduino Nano. Si no l’heu utilitzat mai. Us suggereixo llegir el meu article anterior sobre "Com utilitzar Arduino Nano".

Pas 1: muntar tots els components

Muntar tots els components
Muntar tots els components

Connecteu la placa Arduino al mòdul de 7 segments. Vegeu la imatge o la instrucció que he escrit a continuació:

Arduino a 7 segments

+ 5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS / LOAD

Pas 2: afegiu una biblioteca

Afegeix biblioteca
Afegeix biblioteca

Un cop finalitzat el circuit. Afegiu la biblioteca "LedControl" a l'IDE Arduino.

Per afegir una biblioteca a Arduino, podeu llegir-la a l'article "Com afegir una biblioteca externa a Arduino" que he creat anteriorment ".

Pas 3: Funcions addicionals

Funcions addicionals
Funcions addicionals

Després d'afegir la biblioteca LedControl. Podeu utilitzar funcions addicionals per controlar el mòdul de 7 segments.

Argument

addr - adreça de la pantalla

dígit: la posició del dígit a la pantalla (0..7) value: el valor que es mostrarà. (0x00..0x0F)

dp estableix el punt decimal.

Funció

setChar (addr, dígit, valor.dp); // per mostrar el valor del tipus de caràcter per a la codificació ASCII de 7 bits

setDigit (addr, dígit, valor, dp bolean); // per mostrar dígits i caràcters en una funció setRow (addr, dígit, valor, dp booleà); // per mostrar l'objecte al dígit desitjat

Per obtenir més informació, llegiu aquí.

Pas 4: pengeu l'esbós

Penja un esbós
Penja un esbós

He esbossat per a la prova d’aquest mòdul de 7 segments. Podeu copiar el codi següent i enganxar-lo al croquis.

// Sempre hem d’incloure la biblioteca

#include "LedControl.h"

/*

Ara necessitem un LedControl per treballar. ***** Aquests números de PIN probablement no funcionaran amb el vostre maquinari *****

el pin 12 està connectat a DataIn

el pin 11 està connectat al CLK

el pin 10 està connectat a LOAD

Només tenim un únic MAX72XX.

*/

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

/ * sempre esperem una mica entre les actualitzacions de la pantalla * /

temps de retard llarg sense signar = 500;

configuració nul·la () {

/ * El MAX72XX està en mode d’estalvi d’energia a l’inici, hem de fer una trucada de despertador * /

lc.shutdown (0, false);

/ * Estableix la brillantor en valors mitjans * /

lc.setIntensity (0, 8);

/ * i esborreu la pantalla * /

lc.clearDisplay (0);}

buida hola () {

lc.setChar (0, 7, "H", fals);

lc.setChar (0, 6, "E", fals);

lc.setChar (0, 5, "L", fals);

lc.setChar (0, 4, "L", fals);

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

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

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

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

retard (delaytime + 1000);

lc.clearDisplay (0);

retard (delaytime);

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

retard (delaytime);

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

retard (delaytime);

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

retard (delaytime);

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

retard (delaytime);

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

retard (delaytime);

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

retard (delaytime);

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

retard (delaytime);

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

retard (1500);

lc.clearDisplay (0);

retard (delaytime);

}

bucle buit () {hola ();

}

O bé descarregueu el fitxer següent:

Pas 5: resultat

Gaudeix del resultat.

Si hi ha preguntes, només cal escriure-les a la columna de comentaris.

Ens veiem al proper article.

Recomanat: