Скочи на садржај

Израда једноставне рекламе помоћу Ардуина

Почело је лето и кријући се од врућина стиже нови видео туторијал. Пројекат израде једноставне рекламе коришћењем интегрисаног кола MAX7219 – драјвера ЛЕД матрице, модула ЛЕД матрице и Ардуина. Овај задатак је могуће на једноставан начин решити коришћењем екстерних библиотека за рад са МАX7219 и ЛЕД матрицом у неколико редова кода. Као резултат добија се атрактивна анимација текста. Могуће је повезати и више модула ЛЕД матрице, комплетни утисак би био бољи.

Електрична шема

Шема повезивања Ардуина, интегрисаног кола MAX7219 и ЛЕД матрице

Потребне компоненте

  • Ардуино УНО (или сличан микроконтролер)
  • ЛЕД матрица
  • Интегрисано коло MAX7219.

Видео туторијал

Програм – скица

#include <MD_Parola.h>
#include <MD_MAX72xx.h>
#include <SPI.h>

#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 1

#define CLK_PIN   13
#define DATA_PIN  11
#define CS_PIN    8

MD_Parola myDisplay = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);

void setup() {
  myDisplay.begin();
  myDisplay.setIntensity(0);
  myDisplay.displayClear();
  myDisplay.displayScroll("< NENADSKY.COM >", PA_CENTER, PA_SCROLL_LEFT, 200);
}

void loop() {
  if (myDisplay.displayAnimate()) {
    myDisplay.displayReset();
  }
}

Објашњење рада програма (скице)

Одељак дефинисања променљивих и константи

Најпре је потребно укључити у програм три библиотеке, и то “MD_Parola”, “MD_MAX72xx” и “SPI” које омогућавају да се на лак начин програмира рад интегрисаног кола MAX7219 и самим тим ЛЕД матрице на којој ће се приказивати текст рекламе. Све библиотеке се у програм укључују коришћењем менаџера библиотека.

Ред “#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW” дефинише константу са именом “HARDWARE_TYPE” а чија је вредност хардверски модул ЛЕД матрице, за овај случај то је вредност MD_MAX72XX::PAROLA_HW. Ово зависи од самог модула зато је неопходно читати документацију.

Константа MAX_DEVICES садржи информацију о броју модула ЛЕД матрице који ће бити коришћени у пројекту. Вредност 1 сугерише да се ради о само једном модулу матрице.

Константе CLK_PIN, DATA_PIN и CS_PIN су константе са вредностима 13, 11 и 8. Оне представљају пинове Ардуина на које су повезани пинови CLK, DATA и CS пинови интегрисаног кола MAX7219.

За крај ове секције програма врши се дефинисање променљиве (објекта) која ће представљати модул ЛЕД матрице. Има 3 параметра, први је већ дефинисана константа којом саопштавамо програму са каквим физичким модулом се ради, други је пин Ардуина на који је повезан CS (Chip Select) пин ИК MAX7219 и као трећи параметар се наводи физички број модула ЛЕД матрица које се користе у колу (такође представљен константом).

Одељак конфигурације

myDisplay.begin(); – слично као и код ЛЦД дисплеја, „begin“ функција врши иницијализацију везе са модулом ЛЕД матрице.

myDisplay.setIntensity(0); – подешавање интензитета осветљења матрице (могуће вредности су између 0 и 15)

myDisplay.displayClear(); – брисање садржаја ЛЕД матрице

myDisplay.displayScroll(„< NENADSKY.COM >“, PA_CENTER, PA_SCROLL_LEFT, 200); – једноставно подешавање за почетак анимације померања текста. Први параметар је текст који се приказује на матрици; Други параметар је поравнање текста који се приказује (у овом случају се ради о поравнању по средини); Трећи параметар је ефекат који се додељује тексту (у овом случају је померање) и за крај брзина анимације померања (ради се о 200 милисекунди).

Неки од могућих параметара за други, односно трећи аргумент „displayScroll“ функције (напомена – није наведена потпуна листа анимација):


Р. бр.
#2 – поравнање#3 – анимација
1PA_LEFTPA_SCROLL_UP
2PA_CENTERPA_SCROLL_DOWN
3PA_RIGHTPA_SLICE
4/PA_SCROLL_LEFT
5/PA_SCROLL_RIGHT

Одељак петље

Одељак петље је најједноставнији и најкраћи део у програму. Овај „if“ блок омогућава глатко приказивање анимације (што се чешће позива, то је анимација боља). Функција „displayAnimate“ као повратну има логичку вредност „true“ оног тренутка када је анимација извршена. Уколико је завршено са анимацијом, позива се функција „displayReset“ која враћа програм на поновно извршење анимације текста.

Детаљнији опис коришћених библиотека!