Innholdsfortegnelse:

Arduino MAX7219 7-segmenters displayopplæring: 5 trinn
Arduino MAX7219 7-segmenters displayopplæring: 5 trinn

Video: Arduino MAX7219 7-segmenters displayopplæring: 5 trinn

Video: Arduino MAX7219 7-segmenters displayopplæring: 5 trinn
Video: LDmicro 18: GPS-будильник Ublox NEO-6M (программирование лестничной схемы ПЛК микроконтроллера с помощью LDmicro) 2024, November
Anonim
Arduino MAX7219 7-segmenters displayopplæring
Arduino MAX7219 7-segmenters displayopplæring

MAX7219 er en IC som brukes til å drive lysdioder med 7 segmenter (opptil 8 sifre), blokkdisplayer (stolpedisplayer) og 64 individuelle lysdioder som er felles katoder. For å kommunisere med en mikrokontroller bruker MAX7219 SPI -kommunikasjonssystemet. Så for å kjøre 64 lysdioder trenger du bare 3 porter på mikrokontrolleren.

I denne artikkelen vil jeg vise deg hvordan du bruker en 7-segment modul som bruker IC MAX7219 som driver.

Nødvendige komponenter:

  • MAX7219 7-segmentsmodul
  • Arduino Nano
  • wire jumper
  • USB mini

Nødvendig bibliotek:

LedControl

I denne opplæringen bruker jeg Arduino Nano -bord. Hvis du aldri har brukt det. Jeg foreslår at du leser min forrige artikkel om "Hvordan bruke Arduino Nano".

Trinn 1: Sett sammen alle komponentene

Sett sammen alle komponentene
Sett sammen alle komponentene

Koble Arduino-kortet til 7-segmentsmodulen. Se bildet eller instruksjonen som jeg skrev nedenfor:

Arduino til 7-segment

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/LOAD

Trinn 2: Legg til bibliotek

Legg til bibliotek
Legg til bibliotek

Etter at kretsen er fullført. Legg til "LedControl" -biblioteket i Arduino IDE.

For å legge til et bibliotek i Arduino, kan du lese det i artikkelen "Hvordan legge til et eksternt bibliotek til Arduino" som jeg har laget tidligere ".

Trinn 3: Ytterligere funksjoner

Ytterligere funksjoner
Ytterligere funksjoner

Etter å ha lagt til LedControl -biblioteket. Du kan bruke tilleggsfunksjoner til å styre 7-segmentsmodulen.

Argument

addr - displayets adresse

siffer - posisjonen til sifferet på displayet (0..7) verdi - verdien som skal vises. (0x00..0x0F)

dp angir desimaltegnet.

Funksjon

setChar (addr, digit, value.dp); // for å vise verdien for rørtypen for 7-biters ASCII-koding

setDigit (addr, digit, value, bolean dp); // for å vise sifre og tegn i en funksjon setRow (addr, digit, value, boolsk dp); // for å vise objektet i ønsket siffer

For mer informasjon, vennligst les her.

Trinn 4: Last opp skisse

Last opp skisse
Last opp skisse

Jeg har skissert for prøveversjonen av denne 7-segmentsmodulen. Du kan kopiere koden nedenfor, og lime den inn i skissen din.

// Vi må alltid inkludere biblioteket

#inkludere "LedControl.h"

/*

Nå trenger vi en LedControl å jobbe med. ***** Disse pin -tallene vil sannsynligvis ikke fungere med maskinvaren din *****

pin 12 er koblet til DataIn

pin 11 er koblet til CLK

pin 10 er koblet til LOAD

Vi har bare en MAX72XX.

*/

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

/ * vi venter alltid litt mellom oppdateringer av skjermen */

usignert lang forsinkelse = 500;

ugyldig oppsett () {

/ * MAX72XX er i strømsparingsmodus ved oppstart, vi må ringe */

lc.stopp (0, usann);

/ * Still lysstyrken til middels verdier */

lc.setIntensity (0, 8);

/ * og tøm skjermen */

lc.clearDisplay (0);}

ugyldig hei () {

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

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

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

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

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

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

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

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

forsinkelse (forsinkelse+1000);

lc.clearDisplay (0);

forsinkelse (forsinkelse);

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

forsinkelse (forsinkelse);

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

forsinkelse (forsinkelse);

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

forsinkelse (forsinkelse);

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

forsinkelse (forsinkelse);

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

forsinkelse (forsinkelse);

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

forsinkelse (forsinkelse);

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

forsinkelse (forsinkelse);

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

forsinkelse (1500);

lc.clearDisplay (0);

forsinkelse (forsinkelse);

}

void loop () {hallo ();

}

Eller last ned filen nedenfor:

Trinn 5: Resultat

Nyt resultatet.

Hvis det er spørsmål, skriv dem bare i kommentarfeltet.

Vi sees i neste artikkel.

Anbefalt: