- Adafruit 5X8 NeoPixel Shield za Arduino
- Razumevanje komunikacijskega procesa med aplikacijo Blynk in Arduino
- Potrebne komponente
- Adafruit RGB LED ščit in Arduino - strojna povezava
- Konfiguriranje aplikacije Blynk
- Arduino Code Controlling Adafruit WS2812B RGB LED ščit
- Nalaganje kode na Arduino Board
V nekaj letih postajajo LED RGB iz dneva v dan priljubljeni zaradi čudovite barve, svetlosti in vabljivih svetlobnih učinkov. Zato se marsikje uporablja kot okrasni predmet, primer je lahko dom ali pisarniški prostor. RGB lučke lahko uporabljamo tudi v kuhinji in tudi v igralni konzoli. Odlične so tudi v otroški igralnici ali spalnicah glede osvetlitve razpoloženja. Prej smo za izdelavo vizualizatorja glasbenega spektra uporabljali LED diode WS2812B NeoPixel in mikrokrmilnik ARM, zato preverite, ali je to zanimivo za vas.
Zato bomo v tem projektu uporabili matrični ščit RGB LED na osnovi neopiksela, Arduino in aplikacijo Blynk, da bomo ustvarili številne fascinantne animacijske učinke in barve, ki jih bomo lahko nadzirali z aplikacijo Blynk. Začnimo torej !!!
Adafruit 5X8 NeoPixel Shield za Arduino
NeuPixel Shield, združljiv z Arduino, vsebuje štirideset individualno naslovljivih RGB LED, od katerih ima vsaka vgrajen gonilnik WS2812b, ki je razporejen v matriko 5 × 8, da tvori ta NeoPixel Shield. Če je to zahteva, je mogoče povezati tudi več NeoPixel Shields, da se tvori večji Shield. Za nadzor RGB LED diod je potreben en sam Arduino pin, zato smo se v tej vadnici odločili, da za to uporabimo pin 6 Arduina.
V našem primeru se LED napaja iz vgrajenega Arduinovega 5V zatiča, kar zadostuje za napajanje približno "tretjine LED" s polno svetlostjo. Če morate napajati več LED, lahko izrežete vgrajeno sled in uporabite zunanji 5v napajalnik za napajanje ščita z zunanjim 5V terminalom.
Razumevanje komunikacijskega procesa med aplikacijo Blynk in Arduino
Matrica 8 * 5 RGB LED, ki je tukaj uporabljena, ima štirideset individualno naslovljivih RGB LED, ki temeljijo na gonilniku WS2812B. Ima 24-bitni nadzor barv in 16,8 milijona barv na slikovno piko. Nadzorovati ga je mogoče po metodologiji "One-control control" To pomeni, da lahko z enim samim krmilnim zatičem nadzorujemo celotno LED piksel. Med delom z LED-ji sem pregledal tehnični list teh LED-jev, kjer ugotavljam, da je območje delovne napetosti ščita od 4 V do 6 V, trenutna poraba pa znaša 50 mA na LED pri 5 V z rdečo, zeleno, in modra pri polni svetlosti. Ima zunanjo napetostno zaščito na zunanjih napajalnih zatičih in gumb za ponastavitev na ščitu za ponastavitev Arduina. Ima tudi zunanji vhodni vtič za LED, če prek notranjega vezja ni na voljo dovolj moči.
Kot je prikazano v zgornjem shematskem diagramu, moramo prenesti in namestiti aplikacijo Blynkna našem pametnem telefonu, kjer je mogoče nadzorovati parametre, kot so barva, svetlost. Po nastavitvi parametrov, če se v aplikaciji zgodi kakšna sprememba, gre v oblak Blynk, kjer je tudi naš računalnik povezan in pripravljen za prejemanje posodobljenih podatkov. Arduino Uno je z našim računalnikom povezan prek kabla USB z odprtimi komunikacijskimi vrati, s temi komunikacijskimi vrati (COM vrata) pa si lahko izmenjata podatke med oblakom Blynk in Arduino UNO. Računalnik v konstantnih časovnih intervalih zahteva podatke iz oblaka Blynk in po prejemu posodobljenih podatkov jih prenese na Arduino in sprejema uporabniško določene odločitve, kot je nadzor svetlosti in barv pod vodstvom RGB. RGB LED ščit je nameščen na LED-ju Arduino in je za komunikacijo povezan z enim podatkovnim zatičem, privzeto pa je povezan z D6-zatičem Arduino.Serijski podatki, poslani iz Arduino UNO, se pošljejo Neopixel shied, ki se nato odraža na matriki LED.
Potrebne komponente
- Arduino UNO
- 8 * 5 RGB LED matrični ščit
- USB A / B kabel za Arduino UNO
- Prenosnik / PC
Adafruit RGB LED ščit in Arduino - strojna povezava
LED diode WS2812B Neopixel imajo tri nožice, eno je za podatke, druge dve pa za napajanje, toda ta poseben ščit Arduino olajša povezovanje strojne opreme. Vse, kar moramo storiti, je postaviti matriko Neopixel LED na vrh Arduino UNO. V našem primeru se LED napaja iz privzetega Arduino 5V Rail. Po namestitvi Neopixel Shield je nastavitev videti spodaj:
Konfiguriranje aplikacije Blynk
Blynk je aplikacija, ki lahko poganja naprave Android in IOS za nadzor vseh naprav IoT in naprav s pomočjo naših pametnih telefonov. Najprej je treba ustvariti grafični uporabniški vmesnik (GUI) za nadzor matrike RGB LED. Aplikacija bo poslala vse izbrane parametre iz grafičnega uporabniškega vmesnika v oblak Blynk. V oddelku sprejemnik imamo Arduino povezan z računalnikom prek serijskega komunikacijskega kabla. Zato računalnik zahteva podatke iz oblaka Blynk in ti podatki se pošljejo Arduinu za potrebno obdelavo. Začnimo z namestitvijo aplikacije Blynk.
Pred namestitvijo prenesite aplikacijo Blynk iz trgovine Google Play (uporabniki IOS lahko prenesejo iz trgovine App Store). Po namestitvi se prijavite z e-poštnim ID-jem in geslom.
Ustvarjanje novega projekta:
Po uspešni namestitvi odprite aplikacijo in tam bomo dobili zaslon z možnostjo » Nov projekt «. Kliknite ga in prikazal se bo nov zaslon, kjer moramo nastaviti parametre, kot so ime projekta, plošča in vrsta povezave. V našem projektu izberite napravo kot » Arduino UNO «, vrsto povezave pa kot » USB « in kliknite » Ustvari«.
Po uspešnem ustvarjanju projekta bomo s priporočeno pošto dobili identifikacijski dokument. Shranite ID overjanja za nadaljnjo uporabo.
Ustvarjanje grafičnega uporabniškega vmesnika (GUI):
Odprite projekt v Blynku, kliknite znak "+", kjer bomo dobili pripomočke, ki jih lahko uporabimo v našem projektu. V našem primeru potrebujemo izbirnik barv RGB, ki je naveden kot "zeRGBa", kot je prikazano spodaj.
Nastavitev pripomočkov:
Po vlečenju gradnikov v naš projekt moramo zdaj nastaviti njegove parametre, ki se uporabljajo za pošiljanje barvnih vrednosti RGB v Arduino UNO.
Kliknite ZeRGBa, nato bomo dobili zaslon z imenom ZeRGBa nastavitev. Nato nastavite možnost izhoda na " Merge " in nastavite pin na "V2", kar je prikazano na spodnji sliki.
Arduino Code Controlling Adafruit WS2812B RGB LED ščit
Po končani povezavi s strojno opremo je treba kodo naložiti v Arduino. Razlaga kode po korakih je prikazana spodaj.
Najprej vključite vse zahtevane knjižnice. Odprite Arduino IDE, nato pojdite na zavihek Skica in kliknite možnost Vključi knjižnico-> Upravljanje knjižnic . Nato v iskalnem polju poiščite Blynk in nato prenesite in namestite paket Blynk za Arduino UNO.
Tu se knjižnica “ Adafruit_NeoPixel.h ” uporablja za nadzor RGB LED matrice. Če ga želite vključiti, lahko prenesete knjižnico Adafruit_NeoPixel z dane povezave. Ko to dobite, ga lahko vključite z možnostjo Vključi knjižnico ZIP.
#define BLYNK_PRINT DebugSerial #include #include
Nato določimo število LED, ki je potrebno za našo LED matrico, prav tako določimo pin številko, ki se uporablja za nadzor parametrov LED.
#define PIN 6 #define NUM_PIXELS 40
Nato moramo svoj ID utripanja z utripanjem vstaviti v matriko auth , ki smo jo že shranili.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Tu se serijski zatiči programske opreme uporabljajo kot konzola za odpravljanje napak. Torej so zatiči Arduino spodaj opredeljeni kot zaporedje za odpravljanje napak.
#include
Znotraj nastavitve se serijska komunikacija inicializira s funkcijo Serial.begin , blynk poveže z Blynk.begin in s pomočjo pixels.begin () se inicializira matrika LED.
void setup () { DebugSerial.begin (9600); pixels.begin (); Serial.begin (9600); Blynk.begin (Serial, auth); }
Znotraj zanke () smo uporabili Blynk.run () , ki preverja dohodne ukaze iz blynk GUI in v skladu s tem izvaja operacije.
void loop () { Blynk.run (); }
V zadnji fazi je treba sprejeti in obdelati parametre, poslane iz aplikacije Blynk. V tem primeru so bili parametri dodeljeni navideznemu zatiču "V2", kot smo že omenili v poglavju o namestitvi. Funkcija BLYNK_WRITE je vgrajena funkcija, ki se pokliče vsakič, ko se spremeni stanje / vrednost povezanega navideznega zatiča. znotraj te funkcije lahko zaženemo kodo tako kot katero koli drugo funkcijo Arduino.
Tu je napisana funkcija BLYNK_WRITE za preverjanje vhodnih podatkov na navideznem zatiču V2. Kot je prikazano v razdelku za nastavitev utripanja, so bili podatki barvnih slikovnih pik združeni in dodeljeni zatiču V2. Torej se moramo po dekodiranju tudi znova združiti. Ker za nadzor matrike LED-slikovnih pik potrebujemo vse tri posamezne podatke o barvnih slikovnih pikah, kot so rdeča, zelena in modra. Kot je prikazano v spodnji kodi, so bili trije indeksi matrike prebrani kot param.asInt (), da bi dobili vrednost rdeče barve. Podobno so bili vsi drugi dve vrednosti sprejeti in shranjeni v 3 posamezne spremenljivke. Nato se te vrednosti dodelijo matriki Pixel z uporabo funkcije pixels.setPixelColor, kot je prikazano v spodnji kodi.
Tu se funkcija pixels.setBrightness () uporablja za nadzor svetlosti, funkcija pixels.show () pa za prikaz nastavljene barve v matriki.
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 (); }
Nalaganje kode na Arduino Board
Najprej moramo izbrati PORT Arduina znotraj Arduino IDE, nato moramo kodo naložiti v Arduino UNO. Po uspešnem nalaganju zapišite številko vrat, ki bo uporabljena za nastavitev serijske komunikacije.
Po tem poiščite mapo skriptov knjižnice Blynk v računalniku. Namesti se, ko namestite knjižnico, moja je bila v, “C: \ Users \ PC_Name \ Documents \ Arduino \ libraries \ Blynk \ scripts”
V mapi s skripti naj bo datoteka z imenom "blynk-ser.bat", ki je paketna datoteka, ki se uporablja za serijsko komunikacijo in jo moramo urediti z beležko. Odprite datoteko z beležko in spremenite številko vrat na številko vrat Arduino, ki ste jo zabeležili v zadnjem koraku.
Po urejanju shranite datoteko in zaženite paketno datoteko, tako da dvokliknete nanjo. Nato boste morali videti okno, kot je prikazano spodaj:
Opomba: Če tega okna, prikazanega zgoraj, ne vidite in se prikaže poziv za ponovno povezavo, je to morda posledica napake v povezavi računalnika s ščitom Arduino. V tem primeru preverite povezavo Arduino z računalnikom. Po tem preverite, ali je številka vrat COM prikazana v IDE Arduino ali ne. Če prikazuje veljavna vrata COM, je pripravljen za nadaljevanje. Morali bi znova zagnati paketno datoteko.
Končni prikaz:
Zdaj je čas za testiranje vezja in njegove funkcionalnosti. Odprite aplikacijo Blynk, odprite GUI in kliknite gumb Predvajaj. Po tem lahko izberete katero koli želeno barvo, ki se bo odražala na LED matriki. Kot je prikazano spodaj, sem v mojem primeru izbral rdečo in modro barvo, ki se prikaže na matrici.
Podobno lahko tudi s pomočjo teh LED matric poskusite narediti različne animacije tako, da nekoliko prilagodite kodiranje.