- Adafruit 5X8 NeoPixel pajzs Arduino számára
- A kommunikációs folyamat megértése a Blynk App és az Arduino között
- Szükséges alkatrészek
- Adafruit RGB LED pajzs és Arduino - hardver csatlakozás
- A Blynk alkalmazás beállítása
- Arduino kód vezérlő Adafruit WS2812B RGB LED pajzs
- A kód feltöltése az Arduino Board-ra
Néhány év alatt az RGB LED-ek napról napra népszerűvé válnak gyönyörű színe, fényereje és csábító fényhatásai miatt. Ezért használják sok helyen dekorációs elemként, például otthoni vagy irodai helyiségek lehetnek. Használhatjuk az RGB lámpákat a konyhában és egy játékkonzolban is. Hangulatvilágítás szempontjából is remekek egy gyerek játszószobában vagy hálószobában. Korábban a WS2812B NeoPixel LED-eket és az ARM mikrokontrollert használtuk a Music Spectrum Visualizer felépítéséhez, ezért ellenőrizze, hogy érdekes-e Önnek.
Ezért ebben a projektben egy Neopixel alapú RGB LED mátrix pajzsot, az Arduino és a Blynk alkalmazást fogunk használni számos érdekes animációs effektus és szín előállításához, amelyeket a Blynk alkalmazással tudunk majd vezérelni. Tehát kezdjük !!!
Adafruit 5X8 NeoPixel pajzs Arduino számára
Az Arduino kompatibilis NeoPixel Shield negyven egyénileg címezhető RGB LED-et tartalmaz, mindegyikbe beépített WS2812b meghajtó van beépítve, amely 5 × 8-as mátrixban van elrendezve, hogy kialakítsa ezt a NeoPixel Shield-et. Több NeoPixel pajzs is csatlakoztatható egy nagyobb pajzs kialakításához, ha ez követelmény. Az RGB LED-ek vezérléséhez egyetlen Arduino tű szükséges, ezért ebben az oktatóanyagban úgy döntöttünk, hogy ehhez az Arduino 6-os tűjét használjuk.
Esetünkben a LED-ek táplálása az Arduino beépített 5 V-os tűjéből történik, ami elegendő ahhoz, hogy a „LED-ek egyharmadát” teljes fényerővel táplálja. Ha több LED-et kell táplálnia, akkor kivághatja a beépített nyomot, és egy külső 5 V-os tápfeszültséget használhat a pajzs áramellátására a külső 5 V-os terminál segítségével.
A kommunikációs folyamat megértése a Blynk App és az Arduino között
Az itt használt 8 * 5 RGB LED mátrix negyven külön címezhető RGB LED-del rendelkezik, amelyek a WS2812B illesztőprogramon alapulnak. 24 bites színvezérléssel és pixelenként 16,8 millió színnel rendelkezik. Az „Egy vezetékes vezérlés” módszertan segítségével vezérelhető. Ez azt jelenti, hogy a teljes LED-pixelt egyetlen vezérlőcsap segítségével vezérelhetjük. A LED-ekkel végzett munka közben átnéztem ezeknek a LED-eknek az adatlapját, ahol azt találtam, hogy az árnyékolás működési feszültségtartománya 4 V és 6 V között van, és az áramfogyasztás LED-enként 50 mA, 5 V-nál piros, zöld, és kék teljes fényerővel. Az Arduino alaphelyzetbe állításához fordított feszültség elleni védelem van a külső tápkábeleken és a Reset gomb a pajzson. Külső tápegységgel rendelkezik a LED-ek számára is, ha a belső áramkörön keresztül nem áll rendelkezésre elegendő energia.
Amint azt a fenti sematikus ábra mutatja, le kell töltenünk és telepítenünk kell a Blynk alkalmazástokostelefonunkon, ahol a paraméterek, például a szín, a fényerő szabályozható. A paraméterek beállítása után, ha bármilyen változás történik az alkalmazással, akkor a Blynk felhőhöz, ahol a számítógépünk is csatlakozik és készen áll a frissített adatok fogadására. Az Arduino Uno USB-kábelen keresztül nyitott kommunikációs porton keresztül csatlakozik számítógépünkhöz. Ezzel a kommunikációs porttal (COM port) az adatok cserélhetők a Blynk felhő és az Arduino UNO között. A PC állandó időközönként adatokat kér a Blynk felhőtől, és amikor frissített adatok érkeznek, továbbítja azokat az Arduino-nak, és olyan felhasználó által meghatározott döntéseket hoz, mint például az RGB által vezetett fényerő és a színek szabályozása. Az RGB LED-pajzs az Arduino LED-re kerül, és egyetlen adatcsapon keresztül csatlakozik a kommunikációhoz, alapértelmezés szerint az Arduino D6-os érintkezőjén keresztül.Az Arduino UNO-tól elküldött soros adatokat a Neopixel shiedhez küldik, amely ezt követően a LED-mátrixon tükröződik.
Szükséges alkatrészek
- Arduino UNO
- 8 * 5 RGB LED Matrix pajzs
- USB A / B kábel Arduino UNO-hoz
- Laptop / PC
Adafruit RGB LED pajzs és Arduino - hardver csatlakozás
A WS2812B Neopixel LED-eknek három érintkezõje van, az egyik az adatokra szolgál, a másik pedig az áramellátásra, de ez a sajátos Arduino pajzs nagyon egyszerûvé teszi a hardveres kapcsolatot, csak annyit kell tennünk, hogy a Neopixel LED mátrixot az Arduino UNO tetejére helyezzük. Esetünkben a LED az alapértelmezett Arduino 5V sínről táplálkozik. A Neopixel Shield elhelyezése után a beállítás az alábbiak szerint néz ki:
A Blynk alkalmazás beállítása
A Blynk egy olyan alkalmazás, amely képes futni Android és IOS eszközökön, hogy okostelefonjaink segítségével vezérelhessen minden IoT eszközt és készüléket. Először is egy grafikus felhasználói felületet (GUI) kell létrehozni az RGB LED mátrix vezérléséhez. Az alkalmazás az összes kiválasztott paramétert elküldi a grafikus felületről a Blynk Cloud felé. A vevő részben az Arduino-t soros kommunikációs kábelen keresztül csatlakoztatjuk a számítógéphez. Ezért a PC adatokat kér a Blynk felhőből, és ezeket az adatokat elküldi az Arduino-nak a szükséges feldolgozáshoz. Tehát kezdjük a Blynk alkalmazás beállításával.
A telepítés előtt töltse le a Blynk alkalmazást a Google Play áruházból (az IOS-felhasználók letölthetik az App Store-ból). A telepítés után regisztráljon e-mail azonosítójával és jelszavával.
Új projekt létrehozása:
A sikeres telepítés után nyissa meg az alkalmazást, és ott kapunk egy képernyőt egy opcióval „ Új projekt ”. Kattintson rá, és megjelenik egy új képernyő, ahol meg kell adnunk azokat a paramétereket, mint a Projekt neve, a Board és a kapcsolat típusa. Projektünkben válassza ki az eszközt „ Arduino UNO ” -ként, a csatlakozás típusát pedig „ USB ” -ként, majd kattintson a „ Create” gombra.
A Projekt sikeres létrehozása után hitelesített azonosítót kapunk ajánlott levélben. Mentse el a Hitelesítési azonosítót későbbi felhasználásra.
A grafikus felhasználói felület (GUI) létrehozása:
Nyissa meg a projektet Blynkben, kattintson a „+” jelre, ahol megkapjuk azokat a modulokat, amelyeket a projektünkben használhatunk. Esetünkben szükségünk van egy RGB színválasztóra, amely az alábbiak szerint „zeRGBa” néven szerepel.
A widgetek beállítása:
Miután áthúzta a kütyüket a projektünkhöz, most meg kell adnunk azokat a paramétereket, amelyek segítségével a színes RGB értékeket elküldik az Arduino UNO-nak.
Kattintson a ZeRGBa gombra, ekkor kapunk egy ZeRGBa beállítás nevű képernyőt . Ezután állítsa az Output opciót „ Merge ” -re, és állítsa a csapot „V2” -re, amely az alábbi képen látható.
Arduino kód vezérlő Adafruit WS2812B RGB LED pajzs
A hardveres kapcsolat befejezése után a kódot fel kell tölteni az Arduino-ra. A kód lépésről lépésre történő magyarázata az alábbiakban látható.
Először foglalja bele az összes szükséges könyvtárat. Nyissa meg az Arduino IDE alkalmazást, majd lépjen a Vázlat fülre, és kattintson a Könyvtár hozzáadása-> Könyvtárak kezelése lehetőségre . Ezután keresse meg a Blynk elemet a keresőmezőben, majd töltse le és telepítse az Arduino UNO Blynk csomagját.
Itt az „ Adafruit_NeoPixel.h ” könyvtárat használják az RGB LED-mátrix vezérléséhez. Felvételéhez letöltheti az Adafruit_NeoPixel könyvtárat a megadott linkről. Ha ezt megkapta, felveheti a ZIP-könyvtár belefoglalása opcióba.
#define BLYNK_PRINT DebugSerial #include #include
Ezután meghatározzuk a LED-ek számát, amely szükséges a LED-mátrixunkhoz, valamint meghatározzuk a pin-számot, amely a LED-paraméterek vezérlésére szolgál.
#define PIN 6 #define NUM_PIXELS 40
Ezután fel kell tennünk a villogó hitelesítési azonosítónkat egy hitelesítési tömbbe, amelyet korábban elmentettünk.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Itt szoftver soros csapokat használnak hibakereső konzolként. Tehát az Arduino csapok az alábbiakban debug sorosként vannak meghatározva.
#include
A telepítésen belül a soros kommunikációt inicializáljuk a Serial.begin függvény segítségével , a blynk a Blynk.begin és a pixels.begin () használatával kapcsolódik, a LED-mátrix inicializálódik.
void setup () { DebugSerial.begin (9600); pixel.begin (); Serial.begin (9600); Blynk.begin (soros, hiteles); }
A ciklus () belsejében a Blynk.run () fájlt használtuk , amely ellenőrzi a blynk GUI-ból érkező parancsokat, és ennek megfelelően hajtja végre a műveleteket.
void loop () { Blynk.run (); }
Az utolsó szakaszban meg kell kapni és feldolgozni azokat a paramétereket, amelyeket a Blynk alkalmazás küldött. Ebben az esetben a paramétereket egy virtuális „V2” tűhöz osztották ki, amint azt a telepítési szakasz korábban tárgyalta. A BLYNK_WRITE függvény egy beépített függvény, amelyet akkor hívnak meg, amikor a társított virtuális tű állapota / értéke megváltozik. ugyanúgy futtathatunk kódot ebben a függvényben, mint bármely más Arduino funkció.
Itt a BLYNK_WRITE függvény be van írva, hogy ellenőrizze a bejövő adatokat a V2 virtuális tűnél . Amint a Pislogás beállítás szakaszban látható, a színes pixel adatokat összevonták és hozzárendelték a V2 tűhöz. Tehát dekódolás után is újra le kell válnunk az egyesítésről. Mivel a LED pixel mátrix vezérléséhez mindhárom egyedi színes pixel adatra szükségünk van, például vörös, zöld és kék. Amint az az alábbi kódban látható, a mátrix három indexét a param.asInt () formátumú felolvasásként olvastuk fel, hogy megkapjuk a vörös szín értékét. Hasonlóképpen, a másik két értéket befogadtuk és 3 egyedi változóban tároltuk. Ezután ezeket az értékeket a pixel.setPixelColor függvény segítségével hozzárendelik a Pixel mátrixhoz, az alábbi kód szerint.
Itt a pixels.setBrightness () függvény a fényerő szabályozására szolgál, a pixels.show () függvény pedig a beállított szín megjelenítésére a Mátrixban.
BLYNK_WRITE (V2) { int r = param.asInt (); int g = param.asInt (); int b = param.asInt (); pixel.clear (); pixel.setBrightness (20); for (int i = 0; i <= NUM_PIXELS; i ++) { pixels.setPixelColor (i, pixels.Color (r, g, b)); } pixel.show (); }
A kód feltöltése az Arduino Board-ra
Először ki kell választanunk az Arduino PORT-ját az Arduino IDE-n belül, majd fel kell töltenünk a kódot az Arduino UNO-ba. A sikeres feltöltés után jegyezze fel a portszámot, amelyet a soros kommunikáció beállításához használunk.
Ezt követően keresse meg a Blynk könyvtár szkript mappáját a számítógépén. A könyvtár telepítésekor települ, az enyém bent volt, "C: \ Users \ PC_Name \ Documents \ Arduino \ library \ Blynk \ scripts"
A szkript mappában található egy „blynk-ser.bat” nevű fájl, amely egy soros kommunikációhoz használt kötegelt fájl, amelyet a jegyzettömbbel kell szerkesztenünk. Nyissa meg a fájlt a Jegyzettömbbel, és módosítsa a portszámot Arduino portszámra, amelyet az utolsó lépésben megjegyzett.
Szerkesztés után mentse el a fájlt, és futtassa a kötegelt fájlt duplán kattintva. Ezután biztosan lát egy ablakot, amely az alábbiak szerint látható:
Megjegyzés: Ha nem látja ezt az ablakot, amely fent látható, és a rendszer kéri az újracsatlakozást, akkor annak oka lehet a hiba az Arduino pajzs PC-jével kapcsolatban. Ebben az esetben ellenőrizze az Arduino és a számítógép közötti kapcsolatot. Ezt követően ellenőrizze, hogy a COM port száma megjelenik-e az Arduino IDE-ben, vagy sem. Ha az érvényes COM portot mutatja, akkor készen áll a folytatásra. Futtassa újra a kötegelt fájlt.
Utolsó bemutató:
Itt az ideje tesztelni az áramkört és annak funkcionalitását. Nyissa meg a Blynk alkalmazást, nyissa meg a GUI-t, és kattintson a Lejátszás gombra. Ezt követően kiválaszthatja bármelyik kívánt színt, amely tükröződik a LED-mátrixon. Amint az alább látható, az én esetemben a piros és a kék színt választottam, ez megjelenik a Mátrixon.
Hasonlóképpen megpróbálhat különféle animációkat készíteni ezen LED-mátrixok használatával a kódolás kissé testreszabásával.