Përmbajtje:

Counter Duke përdorur MAX7221: 4 Hapa
Counter Duke përdorur MAX7221: 4 Hapa

Video: Counter Duke përdorur MAX7221: 4 Hapa

Video: Counter Duke përdorur MAX7221: 4 Hapa
Video: How to use TM1637 4 digits seven segment display with Arduino 2024, Nëntor
Anonim
Counter Duke përdorur MAX7221
Counter Duke përdorur MAX7221

Krijimi i një numëruesi që rritet kur shtypet një buton duke përdorur MAX7221.

Hapi 1: Pjesët

MAX7221 ose MAX7219

Kaloni

4 Ekran 7-segmentesh (katodë e zakonshme)

2 Rezistorë: 10k dhe 9.53k (kam përdorur 9.1k dhe akoma funksionon)

Arduino

Hapi 2: Ndërtimi i qarkut

Ndërtimi i qarkut
Ndërtimi i qarkut
Ndërtimi i qarkut
Ndërtimi i qarkut
Ndërtimi i qarkut
Ndërtimi i qarkut

Kam shkruar vetëm kunjat që kam përdorur, mund ta gjeni paraqitjen e plotë të kunjave në fletën e të dhënave ose e kam bashkangjitur atë. Sigurohuni që të shikoni ekranin tuaj me 7 segmente sepse ndoshta do të ndryshojë nga imi, por procedura është e njëjtë.

1. Lidhni Shifrat 0 - 3 në MAX7221 me Shifrat 1 - 4 në ekran. Shifra MAX 0 lidhet me shifrën e ekraneve 1 etj. Ekranet janë thjesht jokonvencionale dhe fillojnë në 1 në vend të 0.

2. Lidhni segmentet A - G në MAX7221 me segmentet A - G në ekran.

3. Furnizoni me energji dhe tokëzim MAX. VCC shkon në pin 19. Rezistenca 10k është e lidhur edhe me pin 19 dhe 18. Ground shkon në kunjat 4 dhe 9.

4. MAX7221 komunikon me Arduino përmes SPI (Ndërfaqja Periferike Seriale). Në këtë rast nevojiten vetëm 3 tela sepse nuk po përdor MISO (Master In Slave Out). Në MAX7221 lidhni pinin 1 (Din) me Arduino, në rastin tim kam përdorur pinin 12. Ky është MOSI juaj (Master Out Slave In) ose të dhënat. Pin 12 në MAX është CS (Chip Select Input) dhe është mënyra se si të dhënat ngarkohen në Shift Register, e lidha këtë me pin 9 në Arduino. Lidhja e fundit është CLK e cila është kunja 13 në MAX, e lidha me pin 10 në Arduino.

Sigurohuni që të furnizoni energji dhe tokë përmes Arduino duke përdorur 5 volt. Unë hasa në problemin ku Arduino im nuk po i jepte bordit tim fuqi të mjaftueshme.

Kjo është për fletën e të dhënave MAX7221. Gjithashtu nga kanë ardhur fotografitë.

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

Hapi 3: Kaloni

Ndërprerësi
Ndërprerësi

Kam lidhur kalimin nga Skema e mësipërme. Gjetur në

Përdora pinin 8 në Arduino për të kontrolluar ndërprerësin dhe një rezistencë 10k.

Hapi 4: Kodi

Kam përdorur bibliotekën LedControl.h të gjetur në GitHub dhe kodin e tyre bazë për të ndezur MAX7221. Pastaj modifikova kodin për të numëruar nga 0 - 9999 kur shtypet butoni.

#përfshi "LedControl.h"

butoni int = 8;

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

void setup () {

pinMode (butoni, INPUT);

lc. mbyllje (0, false); // MAX7221 është në modalitetin e kursimit të energjisë, kështu që ne duhet ta zgjojmë

lc. intensiteti (0, 15); // Vendosja e shkëlqimit, maksimum 15

lc. ClearDisplay (0); // pastrimi i ekranit

}

lak void () {

gjendja int = digitalRead (butoni);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

ndërsa (1) {

gjendja = digitalRead (butoni);

ndërsa (gjendja == 1) {

gjendja = digitalRead (butoni);

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

i ++;

vonesë (100); // mund të ngatërroni me këtë

nëse (i == 10) {

i = 0;

j ++;

nëse (j == 10) {

j = 0;

k ++;

nëse (k == 10) {

k = 0;

l ++;

nëse (l == 10) {

ndërsa (1) {

lc.setRow (0, 0, 0x3E); // kur ekrani të arrijë në 9999 do të shfaq U - 1

lc.setRow (0, 1, 0x1); // Në vlerën dhjetore Hexi

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

}

}

}

}

Recommended: