Az Arduino Uno R4 WiFi LED-mátrixának beépített kijelzője számtalan kreatív lehetőséget rejt magában, amelyek könnyedén megvalósíthatók akár kezdőként is. Legyen szó időzítőről, stopperóráról vagy hőmérséklet-kijelzésről, a mátrix segítségével látványos és hasznos projekteket hozhatunk létre, amelyek azonnali visszajelzést nyújtanak a felhasználónak. Az alábbi cikk részletesen bemutatja, hogyan készíthetünk egyszerű, de mégis praktikus megoldásokat, amelyeket a hétköznapi életben is alkalmazhatunk.
A cikk során megismerhetjük, miként állíthatunk be egy stopperórát vagy visszaszámlálót a mátrix kijelzőjén, illetve hogyan mérhetjük és jeleníthetjük meg az Arduino R4 beépített hőmérőjének adatait. A LED-mátrix sokoldalúsága nemcsak látványos megoldásokat tesz lehetővé, hanem rendkívül jól használható interaktív funkciókhoz, amelyekkel mindennapi projektekhez is könnyedén alkalmazkodik.
Bevezetés az Arduino UNO R4 WiFi LED-mátrix használatába
Mielőtt belevágnánk LED-mátrix kijelző bemutatásába – az UNO R4 alaplapot telepíteni szükséges. Ennek leírása a →Arduino telepítése II. – Bővített processzortámogatás oldalon található az Arduino 1.x (Arduino 1.6.4 utáni) keretrendszerekhez.
Az Arduino világában az R4 WiFi modell a beépített LED-mátrix révén egy újabb mérföldkő az otthoni elektronikai és programozási projektek megvalósításában. A LED-mátrix olyan vizuális interfészként szolgál, amely a klasszikus hét szegmenses kijelzőknél jóval több szabadságot ad a kreatív megjelenítési lehetőségek kialakítására. Mindezek révén az R4 WiFi ideális választás azoknak, akik a valós idejű visszajelzések és dinamikus adatok kijelzését szeretnék egyszerűen és vizuálisan megjeleníteni egy robusztus és intuitív rendszer segítségével.
A következő bekezdésekben a LED-mátrix működési elvét, előnyeit és sokoldalú felhasználási lehetőségei kerülnek bemutatásra. A cél, hogy minden szinten részletes betekintés készüljön az Arduino R4 WiFi LED-mátrix potenciáljába, ezzel inspirálva a kezdő és haladó felhasználókat is arra, hogy saját ötleteiket megvalósítsák ezzel az eszközzel.
Szükséges áramkörök és kiegészítők
LED-mátrix kijelző
Miért fontos a beépített LED-mátrix?
A LED-mátrix fő vonzereje az, hogy olyan kijelzőként funkcionál, amely sokkal többet nyújt egy hagyományos LED-es visszajelzőnél. A 8×12-es mátrix 96 egyedi LED-ből áll, és pixel-szerű vezérlése lehetővé teszi bármilyen minta, szöveg vagy egyszerű grafika megjelenítését. Az ilyen típusú kijelzők kiváló választást jelentenek, ha valós idejű információk megjelenítése a cél, mivel gyorsan, vizuálisan értelmezhető formában adják vissza az adatokat.
A LED-mátrix különösen alkalmas egyszerű szövegek görgetésére (például egy értesítési vagy információs szöveg kijelzése), de kreatívabb alkalmazások esetén akár ikonok vagy egyszerű animációk megjelenítésére is felhasználható. Ily módon számos projekthez ideális: gondoljunk egy időjárás-jelző állomásra, ahol a hőmérsékletet és páratartalmat kijelzőn követhetjük, vagy egy konyhai időzítőre, amely a mátrixon keresztül jeleníti meg a visszaszámlálást.
LED-mátrix struktúrájának és működésének elemzése
A LED-mátrix szerkezete során minden LED egy-egy „pixelként” működik, amelynek külön-külön állapota vezérelhető, azaz bekapcsolható és kikapcsolható. Mivel a mátrix 8 sorból és 12 oszlopból áll, az egyes LED-ek helyzetét koordináta-rendszerben adhatjuk meg. A sorokat és oszlopokat külön indexekkel lehet megadni, és ez teszi lehetővé a mátrixban az egyes LED-ek egyedi kezelését. A mátrix vezérlése során a programozási nyelvekben szokásos módon a számozás 0-tól kezdődik, tehát az első sor és oszlop indexe 0.
Például a bal felső sarokban található LED pozíciója a [0,0]
koordinátával jelölhető, míg a jobb alsó LED pozíciója a [7,11]
koordinátával érhető el. Ez a fajta koordináta rendszer biztosítja, hogy pontosan meg tudjuk határozni, melyik LED kapcsolódjon be és ki egy adott minta kialakításához. Ha például egy egyszerű átlós vonalat szeretnénk kirajzolni, akkor ehhez csak annyi szükséges, hogy az egymást követő sorok és oszlopok azonos indexű LED-jeit kapcsoljuk be.
A mátrix tehát egy olyan kijelző, amely rendkívül precíz vezérlést tesz lehetővé, ugyanakkor a programozás egyszerű alapelvei révén gyorsan megtanulható és könnyen alkalmazható, akár a kezdők számára is.
A LED-mátrix sokoldalúsága és gyakorlati előnyei
A LED-mátrix egyedisége abban rejlik, hogy dinamikusan képes kezelni az információkat. Ez a képesség lehetővé teszi, hogy olyan projekteket hozzunk létre, amelyekben az adatok gyors megjelenítése és frissítése kulcsfontosságú. Gondoljunk egy egyszerű hőmérséklet-kijelzőre: a hőmérséklet értéke akár valós időben is megjeleníthető, így mindig naprakész információt kapunk. Másik példaként említhető egy szövegkijelző, amely értesítéseket vagy fontos információkat jelenít meg, és szükség esetén egyszerűen átszerkeszthető vagy frissíthető a tartalma.
A mátrix felhasználási területe azonban itt nem áll meg. Az olyan alkalmazások, mint a viselhető elektronikai eszközök vagy a különféle szenzoradatokat megjelenítő kijelzők mind a mátrix sokoldalúságát használják ki. Az egyszerű vezérlési lehetőségek, mint a LED-ek állapotának változtatása, valamint a bonyolultabb parancsok, mint a szöveg görgetése, lehetővé teszik, hogy olyan megoldásokat hozzunk létre, amelyek akár professzionális projektek részévé is válhatnak.
A LED-mátrix az Arduino rendszerrel kombinálva egy olyan eszköztárat biztosít, amely nemcsak a vizualitásra helyezi a hangsúlyt, hanem a teljes funkcionalitást nyújtja egy projekt valós idejű monitorozásához, értelmezéséhez és interaktivitásának fokozásához.
A LED-mátrix használatáról és az Arduino Uno R4 WiFi részletesebb technikai adatairól bővebben olvashatunk a hivatalos →Arduino dokumentációban.
A LED-mátrix programozásának alapjai
A LED-mátrix vezérlésének megkezdéséhez elengedhetetlen, hogy az Arduino rendszerét megfelelően konfiguráljuk a mátrix működéséhez. Ez a lépés alapvető, hiszen a megfelelő könyvtárak és kódstruktúrák nélkül a mátrix nem fog megfelelően működni. Az alábbiakban részletesen bemutatjuk, hogyan érhetjük el, hogy a mátrixot teljes körűen, hatékonyan és rugalmasan vezérelhessük.
Könyvtárak betöltése és konfigurálása
Az Arduino rendszerek rugalmasságának egyik titka a könnyen elérhető könyvtárak széles tárháza, amelyek lehetővé teszik, hogy gyorsan és egyszerűen adjunk hozzá különböző funkciókat egy projekthez. A LED-mátrix megfelelő működtetéséhez két kulcsfontosságú könyvtár szükséges: a Arduino_LED_Matrix.h
és az ArduinoGraphics.h
könyvtárak.
A Arduino_LED_Matrix.h
könyvtár kifejezetten az UNO R4 WiFi LED-mátrix vezérléséhez készült, míg az ArduinoGraphics.h
könyvtár a grafikai elemek széles skáláját támogatja, többek között szövegek, egyszerű formák és animációk megjelenítését. Ezek a könyvtárak jelentősen megkönnyítik a mátrix programozását, mivel számos előre definiált funkciót biztosítanak, így a komplexebb programozási feladatok leegyszerűsödnek.
Fontos: Az ArduinoGraphics.h
állomány használatához az ArduinoGraphics eljárákönyvtárat telepíteni kell a Könyvtárkezelő segítségével:
A könyvtárak betöltéséhez a következő kódrészletet szükségesek:
1 2 | #include <Arduino_LED_Matrix.h> // A LED-mátrix vezérléséhez szükséges könyvtár #include <ArduinoGraphics.h> // Grafikai elemek megjelenítéséhez szükséges könyvtár |
Ez a két sor biztosítja, hogy minden olyan eszközhöz hozzáférjünk, ami a mátrix teljes körű használatához elengedhetetlen. Az Arduino IDE könyvtárkezelő rendszerében a fenti könyvtárak könnyen megtalálhatóak és telepíthetőek, így a kezdő és haladó felhasználók is gyorsan és egyszerűen hozzáférhetnek a szükséges eszközökhöz.
Tipp: Az egyszerűbb megvalósítások esetén az ArduinoGraphics nem szükséges.
A mátrix objektum létrehozása és inicializálása
Miután a szükséges könyvtárakat betöltöttük, következő lépésként létre kell hoznunk egy mátrix objektumot, amely lehetővé teszi, hogy a LED-eket egyedileg vezérelhessük. Az objektum létrehozásával különféle funkciókat használhatunk a mátrixon, például LED-ek be- és kikapcsolását, valamint szövegek vagy minták megjelenítését.
Az objektum létrehozása a következőképpen történik:
1 | ArduinoLedMatrix Matrix; |
Ez a sor létrehoz egy Matrix
nevű objektumot, amelyet a továbbiakban a mátrix vezérlésére használunk. Fontos megjegyezni, hogy a Matrix
objektum egyedi neve bármi lehet, de a programkódban következetesen ezzel a névvel kell majd hivatkoznunk rá! Az objektum létrehozása után elkezdhetjük a mátrix inicializálását és alapbeállításait.
A mátrix működésének megkezdése előtt szükséges az inicializálás. Ez általában a setup()
függvényben történik, ahol meghatározzuk a mátrix működéséhez szükséges beállításokat:
1 2 3 | void setup() { Matrix.begin(); // Mátrix inicializálása } |
A Matrix.begin()
parancs magát a mátrixot inicializálja, biztosítva, hogy készen álljon a LED-ek vezérlésére. A setup()
függvényben minden egyéb inicializálási utasítás is megjelenik – például alapértelmezett ki-/bemenetek beállításai, sorosport kezelése, IIC busz (wire) beállításai, stb.
Minták létrehozása a mátrixon
Miután beállítottuk a mátrixot és az alapvető konfigurációkat, elkezdhetjük a minták létrehozását. A LED-mátrix különlegessége, hogy egy kétdimenziós LED mátrixon egyenként vezérelhetjük a LED-eket, így bármilyen egyedi mintát, formát vagy alakzatot megjeleníthetünk.
Kétdimenziós tömb használata a LED-ek vezérléséhez
A LED-ek egyenkénti vezérléséhez kétdimenziós tömböt használunk, amely sor- és oszlopindexek alapján adja meg a LED-ek állapotát. A kétdimenziós tömb használatával az egyes LED-eket be- vagy kikapcsolhatjuk, ezzel különféle mintákat hozhatunk létre a mátrixon.
A következő példa egy 8 soros és 12 oszlopos mátrixot mutat be, amelyben néhány LED világít, míg mások kikapcsolt állapotban vannak:
1 2 3 4 5 6 7 8 9 10 | byte frame[8][12] = { { 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0 }, { 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0 }, { 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 }, { 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0 }, { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0 }, { 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }; |
Ebben a példában az „1” értékek a világító LED-eket jelölik, míg a „0” értékek a kikapcsolt LED-eket. A mátrixban elhelyezett „1” és „0” értékek lehetővé teszik, hogy komplex mintákat hozzunk létre anélkül, hogy minden egyes LED-et külön kellene megcímezni.
Minták megjelenítése a mátrixon
A minták megjelenítése a Matrix.renderBitmap()
függvénnyel történik, amely az előre definiált kétdimenziós tömb alapján világítja meg a megfelelő LED-eket. A függvény két paramétert fogad el: az első maga a tömb, amely az egyes LED-ek állapotát tartalmazza, a második és harmadik pedig a mátrix sorainak és oszlopainak száma.
A következő kódrészlet segítségével frissíthetjük a mátrixot és megjeleníthetjük a kívánt mintát:
1 | Matrix.renderBitmap(frame, 8, 12); |
Ez a parancs minden egyes futtatáskor frissíti a mátrix kijelzőjét a frame
tömb alapján. Ez azt jelenti, hogy ha a frame
tömb értékeit módosítjuk, az új minta automatikusan megjelenik a mátrixon. A renderBitmap()
függvény rendkívül rugalmas eszköz, amellyel bármilyen egyedi alakzat, minta vagy akár karakter ábrázolható.
A beépített ikonok használata
A LED-mátrix különleges funkcióinak részeként az Arduino Uno R4 WiFi-hez elérhető beépített ikonok széles választéka áll rendelkezésre, amelyek egyszerűen megjeleníthetők a mátrixon a loadFrame()
parancs segítségével. Ezek az ikonok különféle projektekhez hasznosak lehetnek, és lehetővé teszik a gyors és látványos vizuális visszajelzést a felhasználók számára. A mintakódok az Arduino Uno R4 1.2.2 verziójából lett meghivatkozva és elemezve. Az ettől eltérő kiadásokban eltérő lehet az ikonsor illetve a megjelenítés!
loadFrame()
parancs
A loadFrame()
parancs a mátrix előre definiált ikonjainak megjelenítésére szolgál. A parancs a gallery.h
fájlból hívja meg az ikonokat, és egyetlen függvényhívással a mátrix kijelzőjén megjelenik az adott szimbólum. A loadFrame()
parancs segítségével az ikonok gyorsan váltogathatók vagy frissíthetők, ami különösen hasznos, ha egy projekt során változatos vizuális információkat szeretnénk megjeleníteni. Az ikonok mindegyike egy azonosítóval rendelkezik, amely a LEDMATRIX_
előtaggal kezdődik, és ezzel az előtaggal hivatkozunk rájuk a loadFrame()
használatakor.
Példa egy ikon megjelenítésére:
1 | matrix.loadFrame(LEDMATRIX_HEART_BIG);<code class="lang-cpp"> |
Ebben a példában a LEDMATRIX_HEART_BIG
szimbólum jelenik meg a LED-mátrixon, egy nagy szív ikon formájában. A függvény automatikusan alkalmazza a kijelzőre az adott mintát, és nincs szükség külön LED-vezérlésre vagy egyedi kódolásra.
Az összes előre meghatározott ikon a gallery.h
fájlban található. Ezek az alábbiak:
- LEDMATRIX_BLUETOOTH – Bluetooth szimbólum
- LEDMATRIX_BOOTLOADER_ON – Bootloader állapotjelző ikon
- LEDMATRIX_CHIP – Chip ikon, amely hardverkomponensekhez jól alkalmazható
- LEDMATRIX_CLOUD_WIFI – Felhő és WiFi szimbólum hálózati kapcsolatokhoz
- LEDMATRIX_DANGER – Veszélyjelző ikon figyelmeztetésekhez
- LEDMATRIX_EMOJI_BASIC – Alapértelmezett emoji
- LEDMATRIX_EMOJI_HAPPY – Vidám emoji, mosolygó arc
- LEDMATRIX_EMOJI_SAD – Szomorú emoji, szomorú arc
- LEDMATRIX_HEART_BIG – Nagy szív ikon
- LEDMATRIX_HEART_SMALL – Kis szív ikon
- LEDMATRIX_LIKE – Tetszik (like) ikon
- LEDMATRIX_MUSIC_NOTE – Zenei hangjegy szimbólum
- LEDMATRIX_RESISTOR – Ellenállás szimbólum elektronikai projektekhez
- LEDMATRIX_UNO – Arduino Uno logó, amely a márka szimbólumaként szolgál
Az alábbi példa minden ikont egymás után jelenít meg a LED-mátrixon, 500 ms késleltetéssel az egyes ikonok között:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | #include "Arduino_LED_Matrix.h" // LED-mátrix könyvtár betöltése #include "gallery.h" // Az összes előre definiált ikon beillesztése ArduinoLEDMatrix matrix; // LED-mátrix objektum létrehozása void setup() { Serial.begin(115200); // Soros kommunikáció indítása matrix.begin(); // Mátrix inicializálása Serial.println("Playing all predefined LED matrix frames..."); } void loop() { // Előre meghatározott ikonok megjelenítése a mátrixon, 500 ms késleltetéssel minden ikon között matrix.loadFrame(LEDMATRIX_BLUETOOTH); delay(500); matrix.loadFrame(LEDMATRIX_BOOTLOADER_ON); delay(500); matrix.loadFrame(LEDMATRIX_CHIP); delay(500); matrix.loadFrame(LEDMATRIX_CLOUD_WIFI); delay(500); matrix.loadFrame(LEDMATRIX_DANGER); delay(500); matrix.loadFrame(LEDMATRIX_EMOJI_BASIC); delay(500); matrix.loadFrame(LEDMATRIX_EMOJI_HAPPY); delay(500); matrix.loadFrame(LEDMATRIX_EMOJI_SAD); delay(500); matrix.loadFrame(LEDMATRIX_HEART_BIG); delay(500); matrix.loadFrame(LEDMATRIX_HEART_SMALL); delay(500); matrix.loadFrame(LEDMATRIX_LIKE); delay(500); matrix.loadFrame(LEDMATRIX_MUSIC_NOTE); delay(500); matrix.loadFrame(LEDMATRIX_RESISTOR); delay(500); matrix.loadFrame(LEDMATRIX_UNO); delay(500); // A mátrix törlése minden ikon megjelenítése után matrix.clear(); delay(1000); Serial.println(millis()); // Időbélyeg kiíratása } |
A loadFrame()
függvény rugalmasságának köszönhetően az ikonok gyorsan és egyszerűen megjeleníthetők a mátrixon. Ez ideális például állapotjelzésekhez (Bluetooth, WiFi kapcsolat), figyelmeztetésekhez (veszélyjelző ikon), vagy akár érzelmek kifejezésére interaktív projektekben (vidám és szomorú emojik). Az előre definiált ikonok megjelenítésével nem szükséges minden egyes LED-et egyenként kezelni, így egyszerűsítve a kódot és felgyorsítva a vizuális megjelenítést.
Szövegmegjelenítés a mátrixkijelzőn
A LED-mátrix másik érdekes felhasználási módja a szövegmegjelenítés, különösen görgetett szövegek esetén. Az Arduino UNO R4 WiFi LED-mátrix lehetőséget nyújt arra, hogy egyszerű szövegeket jelenítsünk meg, amelyeket szükség esetén görgethetünk is a mátrix kijelzőjén.
Fontos: A szöveg megjelenítéséhez a ArduinoGraphics
library szükséges! Az alaplap telepítésekor nem települ fel automatikusan!
Szövegmegjelenítés beállítása
A szövegmegjelenítés beállítása érdekében először létre kell hoznunk egy karakterláncot (String
), amely az üzenetet tartalmazza.
1 2 3 4 5 6 7 | String message = " TavIR "; Matrix.beginDraw(); Matrix.textFont(FONT_5x7); // Fontméret Matrix.beginText(0, 1, 255, 0, 0); // Kezdő pozíció és szín Matrix.print(message); Matrix.endText(); Matrix.endDraw(); |
A textFont(FONT_5x7)
parancs beállítja a szöveg méretét, amely itt egy 5×7-es karakterkészletet használ. Ez biztosítja, hogy a szöveg megfelelően olvasható legyen a 8 soros mátrixon. Az eljáráskönyvtár tartalmazza a 4×6 pixeles betűkészltetet is – ezt a matrix.textFont(FONT_4x6)
utasítással lehet kiválasztani.
A beginText(0, 1, 255, 0, 0)
parancs határozza meg a szöveg kezdőpozícióját és színét, ahol a (0,1) koordinátapár az első karakter pozícióját jelöli. A 255, 0, 0
RGB-kód piros színt határoz meg, amelyet a mátrix vörös LED-jei megjelenítenek. Tipp: az RGB paraméter esetén ha az első (piros) értéke 0 – akkor nem ad képet, 1…255 – teljes fényerővel működik. A fennmaradó két paraméter a kijelzésre hatástalan.
Szöveg görgetése
A szöveg gördítése különösen hasznos lehet, ha hosszabb üzeneteket vagy adatokat szeretnénk megjeleníteni. A görgetés beállításához szükséges parancsok:
1 2 3 4 | matrix.textScrollSpeed(100); matrix.println(text); matrix.endText(SCROLL_LEFT); matrix.endDraw(); |
A textScrollSpeed()
függvény a görgetés sebességét határozza meg, amely itt 100-ra van állítva. Az érték növelésével a görgetés lassabb lesz, míg csökkentésével gyorsabbá tehetjük a szöveg áramlását. Az endText(SCROLL_LEFT)
parancs határozza meg a görgetési irányt, amely az üzenetet balról jobbra mozgatja. Az endText(SCROLL_RIGHT)
parancs pedig jobbról balra.
Ezzel a beállítással a mátrix szinte bármilyen adatot képes megjeleníteni dinamikus formában, legyen szó hőmérsékletről, értesítésekről vagy egyszerű üzenetekről. Fontos! Az ékezetes karakterek nincsnek a betűkészletbe implementálva!
Haladó LED-mátrix technikák: beépített animációk és megjelenítésük
Az Arduino Uno R4 WiFi LED-mátrixának egyik kiemelkedő tulajdonsága, hogy számos beépített animációval rendelkezik, amelyek vizuálisan gazdagítják projektjeinket. Ezek az előre meghatározott animációk egyszerűen használhatók, és nagy segítséget nyújtanak, ha gyorsan szeretnénk interaktív visszajelzést biztosítani a felhasználóknak. Az animációk alkalmazásával különféle állapotokat, szimbólumokat vagy folyamatokat jeleníthetünk meg, és ehhez nincs szükség bonyolult programozásra vagy LED-ek egyedi vezérlésére.
A beépített animációk betöltéséhez és lejátszásához két fontos függvényt használunk: a loadSequence()
és a play()
függvényeket. A loadSequence()
funkció betölti az animációt a mátrixra, míg a play()
funkció automatikusan elindítja a lejátszást. A play()
függvény egyik különlegessége, hogy lehetőségünk van ciklikus lejátszást is beállítani, így az animációk addig ismétlődnek, amíg a kód ezt nem tiltja. Az egyes animációk között szünetek beiktatásával a megjelenítés harmonikusan illeszkedik bármilyen alkalmazási környezetbe.
Az alábbi kódrészlet bemutatja, hogyan játszhatjuk le az összes beépített animációt egymás után, egy 2 másodperces szünetet tartva a teljes lejátszási ciklusok között:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | #include "Arduino_LED_Matrix.h" // LED Matrix könyvtár // LED mátrix példányosítása ArduinoLEDMatrix matrix; void setup() { matrix.begin(); // Mátrix inicializálása } void loop() { // Minden animáció lejátszása playAnimation(LEDMATRIX_ANIMATION_STARTUP); playAnimation(LEDMATRIX_ANIMATION_TETRIS_INTRO); playAnimation(LEDMATRIX_ANIMATION_ATMEGA); playAnimation(LEDMATRIX_ANIMATION_LED_BLINK_HORIZONTAL); playAnimation(LEDMATRIX_ANIMATION_LED_BLINK_VERTICAL); playAnimation(LEDMATRIX_ANIMATION_ARROWS_COMPASS); playAnimation(LEDMATRIX_ANIMATION_AUDIO_WAVEFORM); playAnimation(LEDMATRIX_ANIMATION_BATTERY); playAnimation(LEDMATRIX_ANIMATION_BOUNCING_BALL); playAnimation(LEDMATRIX_ANIMATION_BUG); playAnimation(LEDMATRIX_ANIMATION_CHECK); playAnimation(LEDMATRIX_ANIMATION_CLOUD); playAnimation(LEDMATRIX_ANIMATION_DOWNLOAD); playAnimation(LEDMATRIX_ANIMATION_DVD); playAnimation(LEDMATRIX_ANIMATION_HEARTBEAT_LINE); playAnimation(LEDMATRIX_ANIMATION_HEARTBEAT); playAnimation(LEDMATRIX_ANIMATION_INFINITY_LOOP_LOADER); playAnimation(LEDMATRIX_ANIMATION_LOAD_CLOCK); playAnimation(LEDMATRIX_ANIMATION_LOAD); playAnimation(LEDMATRIX_ANIMATION_LOCK); playAnimation(LEDMATRIX_ANIMATION_NOTIFICATION); playAnimation(LEDMATRIX_ANIMATION_OPENSOURCE); playAnimation(LEDMATRIX_ANIMATION_SPINNING_COIN); playAnimation(LEDMATRIX_ANIMATION_TETRIS); playAnimation(LEDMATRIX_ANIMATION_WIFI_SEARCH); playAnimation(LEDMATRIX_ANIMATION_HOURGLASS); delay(2000); // Várakozás az újrakezdés előtt } // Animáció lejátszása void playAnimation(const uint32_t animation[][4]) { matrix.loadSequence(animation); // Animáció betöltése matrix.play(true); // Automatikus lejátszás delay(3000); // 3 másodperc szünet az animáció végén } |
Az Arduino Uno R4 LED-mátrix kijelzőjéhez előre meghatározott animációk állnak rendelkezésre, amelyeket a gallery.h
fájlban előre definiálásra kerültek. A beépített animációk és lehetőségei:
- LEDMATRIX_ANIMATION_STARTUP – Az Arduino indulásakor vagy újraindításakor használható animáció, amely vizuálisan jelzi a rendszer betöltését.
- LEDMATRIX_ANIMATION_TETRIS_INTRO – A klasszikus Tetris játék bevezetője; tökéletes retró stílusú, játékos hatásokhoz.
- LEDMATRIX_ANIMATION_ATMEGA – Az ATMEGA chipet szimbolizáló animáció, amely hardveres állapotjelzésre, hibajelzésre is alkalmazható.
- LEDMATRIX_ANIMATION_LED_BLINK_HORIZONTAL – Vízszintes villogású animáció; alkalmas figyelmeztetések vagy vizuális effektusok megjelenítésére.
- LEDMATRIX_ANIMATION_LED_BLINK_VERTICAL – Függőleges villogó LED-animáció, szintén figyelemfelkeltésre.
- LEDMATRIX_ANIMATION_ARROWS_COMPASS – Iránytűszerű nyilak mozgása, amely irányok vagy útmutatások jelzésére használható.
- LEDMATRIX_ANIMATION_AUDIO_WAVEFORM – Hullámforma megjelenítése, amely hang vagy zaj vizualizálására ideális.
- LEDMATRIX_ANIMATION_BATTERY – Akkumulátor töltöttségi szintet szimbolizáló animáció; kiváló energiagazdálkodás vagy figyelmeztetés megjelenítésére.
- LEDMATRIX_ANIMATION_BOUNCING_BALL – Mozgó labda animáció, amely egyszerű és játékos mozgást biztosít.
- LEDMATRIX_ANIMATION_BUG – Bogár animáció, játékos és interaktív megjelenítéshez.
- LEDMATRIX_ANIMATION_CHECK – Pipa szimbólum; sikeres műveletek vagy jóváhagyások vizuális megerősítésére használható.
- LEDMATRIX_ANIMATION_CLOUD – Felhő animáció, amely hálózati kapcsolódásra vagy adatátvitel jelzésére használható.
- LEDMATRIX_ANIMATION_DOWNLOAD – Letöltés szimbólum; adatfeldolgozás vagy fájlkezelés folyamatának kijelzésére.
- LEDMATRIX_ANIMATION_DVD – Az ikonikus DVD visszapattanó logó.
- LEDMATRIX_ANIMATION_HEARTBEAT_LINE – Szívverés vonal animáció, orvosi vagy érzelmi projektekben hasznos.
- LEDMATRIX_ANIMATION_HEARTBEAT – Lüktető szív animáció, romantikus üzenetek kivetítésére.
- LEDMATRIX_ANIMATION_INFINITY_LOOP_LOADER – Végtelenített körforgó betöltési animáció, folyamatok állapotjelzésére.
- LEDMATRIX_ANIMATION_LOAD_CLOCK – Óraalapú töltési folyamat kijelzése, időzítési feladatokhoz.
- LEDMATRIX_ANIMATION_LOAD – Általános betöltési animáció; adatfeldolgozás és rendszerfolyamatok jelzésére.
- LEDMATRIX_ANIMATION_LOCK – Zár szimbólum, biztonsági alkalmazásokhoz és titkosításhoz.
- LEDMATRIX_ANIMATION_NOTIFICATION – Értesítési animáció, figyelmeztetések, üzenetek megjelenítésére.
- LEDMATRIX_ANIMATION_OPENSOURCE – Nyílt forráskód szimbólum, közösségi projekteknél használható.
- LEDMATRIX_ANIMATION_SPINNING_COIN – Forgó érme animáció, amely szerencsejáték vagy interaktív megjelenítésekhez ideális.
- LEDMATRIX_ANIMATION_TETRIS – Teljes Tetris játék animáció; nosztalgikus, játékos hatás.
- LEDMATRIX_ANIMATION_WIFI_SEARCH – WiFi keresés animáció, hálózati csatlakozások keresésére.
- LEDMATRIX_ANIMATION_HOURGLASS – Homokóra animáció, amely időzítések és folyamatok szemléltetésére használható.
Az animációs program részletezése
A fenti kód az összes beépített animációt automatikusan lejátssza egymás után. Az animációk közötti várakozást a delay(3000);
sor biztosítja, amely 2 másodperc szünetet tart a ciklusok között. Az egyes animációkat a playAnimation()
függvény hívja meg, amely először betölti a szükséges animációt, majd automatikusan lejátssza azt a LED-mátrixon.
Az animációk használata különösen hasznos lehet olyan alkalmazásokban, ahol a vizuális visszajelzés kritikus. Például egy WiFi-keresés során a LEDMATRIX_ANIMATION_WIFI_SEARCH animáció alkalmazható a felhasználó informálására, vagy a LEDMATRIX_ANIMATION_NOTIFICATION értesítési animációval jelezhetjük a beérkező üzeneteket.
Tipp: Az Arduino Uno R4 WiFi LED-mátrixa remek lehetőséget biztosít az animációk és vizuális visszajelzések felhasználására, amelyekkel projektjeink még felhasználóbarátabbak és látványosabbak lehetnek. Az animációk kombinálásával és a mátrix adta lehetőségek kihasználásával kreatív megoldásokat alkothatunk, amelyek figyelemfelkeltő és szórakoztató megjelenítést biztosítanak bármely Arduino-projekt számára.
Összefoglalásul
Összefoglalva, az Arduino Uno R4 WiFi LED-mátrix kijelzője számtalan lehetőséget kínál a kreatív megjelenítéshez és interaktív megoldásokhoz, legyen szó szövegek, ikonok vagy animációk megjelenítéséről. A LED-mátrix egyedisége a 8×12 LED-es elrendezésben rejlik, amely precíz vezérlést tesz lehetővé, így az egyes LED-ek könnyedén be- és kikapcsolhatók egyedi minták létrehozásához. Az egyszerű LED-kijelzőkön túllépve, az Uno R4 WiFi révén akár dinamikus, valós idejű információkat is megjeleníthetünk, ezzel látványos, funkcionális elemmé varázsolva projektjeinket.
A beépített ikonok és animációk révén a LED-mátrix nemcsak praktikus információmegjelenítést biztosít, hanem lehetőséget nyújt figyelemfelkeltő és szórakoztató vizuális hatások létrehozására is. Legyen szó egy időzítőről, visszaszámlálóról vagy akár egyszerű hőmérséklet-kijelzésről, a mátrix megoldásai jól illeszkednek az otthoni és hobbiprojektekhez. Az Arduino Uno R4 WiFi LED-mátrix kijelzője tehát sokoldalú, könnyen programozható eszközként remek választás kezdők és haladók számára egyaránt.
Források
– Using the Arduino UNO R4 WiFi LED Matrix [Arduino.cc]
– ArduinoGraphics [Arduino.cc]
– Arduino Telepítés II. – Bővített Processzortámogatás [TavIR]