Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
MAX7219 är en IC som används för att driva 7-segmentiga lysdioder (upp till 8 siffror), blockdisplayer (stapeldisplayer) och 64 enskilda lysdioder som är gemensamma katoder. För att kommunicera med en mikrokontroller använder MAX7219 SPI -kommunikationssystemet. Så för att driva 64 lysdioder behöver du bara tre portar på mikrokontrollen.
I den här artikeln kommer jag att visa dig hur du använder en 7-segmentsmodul som använder IC MAX7219 som drivrutin.
Nödvändiga komponenter:
- MAX7219 7-segmentsmodul
- Arduino Nano
- trådbygel
- USB mini
Obligatoriskt bibliotek:
LedControl
I denna handledning använder jag Arduino Nano board. Om du aldrig har använt det. Jag föreslår att du läser min tidigare artikel om "Hur man använder Arduino Nano".
Steg 1: Montera alla komponenter
Anslut Arduino-kortet till 7-segmentsmodulen. Se bilden eller instruktionen som jag skrev nedan:
Arduino till 7-segment
+5V => VCC
GND => GND
D12 => DIN
D11 => CLK
D10 => CS/LOAD
Steg 2: Lägg till bibliotek
När kretsen är klar. Lägg till "LedControl" -biblioteket i Arduino IDE.
För att lägga till ett bibliotek i Arduino kan du läsa det i artikeln "Hur man lägger till ett externt bibliotek till Arduino" som jag gjorde tidigare ".
Steg 3: Ytterligare funktioner
Efter att ha lagt till LedControl -biblioteket. Du kan använda ytterligare funktioner för att styra 7-segmentsmodulen.
Argument
addr - displayens adress
siffra - siffrans position på displayen (0..7) värde - värdet som ska visas. (0x00..0x0F)
dp anger decimalpunkten.
Fungera
setChar (addr, digit, value.dp); // för att visa värdet för char-typ för 7-bitars ASCII-kodning
setDigit (addr, digit, value, bolean dp); // för att visa siffror och tecken i en funktion setRow (addr, digit, value, boolean dp); // för att visa objektet i önskad siffra
För mer information, läs här.
Steg 4: Ladda upp Sketch
Jag har skissat inför testet av denna 7-segmentsmodul. Du kan kopiera koden nedan och sedan klistra in den i din skiss.
// Vi måste alltid inkludera biblioteket
#inkludera "LedControl.h"
/*
Nu behöver vi en LedControl att arbeta med. ***** Dessa pin -nummer fungerar förmodligen inte med din maskinvara *****
stift 12 är anslutet till DataIn
stift 11 är anslutet till CLK
stift 10 är anslutet till LOAD
Vi har bara en enda MAX72XX.
*/
LedControl lc = LedControl (12, 11, 10, 1);
/ * vi väntar alltid lite mellan uppdateringar av displayen */
osignerad lång fördröjning = 500;
void setup () {
/ * MAX72XX är i energisparläge vid uppstart, vi måste ringa upp */
lc.avstängning (0, falskt);
/ * Ställ in ljusstyrkan till ett medelvärde */
lc.setIntensity (0, 8);
/ * och rensa displayen */
lc.clearDisplay (0);}
void hej () {
lc.setChar (0, 7, 'H', falskt);
lc.setChar (0, 6, 'E', falskt);
lc.setChar (0, 5, 'L', falskt);
lc.setChar (0, 4, 'L', falskt);
lc.setChar (0, 3, '0', falskt);
lc.setChar (0, 2, '.', false);
lc.setChar (0, 1, '.', false);
lc.setChar (0, 0, '.', false);
fördröjning (fördröjningstid+1000);
lc.clearDisplay (0);
fördröjning (fördröjningstid);
lc.setDigit (0, 7, 1, false);
fördröjning (fördröjningstid);
lc.setDigit (0, 6, 2, false);
fördröjning (fördröjningstid);
lc.setDigit (0, 5, 3, false);
fördröjning (fördröjningstid);
lc.setDigit (0, 4, 4, false);
fördröjning (fördröjningstid);
lc.setDigit (0, 3, 5, false);
fördröjning (fördröjningstid);
lc.setDigit (0, 2, 6, false);
fördröjning (fördröjningstid);
lc.setDigit (0, 1, 7, false);
fördröjning (fördröjningstid);
lc.setDigit (0, 0, 8, false);
fördröjning (1500);
lc.clearDisplay (0);
fördröjning (fördröjningstid);
}
void loop () {hej ();
}
Eller ladda ner filen nedan:
Steg 5: Resultat
Njut av resultatet.
Om det finns frågor skriver du dem bara i kommentarsfältet.
Vi ses i nästa artikel.