Satura rādītājs:

Arduino MAX7219 7 segmentu displeja apmācība: 5 soļi
Arduino MAX7219 7 segmentu displeja apmācība: 5 soļi

Video: Arduino MAX7219 7 segmentu displeja apmācība: 5 soļi

Video: Arduino MAX7219 7 segmentu displeja apmācība: 5 soļi
Video: Using MAX7219 8 Digits Seven Segment Display - Robojax 2024, Novembris
Anonim
Arduino MAX7219 7 segmentu displeja apmācība
Arduino MAX7219 7 segmentu displeja apmācība

MAX7219 ir IC, kas tiek izmantots, lai vadītu 7 segmentu gaismas diodes (līdz 8 cipariem), bloķētu displejus (joslu displejus) un 64 atsevišķas gaismas diodes, kas ir kombinētie katodi. Lai sazinātos ar mikrokontrolleri, MAX7219 izmanto SPI sakaru sistēmu. Tātad, lai vadītu 64 gaismas diodes, ir nepieciešami tikai 3 mikrokontrollera porti.

Šajā rakstā es jums parādīšu, kā izmantot 7 sekciju moduli, kura draiveris izmanto IC MAX7219.

Nepieciešamās sastāvdaļas:

  • MAX7219 7 segmentu modulis
  • Arduino Nano
  • vadu džemperis
  • USB mini

Nepieciešamā bibliotēka:

LedControl

Šajā apmācībā es izmantoju Arduino Nano plati. Ja jūs to nekad neesat izmantojis. Es iesaku izlasīt manu iepriekšējo rakstu par tēmu "Kā lietot Arduino Nano".

1. darbība: salieciet visas sastāvdaļas

Salieciet visas sastāvdaļas
Salieciet visas sastāvdaļas

Savienojiet Arduino plati ar 7 segmentu moduli. Skatiet attēlu vai instrukciju, ko es uzrakstīju zemāk:

Arduino līdz 7 segmentiem

+5V => VCC

GND => GND

D12 => DIN

D11 => CLK

D10 => CS/LOAD

2. darbība: pievienojiet bibliotēku

Pievienot bibliotēku
Pievienot bibliotēku

Pēc tam, kad ķēde ir pabeigta. Arduino IDE pievienojiet bibliotēku "LedControl".

Lai Arduino pievienotu bibliotēku, varat to izlasīt rakstā "Kā pievienot ārēju bibliotēku Arduino", ko es izveidoju iepriekš ".

3. darbība: papildu funkcijas

Papildu funkcijas
Papildu funkcijas

Pēc LedControl bibliotēkas pievienošanas. Jūs varat izmantot papildu funkcijas, lai kontrolētu 7 segmentu moduli.

Arguments

addr - displeja adrese

cipars - cipara pozīcija displejā (0..7) vērtība - parādāmā vērtība. (0x00..0x0F)

dp iestata decimālzīmi.

Funkcija

setChar (addr, cipars, value.dp); // lai parādītu char tipa vērtību 7 bitu ASCII kodējumam

setDigit (addr, cipars, vērtība, bolean dp); // lai parādītu ciparus un rakstzīmes vienā funkciju kopāRow (addr, cipars, vērtība, Būla dp); // lai parādītu objektu vēlamajā ciparā

Lai iegūtu sīkāku informāciju, lūdzu, izlasiet šeit.

4. darbība: augšupielādējiet skici

Augšupielādēt skici
Augšupielādēt skici

Esmu ieskicējis šī 7 segmentu moduļa izmēģinājumu. Jūs varat nokopēt zemāk esošo kodu un pēc tam ielīmēt to savā skicē.

// Mums vienmēr ir jāiekļauj bibliotēka

#include "LedControl.h"

/*

Tagad mums ir nepieciešama LedControl, ar kuru strādāt. ***** Šie PIN numuri, iespējams, nedarbosies ar jūsu aparatūru *****

12. tapa ir savienota ar DataIn

11. tapa ir savienota ar CLK

pin 10 ir savienots ar LOAD

Mums ir tikai viens MAX72XX.

*/

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

/ * mēs vienmēr nedaudz gaidām starp displeja atjauninājumiem */

neparakstīts ilgs delaytime = 500;

void setup () {

/ * MAX72XX ieslēgšanas brīdī ir enerģijas taupīšanas režīmā, mums jāveic modināšanas zvans */

lc.slēgšana (0, nepatiesa);

/ * Iestatiet spilgtumu uz vidējām vērtībām */

lc.setIntensity (0, 8);

/ * un notīriet displeju */

lc.clearDisplay (0);}

void hello () {

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

lc.setChar (0, 6, 'E', nepatiess);

lc.setChar (0, 5, 'L', nepatiess);

lc.setChar (0, 4, 'L', aplams);

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

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

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

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

kavēšanās (kavēšanās laiks+1000);

lc.clearDisplay (0);

kavēšanās (kavēšanās laiks);

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

kavēšanās (kavēšanās laiks);

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

kavēšanās (kavēšanās laiks);

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

kavēšanās (kavēšanās laiks);

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

kavēšanās (kavēšanās laiks);

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

kavēšanās (kavēšanās laiks);

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

kavēšanās (kavēšanās laiks);

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

kavēšanās (kavēšanās laiks);

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

kavēšanās (1500);

lc.clearDisplay (0);

kavēšanās (kavēšanās laiks);

}

void loop () {sveiki ();

}

Vai arī lejupielādējiet zemāk esošo failu:

5. solis: rezultāts

Izbaudiet rezultātu.

Ja ir jautājumi, vienkārši ierakstiet tos komentāru slejā.

Uz tikšanos nākamajā rakstā.

Ieteicams: