Sisukord:

Loendur MAX7221 abil: 4 sammu
Loendur MAX7221 abil: 4 sammu

Video: Loendur MAX7221 abil: 4 sammu

Video: Loendur MAX7221 abil: 4 sammu
Video: ЗЛО ЕЩЕ ЗДЕСЬ ЖУТКАЯ НОЧЬ В СТРАШНОМ ДОМЕ / EVIL IS STILL HERE A TERRIBLE NIGHT IN A TERRIBLE HOUSE 2024, November
Anonim
Loendur MAX7221 abil
Loendur MAX7221 abil

Loenduri loomine, mis suureneb nupu vajutamisel MAX7221 abil.

Samm: osad

MAX7221 või MAX7219

Lüliti

4 7-segmendiline kuva (tavaline katood)

2 takisti: 10k ja 9.53k (kasutasin 9,1k ja see töötab siiani)

Arduino

2. etapp: vooluringi ehitamine

Ringraja ehitamine
Ringraja ehitamine
Ringraja ehitamine
Ringraja ehitamine
Ringraja ehitamine
Ringraja ehitamine

Panin kirja ainult nööpnõelad, mida kasutasin, täieliku tihvtide paigutuse leiate andmelehelt või lisasin selle. Otsige kindlasti üles oma 7-segmendiline kuva, sest see erineb tõenäoliselt minu omast, kuid protseduur on sama.

1. Ühendage MAX7221 numbrid 0–3 kuvari numbritega 1–4. MAX number 0 ühendub kuvari numbriga 1 jne. Ekraanid on lihtsalt ebatavalised ja algavad 0 asemel 1 -st.

2. Ühendage segmendid A - G seadmel MAX7221 kuvari segmentidega A - G.

3. Toite ja maandage MAX. VCC läheb tihvtile 19. 10k takisti on ühendatud ka tihvtidega 19 ja 18. Maandus läheb tihvtidele 4 ja 9.

4. MAX7221 suhtleb Arduinoga SPI (Serial Peripheral Interface) kaudu. Sel juhul on vaja ainult 3 juhet, sest ma ei kasuta MISO -d (Master In Slave Out). MAX7221 ühendage tihvt 1 (Din) Arduinoga, minu puhul kasutasin tihvti 12. See on teie MOSI (Master Out Slave In) või andmed. MAX -i tihvt 12 on CS (kiibi valimise sisend) ja see, kuidas andmed laaditakse nihkeregistrisse, ühendasin selle Arduino tihvtiga 9. Viimane ühendus on CLK, mis on MAX -i tihvt 13, ühendasin selle Arduino tihvtiga 10.

Veenduge, et toiteksite ja maandaksite Arduino kaudu 5 volti. Mul tekkis probleem, kus mu Arduino ei andnud mu tahvlile piisavalt jõudu.

See on andmelehe MAX7221 jaoks. Samuti kust pildid tulid.

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

Samm: lüliti

Lüliti
Lüliti

Ühendasin lüliti ülaltoodud skeemilt. Leitud aadressilt

Lüliti juhtimiseks kasutasin Arduino tihvti 8 ja 10k takistit.

4. samm: kood

MAX7221 sisselülitamiseks kasutasin GitHubist leitud LedControl.h raamatukogu ja nende põhikoodi. Seejärel muutsin koodi nii, et see loeks 0–9999, kui nuppu vajutatakse.

#include "LedControl.h"

int nupp = 8;

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

tühine seadistus () {

pinMode (nupp, INPUT);

lc.sulgemine (0, vale); // MAX7221 on energiasäästurežiimis, seega peame selle äratama

lc.setIntensity (0, 15); // heleduse seadistamine, max 15

lc.clearDisplay (0); // ekraani puhastamine

}

void loop () {

int olek = digitalRead (nupp);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

samas (1) {

olek = digitalRead (nupp);

samas (osariik == 1) {

olek = digitalRead (nupp);

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

i ++;

viivitus (100); // sellega saad jama

kui (i == 10) {

i = 0;

j ++;

kui (j == 10) {

j = 0;

k ++;

kui (k == 10) {

k = 0;

l ++;

kui (l == 10) {

samas (1) {

lc.setRow (0, 0, 0x3E); // kui ekraan on jõudnud 9999, kuvatakse see U - 1

lc.setRow (0, 1, 0x1); // Hexi kümnendväärtus

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

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

}

}

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

}

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

}

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

}

}

}

}

Soovitan: