Мазмұны:

Arduino көмегімен LED матрицасын басқару: 5 қадам
Arduino көмегімен LED матрицасын басқару: 5 қадам

Бейне: Arduino көмегімен LED матрицасын басқару: 5 қадам

Бейне: Arduino көмегімен LED матрицасын басқару: 5 қадам
Бейне: Как использовать оптопару Mosfet HW-532 для управления скоростью двигателя постоянного тока до 30 В или нагрузкой с помощью Arduino 2024, Қараша
Anonim
Arduino көмегімен жарықдиодты матрицаны басқару
Arduino көмегімен жарықдиодты матрицаны басқару
Arduino көмегімен жарықдиодты матрицаны басқару
Arduino көмегімен жарықдиодты матрицаны басқару

Сәлем, достым.

Бұл мақалада мен сізге Arduino көмегімен Led Matrix қалай қолданылатынын көрсетемін.

Led Matrix - бұл светодиодтар жиыны түрінде. Жарықдиодты матрицалар түріне байланысты әр түрлі бағандар мен жолдарға ие. Белгілі бір комбинациямен бірнеше светодиодты ұсына отырып, Led матрицасы бірқатар символдарды, әріптерді, белгілерді және басқаларды көрсете алады.

Led Matrix жұмыс принципі мен кеше жасаған «7 сегментті дисплеймен» бірдей. Екеуінің айырмашылығы тек сыртқы келбеті.

1 -қадам: Led Matrix сипаттамалары

Led Matrix сипаттамалары
Led Matrix сипаттамалары

Міне, Led Matrix техникалық сипаттамалары:

  • Жарықдиодты шамдар саны: 64
  • Жолдар саны: 8
  • Баған саны: 8
  • Жұмыс кернеуі: 4,7 В - 5 В тұрақты ток
  • Жұмыс ток: 320 мА
  • Максималды жұмыс ток: 2А

2 -қадам: Қажетті компоненттер

Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер
Қажетті компоненттер

Қажетті компоненттер:

  • Лед Матрик
  • Ардуино Нано
  • Jumper Wire
  • USB мини
  • Жоба тақтасы

Қажетті кітапхана:

LedControl

Arduino IDE -ге кітапхана қосу үшін сіз осы мақалада «Arduino -ға кітапхана қосу» бөлімін көре аласыз.

3 -қадам: LED матрицасын Arduino IDE -ге қосыңыз

Led матрицасын Arduino IDE -ге қосыңыз
Led матрицасын Arduino IDE -ге қосыңыз

Төмендегі сипаттаманы қараңыз немесе жоғарыдағы суретті қараңыз:

Матрицаны Ардуиноға жеткізді

VCC ==> +5В

GND ==> GND

DIN ==> D6

CS ==> D7

CLK ==> D8

4 -қадам: Бағдарламалау

Бағдарламалау
Бағдарламалау

Бұл негізгі матрицаны сынау үшін қолдануға болатын эскиз:

// Біз әрқашан кітапхананы қосуымыз керек#include «LedControl.h»

/*

Енді бізге жұмыс істеу үшін LedControl қажет. ***** Бұл түйреуіштер сіздің аппараттық құралдарыңызбен жұмыс істемеуі мүмкін ***** 6 -pin DataIn -ге қосылады, CLK -pin -ге қосылады 7 -ЖОҚ қосылады Бізде тек MAX72XX бар. */

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

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

белгісіз ұзақ кідіріс уақыты = 100;

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

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

/*

Бұл әдіс матрицада «Arduino» сөзінің таңбаларын бірінен соң бірін көрсетеді. (барлық таңбаларды көру үшін сізге кемінде 5x7 жарық диодтары қажет) */ 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}; байт o [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); кешігу (кідіріс уақыты); }

/*

Бұл функция бірнеше LED -ті қатарынан жарықтандырады. Үлгі әр қатарда қайталанады. Үлгі қатар нөмірімен бірге жыпылықтайды. 4 -ші жол нөмірі (индекс == 3) 4 рет жыпылықтайды және т.б. 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

/*

Бұл функция матрицадағы әрбір жарықдиодты жарықтандырады. Светодиод жол нөмірімен бірге жыпылықтайды. 4 -жол нөмірі (индекс == 3) 4 рет жыпылықтайды және т. кешігу (кідіріс уақыты); lc.setLed (0, жол, col, true); кешігу (кідіріс уақыты); үшін (int i = 0; i

void loop () {

writeArduinoOnMatrix (); жолдар (); бағандар (); жалғыз (); }

Мен оны файл ретінде ұсынамын:

5 -қадам: Enjoi It

Enjoi It
Enjoi It

Бұл жетекші матрица бойынша оқулық болды.

Бұл мақаланы оқығаныңыз үшін рахмет. келесі мақалада кездескенше.

Ұсынылған: