- Необходими компоненти
- Работа на P10 LED матричен модул
- Електрическа схема
- Програмиране на P10 LED модул с Arduino
Дисплейната реклама играе много важна роля в маркетинга и има няколко метода като вестници, плакати, светещи табели и др., Но в днешно време цифровите LED дисплейни табла стават популярни поради своята надеждност и предимства. Въпреки че са малко скъпи, те все пак са издръжливи и могат да се персонализират, като рекламният текст може лесно да се променя, когато е необходимо, и те също могат да се използват като табло за цифрово съобщение на всяко обществено място. Преди използвахме 8x8 LED матрица с много дъски, за да контролираме текста, показан върху нея, днес ще използваме дисплея P10 с Arduino.
В този урок ще използваме 32x16 LED матричен дисплеен модул, който е известен също като P10 LED Display Module, за да покажем превъртащ се текст с помощта на Arduino UNO. Модулите P10 могат да бъдат каскадни за изграждане на всякакъв размер на рекламната дъска.
Необходими компоненти
- Arduino UNO-1
- 32 * 16 P10 LED дисплей модул-1
- 16-пинов FRC конектор-1
- 5V DC, 3 AMP SMPS
- Съединители
Работа на P10 LED матричен модул
А P10 LED дисплей модул е най-подходящ за проектиране на всякакъв размер на вътрешния или външния борд LED дисплей. Този панел има общо 512 светодиода с висока яркост, монтирани върху пластмасов корпус, проектирани за най-добри резултати на дисплея. Всеки брой такива панели могат да бъдат комбинирани във всякакви редови и колонови структури, за да се проектира атрактивна LED табела.
Размерът на модула 32 * 16 означава, че има 32 светодиода във всеки ред и 16 светодиода във всяка колона. Така че във всеки модул има общо 512 броя светодиоди.
Характеристики на P10 LED матричен модул:
- Яркост: 3500-4500 нита
- Максимална консумация на енергия: 20W
- Входно напрежение: DC 5V
- IP65 Водоустойчив
- 1W конфигурация на пиксела
- Висок ъгъл на гледане
- Високо съотношение на контраста
ПИН описание на дисплейния модул P10:
- Активиране: Този щифт се използва за управление на яркостта на LED панела, като му подава PWM импулс.
- A, B: Те се наричат мултиплексни щифтове за избор. Те вземат цифров вход, за да изберат всякакви мултиплексни редове.
- Часовник за смяна (CLK), Часовник за съхранение (SCLK) и Данни: Това са нормалните щифтове за управление на регистъра на смяната. Тук се използва регистър за смяна 74HC595.
Електрическа схема
Пълната електрическа схема за модул P10 с Arduino е дадена по-долу:
Дисплейните модули Arduino UNO и P10 са свързани помежду си, както е показано по-долу:
P10 LED модул |
Arduino UNO |
АКТИВИРАНЕ |
9 |
A |
6 |
Б. |
7 |
CLK |
13 |
SCLK |
8 |
ДАННИ |
11. |
GND |
GND |
Забележка: Свържете отделно захранващия терминал на модула P10 към 5V DC SMPS. Препоръчително е да свържете 5V, 3 Amp DC захранване към единица P10 LED модул. Ако планирате да свържете повече номера на модула, увеличете съответно вашия SMPS рейтинг.
Програмиране на P10 LED модул с Arduino
След успешното завършване на хардуерната настройка, сега е време да програмирате Arduino. Пълният код за този 10 Led Display Arduino заедно с видеото е даден в края на този урок. Поетапното описание на кода е дадено по-долу.
На първо място, включете всички зависими библиотеки в програмата. Тук използваме библиотека “DMD.h” за операции с P10, изтеглете тази библиотека от тук и я инсталирайте в Arduino IDE. След това включете библиотеката за “ TimerOne.h ”, която ще се използва за задачи по прекъсване. Тази библиотека може да бъде изтеглена от тук.
След това включете цялата необходима библиотека с шрифтове, в нашия случай използваме „Arial Black font“ за дисплея.
#include
В следващата стъпка дефинирайте броя на редовете и колоните за LED дисплея. В нашия случай използваме само един модул, така че ROW стойността и COLUMN стойността ще бъдат 1. След това дефинирайте името на шрифта - Arial_Black_16 за превъртане на текст на таблото.
#define ROW 1 #define COLUMN 1 #define FONT Arial_Black_16 DMD led_module (ROW, COLUMN);
Функция scan_module (), която проверява за входящи данни от страна на Arduino през терминалите SPI. Ако отговорът е да, тогава той ще задейства щифт за прекъсване за извършване на определени събития.
void scan_module () {led_module.scanDisplayBySPI (); }
Вътре настройка () , инициализира таймер и приложете на прекъсване на функция scan_module . Функция clearScreen (true) се използва за настройка на всички пиксели първоначално изключени за изчистване на платката на дисплея.
void setup () {Timer1.initialize (2000); Timer1.attachInterrupt (scan_module); led_module.clearScreen (вярно); }
След това, за да покажете низ в модула, изберете шрифта, като използвате функцията selectFont () и отпечатайте съобщение на низа „ Добре дошли в Circuit Digest “ на дисплея, използвайки функцията drawMarquee ().
led_module.selectFont (FONT); led_module.drawMarquee ("Добре дошли в Circuit Digest", 25, (32 * ROW), 0);
И накрая, за да превъртите текста на платката с LED дисплей, преместете цялото съобщение от посоки отдясно наляво, като използвате определен период от време.
дълъг старт = милис (); дълго време = начало; булев флаг = false; while (! flag) {if ((timming + 20) <millis ()) {flag = led_module.stepMarquee (-1, 0); тайминг = милис (); }}
Така че по този начин можете да направите Скролираща текстова табела, използвайки Arduino и LED матрица.
Пълният код и демонстрационното видео са дадени по-долу.