Obsah:

Počitadlo pomocí MAX7221: 4 kroky
Počitadlo pomocí MAX7221: 4 kroky

Video: Počitadlo pomocí MAX7221: 4 kroky

Video: Počitadlo pomocí MAX7221: 4 kroky
Video: Super počítadlo 2024, Červenec
Anonim
Počitadlo pomocí MAX7221
Počitadlo pomocí MAX7221

Vytvoření čítače, který se zvyšuje při stisknutí tlačítka pomocí MAX7221.

Krok 1: Díly

MAX7221 nebo MAX7219

Přepínač

4 7segmentový displej (společná katoda)

2 rezistory: 10k a 9,53k (použil jsem 9,1k a stále funguje)

Arduino

Krok 2: Budování obvodu

Budování okruhu
Budování okruhu
Budování okruhu
Budování okruhu
Budování okruhu
Budování okruhu

Zapisoval jsem pouze kolíky, které jsem použil, kompletní rozložení pinů najdete v datasheetu nebo jsem ho připojil. Nezapomeňte si vyhledat svůj 7segmentový displej, protože se pravděpodobně bude lišit od mého, ale postup je stejný.

1. Připojte číslice 0 - 3 na MAX7221 k číslicím 1 - 4 na displeji. MAX číslice 0 se připojuje k číslici displeje 1 atd. Displeje jsou nekonvenční a začínají na 1 místo 0.

2. Připojte segmenty A - G na MAX7221 k segmentům A - G na displeji.

3. Připojte napájení a zem do MAX. VCC jde na pin 19. Rezistor 10k je také připojen na pin 19 a 18. Uzemnění jde na piny 4 a 9.

4. MAX7221 komunikuje s Arduino přes SPI (Serial Peripheral Interface). V tomto případě jsou potřeba pouze 3 vodiče, protože nepoužívám MISO (Master In Slave Out). Na MAX7221 připojte pin 1 (Din) k Arduinu, v mém případě jsem použil pin 12. Toto je vaše MOSI (Master Out Slave In) nebo data. Pin 12 na MAX je CS (Chip Select Input) a jak se data načítají do Shift Register, připojil jsem to na pin 9 na Arduinu. Poslední připojení je CLK, což je pin 13 na MAX, připojil jsem to na pin 10 na Arduinu.

Zajistěte napájení a uzemnění prostřednictvím Arduina pomocí 5 voltů. Narazil jsem na problém, kdy moje Arduino nedávalo mé desce dostatek energie.

Toto je pro list MAX7221. Také odkud pocházejí obrázky.

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

Krok 3: Přepínač

Vypínač
Vypínač

Zapojil jsem přepínač ze schématu výše. Nalezeno na

K ovládání spínače jsem použil pin 8 na Arduinu a odpor 10k.

Krok 4: Kód

K zapnutí MAX7221 jsem použil knihovnu LedControl.h nalezenou na GitHubu a jejich základní kód. Při stisknutí tlačítka jsem poté upravil kód tak, aby se počítal od 0 do 9999.

#include "LedControl.h"

tlačítko int = 8;

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

neplatné nastavení () {

pinMode (tlačítko, VSTUP);

lc.shutdown (0, false); // MAX7221 je v úsporném režimu, takže ho musíme probudit

lc.setIntensity (0, 15); // Nastavení jasu, max. 15

lc.clearDisplay (0); // vymazání displeje

}

prázdná smyčka () {

int state = digitalRead (tlačítko);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

zatímco (1) {

stav = digitalRead (tlačítko);

while (state == 1) {

stav = digitalRead (tlačítko);

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

i ++;

zpoždění (100); // s tím si můžeš pohrávat

pokud (i == 10) {

i = 0;

j ++;

pokud (j == 10) {

j = 0;

k ++;

pokud (k == 10) {

k = 0;

l ++;

pokud (l == 10) {

zatímco (1) {

lc.setRow (0, 0, 0x3E); // když displej dosáhne 9999, zobrazí U - 1

lc.setRow (0, 1, 0x1); // V hexadecimální desítkové hodnotě

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

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

}

}

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

}

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

}

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

}

}

}

}

Doporučuje: