Sadržaj:

Brojač pomoću MAX7221: 4 koraka
Brojač pomoću MAX7221: 4 koraka

Video: Brojač pomoću MAX7221: 4 koraka

Video: Brojač pomoću MAX7221: 4 koraka
Video: Škole za 21. vijek: Napravite brojač koraka pomoću micro:bita 2024, Juli
Anonim
Brojač pomoću MAX7221
Brojač pomoću MAX7221

Stvaranje brojača koji se povećava pri pritisku tipke pomoću MAX7221.

Korak 1: Dijelovi

MAX7221 ili MAX7219

Switch

4 7-segmentni ekran (zajednička katoda)

2 otpornika: 10k i 9.53k (koristio sam 9.1k i još uvijek radi)

Arduino

Korak 2: Izgradnja kruga

Izgradnja kola
Izgradnja kola
Izgradnja kola
Izgradnja kola
Izgradnja kola
Izgradnja kola

Zapisao sam samo pinove koje sam koristio, kompletan raspored pinova možete pronaći na tehničkom listu ili sam ga priložio. Potražite svoj 7-segmentni ekran jer će se vjerojatno razlikovati od mog, ali postupak je isti.

1. Spojite znamenke 0 - 3 na MAX7221 na znamenke 1 - 4 na ekranu. MAX znamenka 0 povezuje se s prikazom 1 itd. Zasloni su jednostavno nekonvencionalni i počinju s 1 umjesto s 0.

2. Povežite segmente A - G na MAX7221 sa segmentima A - G na ekranu.

3. Napajanje i uzemljenje MAX -a. VCC ide na pin 19. 10k otpornik je također spojen na pinove 19 i 18. Uzemljenje ide na pinove 4 i 9.

4. MAX7221 komunicira s Arduinom putem SPI (serijsko periferno sučelje). U ovom slučaju potrebne su samo 3 žice jer ne koristim MISO (Master In Slave Out). Na MAX7221 spojite pin 1 (Din) na Arduino, u mom slučaju koristio sam pin 12. Ovo je vaš MOSI (Master Out Slave In) ili podaci. Pin 12 na MAX -u je CS (Chip Select Input) i način na koji se podaci učitavaju u Shift Register, spojio sam ga na pin 9 na Arduinu. Posljednja veza je CLK koji je pin 13 na MAX -u, ovo sam spojio na pin 10 na Arduinu.

Pobrinite se za napajanje i uzemljenje putem Arduina pomoću 5 volti. Naišao sam na problem u kojem moj Arduino nije davao mojoj ploči dovoljno snage.

Ovo je za tehnički list MAX7221. Takođe odakle su slike došle.

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

Korak 3: Prekidač

Prekidač
Prekidač

Ožičio sam prekidač sa gornje sheme. Pronađeno na

Koristio sam pin 8 na Arduinu za kontrolu prekidača i 10k otpornik.

Korak 4: Kodirajte

Koristio sam biblioteku LedControl.h koja se nalazi na GitHubu i njihov osnovni kod za uključivanje MAX7221. Zatim sam promijenio kôd tako da broji od 0 - 9999 kada se pritisne dugme.

#include "LedControl.h"

int dugme = 8;

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

void setup () {

pinMode (dugme, ULAZ);

lc.shutdown (0, false); // MAX7221 je u načinu rada za uštedu energije, pa ga moramo probuditi

lc.setIntensity (0, 15); // Postavljanje svjetline, max 15

lc.clearDisplay (0); // brisanje prikaza

}

void loop () {{100} {101}

int state = digitalRead (dugme);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

dok (1) {

stanje = digitalno čitanje (dugme);

while (stanje == 1) {

stanje = digitalno čitanje (dugme);

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

i ++;

kašnjenje (100); // možete se zezati s ovim

if (i == 10) {

i = 0;

j ++;

ako (j == 10) {

j = 0;

k ++;

ako (k == 10) {

k = 0;

l ++;

if (l == 10) {

dok (1) {

lc.setRow (0, 0, 0x3E); // kada zaslon dosegne 9999 prikazat će se U - 1

lc.setRow (0, 1, 0x1); // U Hexi decimalnoj vrijednosti

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);

}

}

}

}

Preporučuje se: