- Štít Adafruit 5X8 NeoPixel pre Arduino
- Pochopenie komunikačného procesu medzi aplikáciou Blynk a Arduino
- Súčasti sú povinné
- Štít Adafruit RGB LED a Arduino - hardvérové pripojenie
- Konfigurácia aplikácie Blynk
- Arduino kód ovládajúci Adafruit WS2812B RGB LED štít
- Načítanie kódu na dosku Arduino
V priebehu niekoľkých rokov sa RGB LED diódy stávajú obľúbenými každý deň vďaka svojej krásnej farbe, jasu a lákavým svetelným efektom. Preto sa na mnohých miestach používa ako dekoratívny predmet, príkladom môže byť domov alebo kancelária. RGB svetlá môžeme použiť aj v kuchyni a tiež v hernej konzole. Z hľadiska náladového osvetlenia sú vynikajúce aj v detskej herni alebo spálňach. Predtým sme na zostavenie vizualizátora Music Spectrum Visualizer použili LED diódy NeoPixel WS2812B a mikrokontrolér ARM, takže si to skontrolujte, ak vás to zaujíma.
Preto v tomto projekte použijeme Neopixel Based RGB LED matrix shield, Arduino a Blynk aplikáciu na vytvorenie mnohých fascinujúcich animačných efektov a farieb, ktoré budeme môcť ovládať pomocou aplikácie Blynk. Tak poďme na to !!!
Štít Adafruit 5X8 NeoPixel pre Arduino
Arduino kompatibilný štít NeoPixel Shield obsahuje štyridsať individuálne adresovateľných LED diód RGB, z ktorých každý má zabudovaný ovládač WS2812b, ktorý je usporiadaný do matice 5 × 8 a vytvára tento štít NeoPixel. Ak je to požiadavka, možno pripojiť aj viac štítov NeoPixel a vytvoriť tak väčší štít. Na ovládanie LED diód RGB je potrebný jeden pin Arduino, preto sme sa v tomto tutoriáli rozhodli použiť na to pin 6 Arduina.
V našom prípade sú LED diódy napájané z vstavaného 5V kolíka Arduina, čo je dostatočné množstvo na napájanie „tretiny LED“ pri plnom jase. Ak potrebujete napájať viac diód LED, môžete zabudovanú stopu prerušiť a na napájanie štítu pomocou externého zdroja 5 V použiť externú svorku 5 V.
Pochopenie komunikačného procesu medzi aplikáciou Blynk a Arduino
Tu použitá 8 * 5 RGB LED matica má štyridsať individuálne adresovateľných RGB LED založených na ovládači WS2812B. Má 24-bitové riadenie farieb a 16,8 milióna farieb na pixel. Môže byť ovládaný metodológiou „One wire control“. To znamená, že môžeme ovládať celý LED pixel pomocou jedného ovládacieho kolíka. Pri práci s LED diódami som prešiel technickým listom týchto LED diód, kde zistím, že rozsah prevádzkového napätia štítu je 4 V až 6 V a spotreba prúdu je zistená 50 mA na LED pri 5 V s červenou, zelenou, a modrá pri plnom jase. Má ochranu proti spätnému napätiu na externých napájacích kolíkoch a tlačidlo Reset na štíte, ktoré resetuje Arduino. Má tiež vstupný kolík externého napájania pre LED, ak nie je k dispozícii dostatočné množstvo energie prostredníctvom vnútorných obvodov.
Ako je znázornené na schematickom schéme vyššie, musíme si stiahnuť a nainštalovať aplikáciu Blynkna našom smartfóne, kde je možné ovládať parametre ako farba, jas. Po nastavení parametrov, ak dôjde k akýmkoľvek zmenám v aplikácii, je to v cloude Blynk, kde je pripojený aj náš počítač a je pripravený na príjem aktualizovaných údajov. Arduino Uno je pripojené k nášmu počítaču pomocou USB kábla s otvoreným komunikačným portom, s týmto komunikačným portom (COM Port) je možné vymieňať si dáta medzi cloudom Blynk a Arduino UNO. Počítač požaduje údaje z cloudu Blynk v konštantných časových intervaloch a po prijatí aktualizovaných údajov ich prenesie do Arduina a urobí používateľom definované rozhodnutia, ako je napríklad kontrola jasu LED farieb a farieb. RGB LED štít je umiestnený na Arduino LED a je pripojený cez jediný dátový pin pre komunikáciu, štandardne je pripojený cez D6 pin od Arduino.Sériové dáta odoslané z Arduino UNO sa odosielajú do Neopixel shied, ktorý sa potom odráža na LED matici.
Súčasti sú povinné
- Arduino UNO
- 8 * 5 RGB LED maticový štít
- USB A / B kábel pre Arduino UNO
- Notebook / PC
Štít Adafruit RGB LED a Arduino - hardvérové pripojenie
Tieto WS2812B LED Neopixel majú tri vývody, jeden je pre dáta a ďalšie dva slúži pre napájanie, ale v tomto konkrétnom Arduino štítu robí pripojenie hardvér veľmi jednoduché, všetko, čo musíme urobiť, je umiestniť matica Neopixel LED na hornej strane Arduino UNO. V našom prípade je LED napájaná z predvoleného Arduino 5V Rail. Po umiestnení Neopixelového štítu bude nastavenie vyzerať takto:
Konfigurácia aplikácie Blynk
Blynk je aplikácia, ktorá môže bežať nad zariadeniami Android a IOS na ovládanie akýchkoľvek zariadení a zariadení IoT pomocou našich smartphonov. Najskôr je potrebné vytvoriť grafické užívateľské rozhranie (GUI) na ovládanie matice RGB LED. Aplikácia odošle všetky vybrané parametre z grafického používateľského rozhrania do cloudu Blynk. V sekcii prijímač máme Arduino pripojené k PC pomocou sériového komunikačného kábla. Preto počítač požaduje údaje z cloudu Blynk a tieto údaje sa odosielajú spoločnosti Arduino na potrebné spracovanie. Takže začnime s nastavením aplikácie Blynk.
Pred nastavením si stiahnite aplikáciu Blynk z obchodu Google Play (používatelia systému IOS si ich môžu stiahnuť z App Store). Po inštalácii sa zaregistrujte pomocou svojho e-mailového ID a hesla.
Vytvorenie nového projektu:
Po úspešnej inštalácii otvorte aplikáciu a tam sa nám zobrazí obrazovka s možnosťou „ Nový projekt “. Kliknite na ňu a vyskočí nová obrazovka, kde musíme nastaviť parametre ako Názov projektu, Doska a typ pripojenia. V našom projekte vyberte zariadenie ako „ Arduino UNO “ a typ pripojenia ako „ USB “ a kliknite na „ Vytvoriť“.
Po úspešnom vytvorení projektu dostaneme na našu doporučenú poštu Authenticate ID. Uložte si autentifikačné ID pre ďalšie použitie.
Vytvorenie grafického používateľského rozhrania (GUI):
Otvorte projekt v Blynku, kliknite na znamienko „+“, kde dostaneme widgety, ktoré môžeme použiť v našom projekte. V našom prípade potrebujeme výber farieb RGB, ktorý je uvedený ako „zeRGBa“, ako je uvedené nižšie.
Nastavenie widgetov:
Po pretiahnutí widgetov do nášho projektu teraz musíme nastaviť jeho parametre, ktoré sa používajú na zasielanie farebných RGB hodnôt do Arduino UNO.
Kliknite na ZeRGBa, potom sa zobrazí obrazovka s názvom Nastavenie ZeRGBa. Potom nastavte možnosť Výstup na „ Zlúčiť “ a nastavte kolík na „V2“, ktorý je zobrazený na obrázku nižšie.
Arduino kód ovládajúci Adafruit WS2812B RGB LED štít
Po dokončení hardvérového pripojenia je potrebné kód nahrať do Arduina. Podrobné vysvetlenie kódu je uvedené nižšie.
Najskôr zahrňte všetky požadované knižnice. Otvorte Arduino IDE, potom choďte na kartu Skica a kliknite na možnosť Zahrnúť knižnicu-> Spravovať knižnice . Potom vyhľadajte Blynk vo vyhľadávacom poli a potom stiahnite a nainštalujte balík Blynk pre Arduino UNO.
Tu sa používa knižnica „ Adafruit_NeoPixel.h “ na riadenie RGB LED Matrix. Ak ju chcete zahrnúť, z daného odkazu si môžete stiahnuť knižnicu Adafruit_NeoPixel . Keď to získate, môžete ich zahrnúť do možnosti Zahrnúť knižnicu ZIP.
#define BLYNK_PRINT DebugSerial #include #include
Potom definujeme počet LED, ktorý je potrebný pre našu maticu LED, taktiež definujeme počet pinov, ktorý sa používa na riadenie parametrov LED.
# definovať PIN 6 # definovať NUM_PIXELS 40
Potom musíme vložiť naše ID overenia žmurknutia do poľa Auth , ktoré sme si predtým uložili.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Tu sa ako ladiaca konzola používajú softvérové sériové piny. Piny Arduino sú teda definované ako sériové ladenie uvedené nižšie.
#include
V rámci nastavenia sa sériová komunikácia inicializuje pomocou funkcie Serial.begin , blynk sa pripája pomocou Blynk.begin a pomocou pixels.begin () sa inicializuje LED Matrix.
void setup () { DebugSerial.begin (9600); pixels.begin (); Serial.begin (9600); Blynk.begin (sériové číslo, autorizácia); }
Vo vnútri loop () sme použili Blynk.run () , ktorý kontroluje prichádzajúce príkazy z blynk GUI a podľa toho vykonáva operácie.
void loop () { Blynk.run (); }
V záverečnej fáze je potrebné prijať a spracovať parametre, ktoré boli odoslané z aplikácie Blynk. V tomto prípade boli parametre pridelené virtuálnemu kolíku „V2“, ako je uvedené vyššie v sekcii nastavenia. Funkcia BLYNK_WRITE je zabudovaná funkcia, ktorá sa zavolá vždy, keď sa zmení stav / hodnota priradeného virtuálneho špendlíka. môžeme v tejto funkcii spustiť kód rovnako ako v akejkoľvek inej funkcii Arduina.
Tu je napísaná funkcia BLYNK_WRITE na kontrolu prichádzajúcich údajov na virtuálnom kolíku V2. Ako je znázornené v sekcii Nastavenie blikania, údaje farebných pixelov sa zlúčili a priradili ku kolíku V2. Po dekódovaní musíme teda tiež znova zlúčiť. Pretože na ovládanie matice pixelov LED potrebujeme všetky 3 individuálne údaje farebných pixelov, napríklad červenú, zelenú a modrú. Ako ukazuje nasledujúci kód, tri indexy matice sa načítali ako param.asInt (), aby sa získala hodnota červenej farby. Podobne boli prijaté všetky ďalšie dve hodnoty a uložené do 3 jednotlivých premenných. Potom sú tieto hodnoty priradené k matici pixelov pomocou funkcie pixels.setPixelColor, ako je znázornené v nižšie uvedenom kóde.
Tu sa funkcia Pixel.setBrightness () používa na ovládanie jasu a pixelov. Funkcia show () sa používa na zobrazenie nastavenej farby v Matrixe.
BLYNK_WRITE (V2) { int r = param.asInt (); int g = param.asInt (); int b = param.asInt (); pixels.clear (); pixelov.setBrightness (20); pre (int i = 0; i <= NUM_PIXELS; i ++) { pixels.setPixelColor (i, pixels.Color (r, g, b)); } pixels.show (); }
Načítanie kódu na dosku Arduino
Najskôr musíme zvoliť PORT Arduina vo vnútri Arduino IDE, potom musíme nahrať kód do Arduino UNO. Po úspešnom načítaní si poznačte číslo portu, ktorý sa použije pre nastavenie našej sériovej komunikácie.
Potom vyhľadajte priečinok so skriptmi v knižnici Blynk na počítači. Nainštaluje sa pri inštalácii knižnice, moja bola v, „C: \ Users \ PC_Name \ Documents \ Arduino \ libraries \ Blynk \ skripty"
V priečinku skriptov by mal byť súbor s názvom „blynk-ser.bat“, čo je dávkový súbor používaný na sériovú komunikáciu, ktorý musíme upraviť pomocou poznámkového bloku. Otvorte súbor s poznámkovým blokom a zmeňte číslo portu na číslo vášho portu Arduino, ktoré ste si poznamenali v poslednom kroku.
Po úprave súbor uložte a dvojitým kliknutím spustite dávkový súbor. Potom musíte vidieť okno, ako je zobrazené nižšie:
Poznámka: Ak nevidíte toto okno zobrazené vyššie a zobrazí sa výzva na opätovné pripojenie, môže to byť spôsobené chybou spojenia počítača so štítom Arduino. V takom prípade skontrolujte pripojenie Arduina k počítaču. Potom skontrolujte, či sa číslo portu COM zobrazuje v IDE Arduino alebo nie. Ak zobrazuje platný port COM, je pripravený na pokračovanie. Mali by ste znova spustiť dávkový súbor.
Záverečná ukážka:
Teraz je čas na testovanie obvodu a jeho funkčnosti. Otvorte aplikáciu Blynk, otvorte grafické používateľské rozhranie a kliknite na tlačidlo Prehrať. Potom môžete zvoliť ľubovoľnú požadovanú farbu, ktorá sa prejaví na matici LED. Ako je znázornené nižšie, v mojom prípade som vybral červenú a modrú farbu, ktorá sa zobrazuje na matici.
Podobne sa môžete pokúsiť vytvoriť rôzne animácie pomocou týchto matíc LED tak, že trochu upravíte kódovanie.