Turinys:

„Arduino MAX7219“7 segmentų ekrano pamoka: 5 žingsniai
„Arduino MAX7219“7 segmentų ekrano pamoka: 5 žingsniai

Video: „Arduino MAX7219“7 segmentų ekrano pamoka: 5 žingsniai

Video: „Arduino MAX7219“7 segmentų ekrano pamoka: 5 žingsniai
Video: M#3 MAX7219 7-сегментные и матричные дисплеи | Аутсил Дев. ПЛК Мега 2024, Lapkritis
Anonim
„Arduino MAX7219“7 segmentų ekrano pamoka
„Arduino MAX7219“7 segmentų ekrano pamoka

MAX7219 yra IC, naudojamas valdyti 7 segmentų šviesos diodus (iki 8 skaitmenų), blokinius ekranus (juostinius ekranus) ir 64 atskirus šviesos diodus, kurie yra bendri katodai. Norėdami bendrauti su mikrovaldikliu, MAX7219 naudoja SPI ryšio sistemą. Taigi, norint valdyti 64 šviesos diodus, reikia tik 3 mikrovaldiklio prievadų.

Šiame straipsnyje aš jums parodysiu, kaip naudoti 7 segmentų modulį, kurio tvarkyklė yra IC MAX7219.

Reikalingi komponentai:

  • MAX7219 7 segmentų modulis
  • Arduino Nano
  • vielos megztinis
  • USB mini

Reikalinga biblioteka:

„LedControl“

Šioje pamokoje naudoju „Arduino Nano“plokštę. Jei niekada jo nenaudojote. Siūlau perskaityti mano ankstesnį straipsnį „Kaip naudotis„ Arduino Nano ““.

1 žingsnis: Surinkite visus komponentus

Surinkite visus komponentus
Surinkite visus komponentus

Prijunkite „Arduino“plokštę prie 7 segmentų modulio. Žiūrėkite paveikslėlį ar instrukciją, kurią parašiau žemiau:

„Arduino“iki 7 segmentų

+5 V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/KROVAS

2 veiksmas: pridėkite biblioteką

Pridėti biblioteką
Pridėti biblioteką

Baigus grandinę. Pridėkite „LedControl“biblioteką prie „Arduino IDE“.

Norėdami pridėti biblioteką prie „Arduino“, galite ją perskaityti straipsnyje „Kaip pridėti išorinę biblioteką prie„ Arduino ““, kurį padariau anksčiau “.

3 žingsnis: papildomos funkcijos

Papildomos funkcijos
Papildomos funkcijos

Pridėjus „LedControl“biblioteką. 7 segmentų moduliui valdyti galite naudoti papildomas funkcijas.

Argumentas

addr - ekrano adresas

skaitmuo - skaitmens vieta ekrane (0..7) vertė - rodoma reikšmė. (0x00..0x0F)

dp nustato dešimtainį tašką.

Funkcija

setChar (addr, skaitmuo, value.dp); //, kad būtų rodoma 7 bitų ASCII kodavimo char tipo reikšmė

setDigit (addr, skaitmuo, vertė, bolean dp); // rodyti skaitmenis ir simbolius vienoje funkcijų rinkinyjeRow (addr, skaitmuo, vertė, loginis dp); // norėdami parodyti objektą norimu skaitmeniu

Norėdami gauti daugiau informacijos, skaitykite čia.

4 veiksmas: įkelkite eskizą

Įkelti eskizą
Įkelti eskizą

Nubraižiau šio 7 segmentų modulio bandymą. Galite nukopijuoti žemiau esantį kodą, tada įklijuoti jį į eskizą.

// Mes visada turime įtraukti biblioteką

#include "LedControl.h"

/*

Dabar mums reikia „LedControl“, kad galėtume dirbti. ***** Šie PIN kodai tikriausiai neveiks su jūsų aparatine įranga *****

12 kontaktas yra prijungtas prie „DataIn“

11 kaištis prijungtas prie CLK

10 kaištis prijungtas prie LOAD

Turime tik vieną MAX72XX.

*/

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

/ * visada šiek tiek palaukiame tarp ekrano atnaujinimų */

nepasirašytas ilgas atidėjimo laikas = 500;

void setup () {

/ * Įjungus „MAX72XX“veikia energijos taupymo režimas, turime atlikti pažadinimo skambutį */

lc.sutdown (0, false);

/ * Nustatykite vidutinio ryškumo šviesą */

lc.setIntensity (0, 8);

/ * ir išvalyti ekraną */

lc.clearDisplay (0);}

void hello () {

lc.setChar (0, 7, 'H', klaidinga);

lc.setChar (0, 6, „E“, klaidinga);

lc.setChar (0, 5, „L“, klaidinga);

lc.setChar (0, 4, „L“, klaidinga);

lc.setChar (0, 3, '0', klaidinga);

lc.setChar (0, 2, '.', klaidinga);

lc.setChar (0, 1, '.', klaidinga);

lc.setChar (0, 0, '.', klaidinga);

vėlavimas (atidėjimo laikas+1000);

lc.clearDisplay (0);

vėlavimas (vėlavimo laikas);

lc.setDigit (0, 7, 1, klaidinga);

vėlavimas (vėlavimo laikas);

lc.setDigit (0, 6, 2, klaidinga);

vėlavimas (vėlavimo laikas);

lc.setDigit (0, 5, 3, klaidinga);

vėlavimas (vėlavimo laikas);

lc.setDigit (0, 4, 4, klaidinga);

vėlavimas (vėlavimo laikas);

lc.setDigit (0, 3, 5, klaidinga);

vėlavimas (vėlavimo laikas);

lc.setDigit (0, 2, 6, klaidinga);

vėlavimas (vėlavimo laikas);

lc.setDigit (0, 1, 7, klaidinga);

vėlavimas (vėlavimo laikas);

lc.setDigit (0, 0, 8, klaidinga);

vėlavimas (1500);

lc.clearDisplay (0);

vėlavimas (vėlavimo laikas);

}

void loop () {labas ();

}

Arba atsisiųskite žemiau esantį failą:

5 žingsnis: rezultatas

Džiaukitės rezultatu.

Jei turite klausimų, tiesiog parašykite juos komentarų skiltyje.

Iki pasimatymo kitame straipsnyje.

Rekomenduojamas: