Tartalomjegyzék:

Számláló a MAX7221 használatával: 4 lépés
Számláló a MAX7221 használatával: 4 lépés

Videó: Számláló a MAX7221 használatával: 4 lépés

Videó: Számláló a MAX7221 használatával: 4 lépés
Videó: Introduction to HT16K33 4 Digit LED Seven Segment Display with Arduino 2024, November
Anonim
Számláló a MAX7221 használatával
Számláló a MAX7221 használatával

Egy számláló létrehozása, amely a gomb megnyomásakor növekszik a MAX7221 használatával.

1. lépés: Alkatrészek

MAX7221 vagy MAX7219

Kapcsoló

4 7 szegmenses kijelző (közös katód)

2 ellenállás: 10k és 9.53k (9,1k -t használtam, és még mindig működik)

Arduino

2. lépés: Az áramkör építése

A pálya építése
A pálya építése
A pálya építése
A pálya építése
A pálya építése
A pálya építése

Csak azokat a csapokat írtam le, amelyeket használtam, az adatlapon megtalálható a teljes tűelrendezés, vagy csatoltam. Feltétlenül nézze meg a 7 szegmenses kijelzőt, mert valószínűleg eltér az enyémtől, de az eljárás ugyanaz.

1. Csatlakoztassa a MAX7221 0–3 számjegyét a kijelző 1–4 számjegyéhez. A MAX 0 számjegy csatlakozik a kijelző 1 -es számjegyéhez stb. A kijelzők nem szokványosak, és 0 helyett 1 -től kezdődnek.

2. Csatlakoztassa a MAX7221 A - G szegmenseit a kijelző A - G szegmenseihez.

3. Tápellátás és földelés a MAX -hoz. A VCC a 19 -es érintkezőre megy. A 10k ellenállás a 19 -es és a 18 -as érintkezőhöz is csatlakozik.

4. A MAX7221 SPI -n (Serial Peripheral Interface) keresztül kommunikál az Arduino -val. Ebben az esetben csak 3 vezetékre van szükség, mert nem használok MISO -t (Master In Slave Out). A MAX7221 -en csatlakoztassa az 1. tűt (Din) az Arduino -hoz, az én esetemben a 12. tűt használtam. Ez a MOSI (Master Out Slave In) vagy az adat. A MAX 12. csapja CS (Chip Select Input), és így töltődnek be az adatok a Shift Register -be, ezt az Arduino 9. tűjéhez kötöttem. Az utolsó csatlakozás a CLK, amely a MAX 13. tűje, ezt az Arduino 10. tűjéhez kötöttem.

Győződjön meg arról, hogy az áramot és a földelést az Arduino -n keresztül 5 volt segítségével biztosítja. Beleütköztem a problémába, amikor az Arduino -m nem adott elegendő erőt a táblámnak.

Ez a MAX7221 adatlapra vonatkozik. Azt is, hogy honnan jöttek a képek.

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

3. lépés: A kapcsoló

A kapcsoló
A kapcsoló

A kapcsolót a fenti ábra alapján bekötöttem. A https://www.arduino.cc/en/tutorial/button oldalon található

A kapcsoló vezérléséhez az Arduino 8 -as érintkezőjét és egy 10 k -os ellenállást használtam.

4. lépés: Kód

A GitHubon található LedControl.h könyvtárat és az alapkódomat használtam a MAX7221 bekapcsolásához. Ezután módosítottam a kódot, hogy a gomb megnyomásakor 0 - 9999 között legyen.

#include "LedControl.h"

int gomb = 8;

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

void setup () {

pinMode (gomb, INPUT);

lc.sutdown (0, false); // A MAX7221 energiatakarékos módban van, ezért fel kell ébresztenünk

lc.setIntensity (0, 15); // Fényerő beállítása, max 15

lc.clearDisplay (0); // kijelző törlése

}

void loop () {

int állapot = digitalRead (gomb);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

míg (1) {

állapot = digitalRead (gomb);

while (állapot == 1) {

állapot = digitalRead (gomb);

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

i ++;

késleltetés (100); // ezzel kavaroghatsz

ha (i == 10) {

i = 0;

j ++;

ha (j == 10) {

j = 0;

k ++;

ha (k == 10) {

k = 0;

l ++;

ha (l == 10) {

míg (1) {

lc.setRow (0, 0, 0x3E); // amikor a kijelző elérte a 9999 -et, akkor U - 1 jelenik meg

lc.setRow (0, 1, 0x1); // Hexi tizedes értékben

lc.setRow (0, 2, 0x1);

lc.setDigit (0, 3, 1, hamis);

}

}

lc.setDigit (0, 0, l, hamis);

}

lc.setDigit (0, 1, k, hamis);

}

lc.setDigit (0, 2, j, hamis);

}

}

}

}

Ajánlott: