Мазмуну:

Arduino менен жетектелген матрицаны башкаруу: 5 кадам
Arduino менен жетектелген матрицаны башкаруу: 5 кадам

Video: Arduino менен жетектелген матрицаны башкаруу: 5 кадам

Video: Arduino менен жетектелген матрицаны башкаруу: 5 кадам
Video: Измерение постоянного тока до 500А с помощью шунта и дисплея Arduino-TM1637 2024, Июль
Anonim
Arduino аркылуу LED матрицасын башкаруу
Arduino аркылуу LED матрицасын башкаруу
Arduino аркылуу LED матрицасын башкаруу
Arduino аркылуу LED матрицасын башкаруу

Салам досум.

Бул макалада мен Arduino аркылуу Led Matrixти кантип колдонууну көрсөтөм.

Led Matrix - бул массив түрүндөгү LED диоддорунун жыйындысы. Led Matrices түрүнө жараша ар кандай мамычалар менен катарларга ээ. Белгилүү бир комбинация менен бир нече светодиоддорду көрсөтүү менен, Led матрицасы бир катар символдорду, тамгаларды, символдорду жана башкаларды көрсөтө алат.

Led Matrixтин иштөө принциби мен кечээ жараткан "7-Segment Display" менен бирдей. Экөөнүн ортосундагы айырмачылык - бул сырткы көрүнүшү гана.

1 -кадам: Led Matrixтин өзгөчөлүктөрү

Led Matrix өзгөчөлүктөрү
Led Matrix өзгөчөлүктөрү

Бул жерде Led Matrixтин өзгөчөлүктөрү:

  • LED саны: 64
  • Саптардын саны: 8
  • Мамычалардын саны: 8
  • Иштөө чыңалуусу: 4.7V - 5V DC
  • Иштөө ток: 320mA
  • Max Иштетүү Учурдагы: 2A

2 -кадам: Керектүү компоненттер

Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер
Керектүү компоненттер

Керектүү компоненттер:

  • Led Matrik
  • Arduino Nano
  • Jumper Wire
  • USBmini
  • Project Board

Керектүү китепкана:

LedControl

Китепкананы Arduino IDEге кошуу үчүн, бул макаладан "Ардуиного китепкана кошуу" дегенди көрө аласыз.

3 -кадам: Led Matrixти Arduino IDEге туташтырыңыз

Led Matrix'ти Arduino IDEге туташтырыңыз
Led Matrix'ти Arduino IDEге туташтырыңыз

Төмөндөгү сүрөттөмөнү караңыз же жогорудагы сүрөттү караңыз:

Led Matrix Arduino үчүн

VCC ==> +5V

GND ==> GND

DIN ==> D6

CS ==> D7

CLK ==> D8

4 -кадам: Программалоо

Программалоо
Программалоо

Бул LED матрицасын сынап көрүү үчүн колдонула турган мисалдын эскизи:

// Биз ар дайым китепкананы камтышыбыз керек#include "LedControl.h"

/*

Эми биз менен иштөө үчүн LedControl керек. ***** Бул пин номерлери сиздин аппараттык жабдууларыңыз менен иштебей калышы мүмкүн ***** пин 6 DataIn пин 8ге туташкан CLK пин 7 LOAD менен байланышкан Бизде бир гана MAX72XX бар. */

LedControl lc = LedControl (6, 8, 7, 1);

/ * биз дайыма дисплейдин жаңыртууларын күтөбүз */

кол коюлбаган узак кечигүү убактысы = 100;

жараксыз орнотуу () {

/ * MAX72XX күйгүзүү учурунда энергияны үнөмдөө режиминде, биз ойготуу чалуу кылышыбыз керек */ lc.shutdown (0, false); / * Жарыкты орто мааниге коюңуз */ lc.setIntensity (0, 8); / * жана дисплейди тазалоо */ lc.clearDisplay (0); }

/*

Бул ыкма "Arduino" сөзүнүн белгилерин матрицада биринин артынан бирин көрсөтөт. (бүт символдорду көрүү үчүн кеминде 5х7 лед керек) */ void writeArduinoOnMatrix () {/ *бул жерде */ байт a [5] = {B01111110, B10001000, B10001000, B10001000, B01111110} символдору боюнча маалыматтар бар; байт r [5] = {B00111110, B00010000, B00100000, B00100000, B00010000}; байт d [5] = {B00011100, B00100010, B00100010, B00010010, B11111110}; байт u [5] = {B00111100, B00000010, B00000010, B00000100, B00111110}; байт i [5] = {B00000000, B00100010, B10111110, B00000010, B00000000}; байт n [5] = {B00111110, B00010000, B00100000, B00100000, B00011110}; байт о [5] = {B00011100, B00100010, B00100010, B00100010, B00011100};

/ * азыр аларды кичине кечигүү менен бирден көрсөтүү */

lc.setRow (0, 0, a [0]); lc.setRow (0, 1, a [1]); lc.setRow (0, 2, a [2]); lc.setRow (0, 3, a [3]); lc.setRow (0, 4, a [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, r [0]); lc.setRow (0, 1, r [1]); lc.setRow (0, 2, r [2]); lc.setRow (0, 3, r [3]); lc.setRow (0, 4, r [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, d [0]); lc.setRow (0, 1, d [1]); lc.setRow (0, 2, d [2]); lc.setRow (0, 3, d [3]); lc.setRow (0, 4, d [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, u [0]); lc.setRow (0, 1, u [1]); lc.setRow (0, 2, u [2]); lc.setRow (0, 3, u [3]); lc.setRow (0, 4, u [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, i [0]); lc.setRow (0, 1, i [1]); lc.setRow (0, 2, i [2]); lc.setRow (0, 3, i [3]); lc.setRow (0, 4, i [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, n [0]); lc.setRow (0, 1, n [1]); lc.setRow (0, 2, n [2]); lc.setRow (0, 3, n [3]); lc.setRow (0, 4, n [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, o [0]); lc.setRow (0, 1, o [1]); lc.setRow (0, 2, o [2]); lc.setRow (0, 3, o [3]); lc.setRow (0, 4, o [4]); кечигүү (кечигүү убактысы); lc.setRow (0, 0, 0); lc.setRow (0, 1, 0); lc.setRow (0, 2, 0); lc.setRow (0, 3, 0); lc.setRow (0, 4, 0); кечигүү (кечигүү убактысы); }

/*

Бул функция катары менен кээ бир Леддерди жарык кылат. Үлгү ар бир сапта кайталанат. Үлгү катар номери менен бирге ирмелет. катар саны 4 (индекс == 3) 4 жолу жыпылықтайт ж.б. */ void rows () {for (int row = 0; row <8; row ++) {delay (delaytime); lc.setRow (0, катар, B10100000); кечигүү (кечигүү убактысы); lc.setRow (0, катар, (байт) 0); үчүн (int i = 0; i

/*

Бул функция мамычанын кээ бир Леддерин күйгүзөт. Үлгү ар бир тилкеде кайталанат. Үлгү мамыча номери менен бирге ирмелет. мамыча номери 4 (индекс == 3) 4 ирет жыпылықтайт ж. lc.setColumn (0, col, B10100000); кечигүү (кечигүү убактысы); lc.setColumn (0, col, (байт) 0); үчүн (int i = 0; i

/*

Бул функция матрицанын ар бир LEDын жарык кылат. Лидер катар номери менен бирге ирмелет. катар саны 4 (индекс == 3) 4 жолу жыпылықтайт ж.б. */ void single () {for (int row = 0; row <8; row ++) {for (int col = 0; col <8; col ++) { кечигүү (кечигүү убактысы); lc.setLed (0, катар, col, true); кечигүү (кечигүү убактысы); үчүн (int i = 0; i

void loop () {

writeArduinoOnMatrix (); катарлар (); мамычалар (); жалгыз (); }

Мен аны файл катары да көрсөтөм:

5 -кадам: Enjoi It

Enjoi It
Enjoi It

Бул LED матрицасы боюнча окуу куралы болчу.

Бул макаланы окуп үчүн рахмат. кийинки макалада көрүшкөнчө.

Сунушталууда: