Kazalo:

Števec z uporabo MAX7221: 4 koraki
Števec z uporabo MAX7221: 4 koraki

Video: Števec z uporabo MAX7221: 4 koraki

Video: Števec z uporabo MAX7221: 4 koraki
Video: Текстильная пицца. Заготовка на косметичку. 2024, November
Anonim
Števec z uporabo MAX7221
Števec z uporabo MAX7221

Ustvarjanje števca, ki se poveča, ko pritisnete gumb z gumbom MAX7221.

1. korak: Deli

MAX7221 ali MAX7219

Preklopite

4 7-segmentni zaslon (skupna katoda)

2 upora: 10k in 9,53k (uporabil sem 9,1k in še vedno deluje)

Arduino

2. korak: Izdelava vezja

Gradnja vezja
Gradnja vezja
Gradnja vezja
Gradnja vezja
Gradnja vezja
Gradnja vezja

Zapisal sem samo zatiče, ki sem jih uporabil, celotno postavitev zatičev najdete na podatkovnem listu ali pa sem ga priložil. Poiščite 7-segmentni zaslon, ker se bo verjetno razlikoval od mojega, vendar je postopek enak.

1. Številke 0 - 3 na MAX7221 povežite s številkami 1 - 4 na zaslonu. Številka MAX 0 se poveže s številko 1 na zaslonu itd. Zasloni so preprosto nekonvencionalni in se začnejo pri 1 namesto 0.

2. Segmente A - G na MAX7221 povežite s segmentoma A - G na zaslonu.

3. Napajanje in ozemljitev MAX. VCC gre na pin 19. 10k upor je priključen tudi na pin 19 in 18. Ozemljitev gre na nožici 4 in 9.

4. MAX7221 komunicira z Arduinom prek SPI (serijski periferni vmesnik). V tem primeru so potrebne le 3 žice, ker ne uporabljam MISO (Master In Slave Out). Na MAX7221 priključite pin 1 (Din) na Arduino, v mojem primeru sem uporabil pin 12. To je vaš MOSI (Master Out Slave In) ali podatki. Pin 12 na MAX je CS (Chip Select Input) in tako se podatki nalagajo v register premikov, to sem povezal s pin 9 na Arduinu. Zadnja povezava je CLK, ki je pin 13 na MAX -u, to sem priključil na pin 10 na Arduinu.

Zagotovite napajanje in ozemljitev preko Arduina s 5 volti. Naletel sem na težavo, ko moj Arduino ni dal moji plošči dovolj moči.

To je za podatkovni list MAX7221. Tudi od kod prihajajo slike.

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

3. korak: Stikalo

Stikalo
Stikalo

Stikalo sem ožičil iz zgornje sheme. Najdeno na

Za krmiljenje stikala sem uporabil pin 8 na Arduinu in 10k upor.

4. korak: Koda

Za vklop MAX7221 sem uporabil knjižnico LedControl.h, ki jo najdemo na GitHubu, in njihovo osnovno kodo. Nato sem kodo spremenil tako, da šteje od 0 do 9999, ko pritisnete gumb.

#include "LedControl.h"

gumb int = 8;

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

void setup () {

pinMode (gumb, VHOD);

lc.shutdown (0, false); // MAX7221 je v načinu varčevanja z energijo, zato ga moramo prebuditi

lc.setIntensity (0, 15); // Nastavitev svetlosti, največ 15

lc.clearDisplay (0); // brisanje prikaza

}

void loop () {

int state = digitalRead (gumb);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

medtem ko (1) {

stanje = digitalno branje (gumb);

medtem ko (stanje == 1) {

stanje = digitalno branje (gumb);

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

i ++;

zamuda (100); // s tem se lahko zapleteš

če (i == 10) {

i = 0;

j ++;

če (j == 10) {

j = 0;

k ++;

če (k == 10) {

k = 0;

l ++;

če (l == 10) {

medtem ko (1) {

lc.setRow (0, 0, 0x3E); // ko zaslon doseže 9999, se prikaže U - 1

lc.setRow (0, 1, 0x1); // V decimalni vrednosti Hexi

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

lc.setDigit (0, 3, 1, napačno);

}

}

lc.setDigit (0, 0, l, napačno);

}

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

}

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

}

}

}

}

Priporočena: