INHOUDSOPGAWE:

Arduino MAX7219 7-segment vertoningstudie: 5 stappe
Arduino MAX7219 7-segment vertoningstudie: 5 stappe

Video: Arduino MAX7219 7-segment vertoningstudie: 5 stappe

Video: Arduino MAX7219 7-segment vertoningstudie: 5 stappe
Video: Using MAX7219 8 Digits Seven Segment Display - Robojax 2024, November
Anonim
Arduino MAX7219 7-segment vertoonhandleiding
Arduino MAX7219 7-segment vertoonhandleiding

MAX7219 is 'n IC wat gebruik word om 7-segment-LED's (tot 8 syfers), blokskerms (balkvertonings) en 64 individuele LED's wat 'n algemene katode is, aan te dryf. MAX7219 gebruik die SPI -kommunikasiestelsel om met 'n mikrobeheerder te kommunikeer. Om 64 LED's aan te dryf, benodig slegs 3 poorte van die mikrobeheerder.

In hierdie artikel sal ek u wys hoe u 'n 7-segment-module kan gebruik wat IC MAX7219 as die bestuurder gebruik.

Vereiste komponente:

  • MAX7219 7-segment module
  • Arduino Nano
  • draad trui
  • USB mini

Vereiste biblioteek:

LedControl

In hierdie handleiding gebruik ek Arduino Nano -bord. As u dit nog nooit gebruik het nie. Ek stel voor dat u my vorige artikel lees oor "Hoe om Arduino Nano te gebruik".

Stap 1: Monteer alle komponente

Monteer alle komponente
Monteer alle komponente

Koppel die Arduino-bord aan die 7-segment module. Sien die prentjie of instruksie wat ek hieronder geskryf het:

Arduino tot 7-segment

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/LOAD

Stap 2: Voeg biblioteek by

Voeg biblioteek by
Voeg biblioteek by

Nadat die kring voltooi is. Voeg die "LedControl" -biblioteek by die Arduino IDE.

Om 'n biblioteek by Arduino te voeg, kan u dit lees in die artikel "Hoe om 'n eksterne biblioteek by Arduino te voeg" wat ek vroeër gemaak het ".

Stap 3: Bykomende funksies

Bykomende funksies
Bykomende funksies

Na die toevoeging van die LedControl -biblioteek. U kan addisionele funksies gebruik om die 7-segment-module te beheer.

Argument

addr - adres van die skerm

syfer - die posisie van die syfer op die skerm (0..7) waarde - die waarde wat vertoon moet word. (0x00..0x0F)

dp stel die desimale punt.

Funksie

setChar (addr, syfer, waarde.dp); // om die char-tipe waarde vir 7-bis ASCII-kodering te vertoon

setDigit (addr, syfer, waarde, bolean dp); // om syfers en karakters in een funksie setRow (addr, syfer, waarde, booleaanse dp) te vertoon; // om die voorwerp in die gewenste syfer te vertoon

Vir meer besonderhede, lees asseblief hier.

Stap 4: Laai Skets op

Laai Skets op
Laai Skets op

Ek het geskets vir die proef van hierdie 7-segment module. U kan die onderstaande kode kopieer en dit dan in u skets plak.

// Ons moet altyd die biblioteek insluit

#sluit "LedControl.h" in

/*

Nou het ons 'n LedControl nodig om mee te werk. ***** Hierdie speldnommers werk waarskynlik nie met u hardeware nie *****

pen 12 is gekoppel aan die DataIn

pen 11 is gekoppel aan die CLK

pen 10 is gekoppel aan LOAD

Ons het slegs 'n enkele MAX72XX.

*/

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

/ * ons wag altyd 'n bietjie tussen opdaterings van die skerm */

ongetekende lang vertraging = 500;

ongeldige opstelling () {

/ * Die MAX72XX is in die spaarmodus tydens die aanvang, ons moet 'n wekroep */

lc.stop (0, vals);

/ * Stel die helderheid op 'n medium waardes */

lc.setIntensity (0, 8);

/ * en maak die skerm skoon */

lc.clearDisplay (0);}

leegte hallo () {

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

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

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

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

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

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

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

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

vertraging (vertragingstyd+1000);

lc.clearDisplay (0);

vertraging (vertragingstyd);

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

vertraging (vertragingstyd);

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

vertraging (vertragingstyd);

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

vertraging (vertragingstyd);

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

vertraging (vertragingstyd);

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

vertraging (vertragingstyd);

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

vertraging (vertragingstyd);

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

vertraging (vertragingstyd);

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

vertraging (1500);

lc.clearDisplay (0);

vertraging (vertragingstyd);

}

leemte -lus () {hallo ();

}

Of laai die onderstaande lêer af:

Stap 5: Resultaat

Geniet die resultaat.

Skryf dit in die kommentaarkolom as daar vrae is.

Sien jou in die volgende artikel.

Aanbeveel: