Cuprins:

Contor Utilizarea MAX7221: 4 pași
Contor Utilizarea MAX7221: 4 pași

Video: Contor Utilizarea MAX7221: 4 pași

Video: Contor Utilizarea MAX7221: 4 pași
Video: FLOWCODE УРОК 60 max7219 max7221 2024, Noiembrie
Anonim
Contor Utilizarea MAX7221
Contor Utilizarea MAX7221

Crearea unui contor care crește la apăsarea unui buton folosind MAX7221.

Pasul 1: Piese

MAX7221 sau MAX7219

Intrerupator

4 Afișaj cu 7 segmente (catod comun)

2 rezistențe: 10k și 9.53k (am folosit un 9.1k și încă funcționează)

Arduino

Pasul 2: Construirea circuitului

Construirea circuitului
Construirea circuitului
Construirea circuitului
Construirea circuitului
Construirea circuitului
Construirea circuitului

Am notat doar pinii pe care i-am folosit, puteți găsi aspectul complet al pinului pe foaia tehnică sau l-am atașat. Nu uitați să căutați afișajul dvs. pe 7 segmente, deoarece probabil va diferi de al meu, dar procedura este aceeași.

1. Conectați cifrele 0 - 3 de pe MAX7221 la cifrele 1 - 4 de pe afișaj. Cifra MAX 0 se conectează la cifrele afișate 1 etc. Afișajele sunt doar neconvenționale și încep de la 1 în loc de 0.

2. Conectați segmentele A - G de pe MAX7221 la segmentele A - G de pe afișaj.

3. Alimentați cu putere și împământare la MAX. VCC merge la pinul 19. Rezistorul de 10k este, de asemenea, conectat la pinul 19 și 18. Masa merge la pinii 4 și 9.

4. MAX7221 comunică cu Arduino prin SPI (Serial Peripheral Interface). În acest caz, sunt necesare doar 3 fire, deoarece nu folosesc MISO (Master In Slave Out). Pe MAX7221 conectați pinul 1 (Din) la Arduino, în cazul meu am folosit pinul 12. Acesta este MOSI (Master Out Slave In) sau datele. Pinul 12 de pe MAX este CS (Chip Select Input) și este modul în care datele sunt încărcate în registrul Shift, l-am conectat la pinul 9 de pe Arduino. Ultima conexiune este CLK, care este pinul 13 de pe MAX, am conectat acest lucru la pinul 10 de pe Arduino.

Asigurați-vă că furnizați energie și împământare prin Arduino folosind 5 volți. M-am confruntat cu problema în care Arduino-ul meu nu oferea consiliului meu suficientă putere.

Aceasta este pentru foaia de date MAX7221. De asemenea, de unde au venit pozele.

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

Pasul 3: Comutatorul

Schimbarea
Schimbarea

Am conectat comutatorul de la schema de mai sus. Găsit la

Am folosit pinul 8 de pe Arduino pentru a controla comutatorul și un rezistor de 10k.

Pasul 4: Cod

Am folosit biblioteca LedControl.h găsită pe GitHub și codul lor de bază pentru a porni MAX7221. Apoi am modificat codul pentru a contoriza de la 0 la 9999 când butonul este apăsat.

#include „LedControl.h”

buton int = 8;

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

configurare nulă () {

pinMode (buton, INPUT);

lc.shutdown (0, false); // MAX7221 este în modul de economisire a energiei, deci trebuie să-l trezim

lc.setIntensity (0, 15); // Setarea luminozității, maxim 15

lc.clearDisplay (0); // curățarea afișajului

}

bucla nulă () {

int state = digitalRead (buton);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

în timp ce (1) {

state = digitalRead (buton);

while (stare == 1) {

state = digitalRead (buton);

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

i ++;

întârziere (100); // te poți încurca cu asta

if (i == 10) {

i = 0;

j ++;

if (j == 10) {

j = 0;

k ++;

if (k == 10) {

k = 0;

l ++;

if (l == 10) {

în timp ce (1) {

lc.setRow (0, 0, 0x3E); // când afișajul a ajuns la 9999 va afișa U - 1

lc.setRow (0, 1, 0x1); // În valoare zecimală Hexi

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

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

}

}

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

}

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

}

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

}

}

}

}

Recomandat: