- Štítek Adafruit 5X8 NeoPixel pro Arduino
- Porozumění procesu komunikace mezi aplikací Blynk a Arduino
- Požadované komponenty
- Adafruit RGB LED Shield a Arduino - hardwarové připojení
- Konfigurace aplikace Blynk
- Arduino Code Controlling Adafruit WS2812B RGB LED Shield
- Nahrávání kódu na Arduino Board
V průběhu několika let se RGB LED diod každým dnem stávají oblíbenými díky své krásné barvě, jasu a lákavým světelným efektům. Proto se na mnoha místech používá jako dekorativní předmět, příkladem může být domácí nebo kancelářský prostor. Můžeme také použít RGB světla v kuchyni a také v herní konzoli. Z hlediska náladového osvětlení jsou také skvělé v dětské herně nebo ložnicích. Dříve jsme k sestavení vizualizéru Music Spectrum Visualizer použili LED diody NeoPixel WS2812B a mikrokontrolér ARM, takže si to ověřte, pokud vás to zajímá.
Proto v tomto projektu použijeme Neopixel Based RGB LED matrix štít, Arduino a aplikaci Blynk k výrobě mnoha fascinujících animačních efektů a barev, které budeme moci ovládat pomocí aplikace Blynk. Pojďme tedy začít !!!
Štítek Adafruit 5X8 NeoPixel pro Arduino
Arduino kompatibilní NeoPixel Shield obsahuje čtyřicet individuálně adresovatelných RGB LED, z nichž každá má vestavěný ovladač WS2812b, který je uspořádán do matice 5 × 8 a tvoří tento NeoPixel Shield. Lze také připojit více štítů NeoPixel a vytvořit tak větší štít, pokud je to požadavek. Pro ovládání RGB LED je nutný jeden pin Arduino, proto jsme se v tomto tutoriálu rozhodli použít pin 6 Arduina.
V našem případě jsou LED diody napájeny z vestavěného 5V kolíku Arduina, což je dostatečné pro napájení přibližně „třetiny LED“ při plném jasu. Pokud potřebujete napájet více LED, můžete vyříznout zabudovanou stopu a použít externí zdroj 5V k napájení stínění pomocí svorky Externí 5V.
Porozumění procesu komunikace mezi aplikací Blynk a Arduino
Zde použitá 8 * 5 RGB LED matice má čtyřicet individuálně adresovatelných RGB LED založených na ovladači WS2812B. Má 24bitové ovládání barev a 16,8 milionu barev na pixel. Lze jej ovládat metodikou „One wire control“. To znamená, že můžeme ovládat celý LED pixel pomocí jediného ovládacího kolíku. Při práci s LED jsem prošel datovým listem těchto LED, kde jsem zjistil, že rozsah provozního napětí stínění je 4 V až 6 V a spotřeba proudu je zjištěna 50 mA na LED při 5 V s červenou, zelenou, a modrá při plném jasu. Má ochranu proti zpětnému napětí na externích napájecích pinech a tlačítko Reset na štítu pro resetování Arduina. Má také vstupní kolík pro externí napájení LED, pokud není k dispozici dostatečné množství energie prostřednictvím vnitřních obvodů.
Jak ukazuje výše uvedený schematický diagram, musíme si stáhnout a nainstalovat aplikaci Blynkna našem smartphonu, kde lze ovládat parametry, jako je barva, jas. Po nastavení parametrů, pokud dojde k jakýmkoli změnám v aplikaci, je to v cloudu Blynk, kde je také připojen náš počítač a je připraven přijímat aktualizovaná data. Arduino Uno je připojeno k našemu PC pomocí USB kabelu s otevřeným komunikačním portem, s tímto komunikačním portem (COM Port) lze data vyměňovat mezi cloudem Blynk a Arduino UNO. Počítač požaduje data z cloudu Blynk v konstantních časových intervalech a po přijetí aktualizovaných dat je přenese do Arduina a provede uživatelsky definovaná rozhodnutí, jako je ovládání jasu LED a barev. RGB LED stínění je umístěno na Arduino LED a připojeno přes jeden datový pin pro komunikaci, standardně je připojeno přes D6 pin Arduino.Sériová data odeslaná z Arduino UNO se odesílají do Neopixel shied, který se poté odráží na LED matici.
Požadované komponenty
- Arduino UNO
- 8 * 5 RGB LED maticový štít
- Kabel USB A / B pro Arduino UNO
- Notebook / PC
Adafruit RGB LED Shield a Arduino - hardwarové připojení
Tyto WS2812B LED Neopixel mají tři vývody, jeden je pro data a další dva slouží pro napájení, ale v tomto konkrétním Arduino štítu činí připojení hardware velmi jednoduché, vše, co musíme udělat, je umístit matice Neopixel LED na horní straně Arduino UNO. V našem případě je LED napájena z výchozí Arduino 5V Rail. Po umístění Neopixelového štítu vypadá nastavení níže:
Konfigurace aplikace Blynk
Blynk je aplikace, která může běžet přes zařízení Android a IOS a ovládat všechna zařízení IoT a zařízení pomocí našich smartphonů. Nejprve je třeba vytvořit grafické uživatelské rozhraní (GUI) pro ovládání matice RGB LED. Aplikace odešle všechny vybrané parametry z grafického uživatelského rozhraní do cloudu Blynk. V sekci přijímače máme Arduino připojené k PC pomocí sériového komunikačního kabelu. Počítač proto požaduje data z cloudu Blynk a tato data se odesílají do Arduina k nezbytnému zpracování. Pojďme tedy začít s nastavením aplikace Blynk.
Před instalací si stáhněte aplikaci Blynk z obchodu Google Play (uživatelé IOS si mohou stáhnout z App Store). Po instalaci se zaregistrujte pomocí svého e-mailového ID a hesla.
Vytvoření nového projektu:
Po úspěšné instalaci otevřete aplikaci a tam se nám zobrazí obrazovka s možností „ Nový projekt “. Klikněte na něj a vyskočí nová obrazovka, kde musíme nastavit parametry, jako je název projektu, deska a typ připojení. V našem projektu vyberte zařízení jako „ Arduino UNO “ a typ připojení jako „ USB “ a klikněte na „ Vytvořit“.
Po úspěšném vytvoření projektu obdržíme do naší doporučené pošty ověřovací ID. Uložit ID ověření pro budoucí použití.
Vytvoření grafického uživatelského rozhraní (GUI):
Otevřete projekt v Blynku, klikněte na znaménko „+“, kde získáme widgety, které můžeme v našem projektu použít. V našem případě potřebujeme RGB Color Picker, který je uveden jako „zeRGBa“, jak je znázorněno níže.
Nastavení widgetů:
Po přetažení widgetů do našeho projektu nyní musíme nastavit jeho parametry, které se používají k odesílání barevných hodnot RGB do Arduino UNO.
Klikněte na ZeRGBa, zobrazí se obrazovka s názvem Nastavení ZeRGBa. Poté nastavte možnost Výstup na „ Sloučit “ a nastavte kolík na „V2“, který je zobrazen na obrázku níže.
Arduino Code Controlling Adafruit WS2812B RGB LED Shield
Po dokončení hardwarového připojení je třeba kód nahrát do Arduina. Podrobný popis kódu je uveden níže.
Nejprve zahrňte všechny požadované knihovny. Otevřete Arduino IDE, přejděte na kartu Skica a klikněte na možnost Zahrnout knihovnu-> Spravovat knihovny . Poté vyhledejte Blynk ve vyhledávacím poli a poté stáhněte a nainstalujte balíček Blynk pro Arduino UNO.
Zde se knihovna „ Adafruit_NeoPixel.h “ používá k ovládání RGB LED Matrix. Chcete-li jej zahrnout, můžete si z uvedeného odkazu stáhnout knihovnu Adafruit_NeoPixel . Jakmile to získáte, můžete je zahrnout do možnosti Zahrnout knihovnu ZIP.
#define BLYNK_PRINT DebugSerial #include #include
Poté definujeme počet LED, který je vyžadován pro naši LED matici, a také definujeme pin-number, který se používá k ovládání parametrů LED.
#define PIN 6 #define NUM_PIXELS 40
Poté musíme vložit naše ID ověřování blikáním do pole Auth , které jsme dříve uložili.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Zde se jako ladicí konzole používají softwarové sériové piny. Arduino piny jsou tedy definovány jako ladicí seriál níže.
#zahrnout
Uvnitř instalace je sériová komunikace inicializována pomocí funkce Serial.begin , blynk je připojen pomocí Blynk.begin a pomocí pixels.begin () je inicializována LED Matrix.
void setup () { DebugSerial.begin (9600); pixels.begin (); Serial.begin (9600); Blynk.begin (Serial, auth); }
Uvnitř loop () jsme použili Blynk.run () , který kontroluje příchozí příkazy z blynk GUI a podle toho provádí operace.
void loop () { Blynk.run (); }
V závěrečné fázi je třeba přijmout a zpracovat parametry, které byly odeslány z aplikace Blynk. V tomto případě byly parametry přiděleny virtuálnímu kolíku „V2“, jak je popsáno výše v části nastavení. Funkce BLYNK_WRITE je vestavěná funkce, která se volá vždy, když se změní stav / hodnota přidruženého virtuálního kolíku. můžeme v této funkci spustit kód stejně jako v jakékoli jiné funkci Arduino.
Zde je zapsána funkce BLYNK_WRITE ke kontrole příchozích dat na virtuálním kolíku V2. Jak je znázorněno v sekci Nastavení blikání, data barevných pixelů byla sloučena a přiřazena kolíku V2. Po dekódování tedy musíme také znovu sloučit. Protože pro ovládání matice pixelů LED potřebujeme všechna 3 jednotlivá data barevných pixelů, jako je červená, zelená a modrá. Jak je znázorněno v níže uvedeném kódu, tři indexy matice byly načteny jako param.asInt (), aby byla získána hodnota červené barvy. Podobně byly všechny další dvě hodnoty přijaty a uloženy do 3 jednotlivých proměnných. Pak jsou tyto hodnoty přiřazeny matici Pixel pomocí funkce pixels.setPixelColor, jak je znázorněno v níže uvedeném kódu.
Odtud pixels.setBrightness () funkce slouží k ovládání jasu a pixels.show () funkce slouží k zobrazení nastavené barvy v Matrixu.
BLYNK_WRITE (V2) { int r = param.asInt (); int g = param.asInt (); int b = param.asInt (); pixels.clear (); pixels.setBrightness (20); for (int i = 0; i <= NUM_PIXELS; i ++) { pixels.setPixelColor (i, pixels.Color (r, g, b)); } pixels.show (); }
Nahrávání kódu na Arduino Board
Nejprve musíme vybrat PORT Arduina uvnitř Arduino IDE, pak musíme nahrát kód do Arduino UNO. Po úspěšném nahrání si poznamenejte číslo portu, které bude použito pro nastavení naší sériové komunikace.
Poté najděte ve svém počítači složku skriptů v knihovně Blynk. Nainstaluje se při instalaci knihovny, moje byla v, „C: \ Users \ PC_Name \ Documents \ Arduino \ libraries \ Blynk \ skripty"
Ve složce skriptu by měl být soubor s názvem „blynk-ser.bat“, což je dávkový soubor používaný pro sériovou komunikaci, který musíme upravit pomocí poznámkového bloku. Otevřete soubor s poznámkovým blokem a změňte číslo portu na číslo vašeho portu Arduino, které jste si poznamenali v posledním kroku.
Po úpravách soubor uložte a poklepáním na něj spusťte dávkový soubor. Pak musíte vidět okno, jak je znázorněno níže:
Poznámka: Pokud nevidíte výše uvedené okno a budete vyzváni k opětovnému připojení, může to být způsobeno chybou ve spojení PC se štítem Arduino. V takovém případě zkontrolujte připojení Arduina k počítači. Poté zkontrolujte, zda se číslo portu COM zobrazuje v IDE Arduino nebo ne. Pokud zobrazuje platný port COM, je připraven pokračovat. Dávkový soubor byste měli spustit znovu.
Závěrečná ukázka:
Nyní je čas na testování obvodu a jeho funkčnosti. Otevřete aplikaci Blynk, otevřete grafické uživatelské rozhraní a klikněte na tlačítko Přehrát. Poté můžete vybrat libovolnou požadovanou barvu, která se projeví na LED Matrix. Jak je uvedeno níže, v mém případě jsem vybral červenou a modrou barvu, zobrazuje se na Matrixu.
Podobně můžete také zkusit vytvořit různé animace pomocí těchto matic LED tak, že trochu upravíte kódování.