Orodha ya maudhui:

Kukabiliana Kutumia MAX7221: Hatua 4
Kukabiliana Kutumia MAX7221: Hatua 4

Video: Kukabiliana Kutumia MAX7221: Hatua 4

Video: Kukabiliana Kutumia MAX7221: Hatua 4
Video: РАДУЖНЫЕ ДРУЗЬЯ — КАЧКИ?! НЕЗАКОННЫЕ Эксперименты VR! 2024, Julai
Anonim
Kukabiliana Kutumia MAX7221
Kukabiliana Kutumia MAX7221

Kuunda kaunta inayoongeza wakati kitufe kinabanwa kutumia MAX7221.

Hatua ya 1: Sehemu

MAX7221 au MAX7219

Badilisha

Onyesho la Sehemu 7 7 (cathode ya kawaida)

Resistors 2: 10k na 9.53k (nilitumia 9.1k na bado inafanya kazi)

Arduino

Hatua ya 2: Kuunda Mzunguko

Kujenga Mzunguko
Kujenga Mzunguko
Kujenga Mzunguko
Kujenga Mzunguko
Kujenga Mzunguko
Kujenga Mzunguko

Niliandika tu pini ambazo nilitumia, unaweza kupata mpangilio kamili wa pini kwenye lahajedwali au niliunganisha. Hakikisha utafute Uonyesho wako wa Sehemu 7 kwa sababu labda utatofautiana na yangu lakini utaratibu ni ule ule.

1. Unganisha Nambari 0 - 3 kwenye MAX7221 hadi Nambari 1 - 4 kwenye onyesho. Nambari ya MAX 0 inaunganisha na nambari ya maonyesho 1 n.k Maonyesho sio ya kawaida na huanza saa 1 badala ya 0.

2. Unganisha Sehemu A - G kwenye MAX7221 na Sehemu A - G kwenye onyesho.

3. Sambaza nguvu na ardhi kwa MAX. VCC inakwenda kubandika 19. Kinzani ya 10k pia imeunganishwa kwa kubandika 19 na 18. Ardhi inakwenda kwa pini 4 na 9.

4. MAX7221 huwasiliana na Arduino kupitia SPI (Interface ya Peripheral Serial). Katika kesi hii ni waya 3 tu zinahitajika kwa sababu situmii MISO (Master In Slave Out). Kwenye MAX7221 unganisha pin 1 (Din) kwa Arduino, kwa upande wangu nilitumia pin 12. Hii ni MOSI yako (Master Out Slave In) au data. Bandika 12 kwenye MAX ni CS (Chip Chagua Ingizo) na ni jinsi data imeingizwa kwenye Usajili wa Shift, niliunganisha hii kubandika 9 kwenye Arduino. Uunganisho wa mwisho ni CLK ambayo ni pini ya 13 kwenye MAX, niliunganisha hii kubandika 10 kwenye Arduino.

Hakikisha kusambaza nguvu na ardhi kupitia Arduino kwa kutumia volts 5. Niliingia kwenye shida ambapo Arduino yangu hakuwa akiipa bodi yangu nguvu za kutosha.

Hii ni kwa Jalada la MAX7221. Pia picha zilitoka wapi.

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

Hatua ya 3: Kubadili

Kubadili
Kubadili

Niliunganisha swichi kutoka kwa Schematic hapo juu. Inapatikana katika

Nilitumia pini 8 kwenye Arduino kudhibiti swichi, na kontena la 10k.

Hatua ya 4: Kanuni

Nilitumia maktaba ya LedControl.h iliyopatikana kwenye GitHub, na nambari yao ya msingi kuwasha MAX7221. Nilibadilisha nambari kuhesabu kutoka 0 - 9999 wakati kitufe kinabanwa.

# pamoja na "LedControl.h"

kitufe cha int = 8;

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

usanidi batili () {

pinMode (kifungo, INPUT);

kuzima kwa lc (0, uwongo); // MAX7221 iko katika hali ya kuokoa nguvu, kwa hivyo lazima tuiamshe

lc.setIntensity (0, 15); // Kuweka mwangaza, max 15

lc Onyesha wazi (0); // kusafisha maonyesho

}

kitanzi batili () {

hali ya ndani = kusoma kwa dijiti (kifungo);

int i = 0;

int j = 0;

int k = 0;

int l = 0;

wakati (1) {

hali = kusoma kwa dijiti (kifungo);

wakati (state == 1) {

hali = kusoma kwa dijiti (kifungo);

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

i ++;

kuchelewesha (100); // unaweza kuzunguka na hii

ikiwa (i == 10) {

i = 0;

j ++;

ikiwa (j == 10) {

j = 0;

k ++;

ikiwa (k == 10) {

k = 0;

l ++;

ikiwa (l == 10) {

wakati (1) {

lc.setRow (0, 0, 0x3E); // wakati onyesho lilifikia 9999 litaonyesha U - 1

lc.setRow (0, 1, 0x1); // Kwa thamani ya decimal ya Hexi

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

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

}

}

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

}

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

}

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

}

}

}

}

Ilipendekeza: