- „Adafruit 5X8 NeoPixel“ skydas „Arduino“
- Suprasti komunikacijos procesą tarp „Blynk App“ ir „Arduino“
- Būtini komponentai
- „Adafruit RGB LED Shield and Arduino“ - techninės įrangos jungtis
- „Blynk“ programos konfigūravimas
- „Arduino“ kodas, valdantis „Adafruit WS2812B“ RGB LED ekraną
- Kodo įkėlimas į „Arduino Board“
Per kelerius metus RGB šviesos diodai populiarėja kiekvieną dieną dėl savo gražios spalvos, ryškumo ir viliojančių apšvietimo efektų. Štai kodėl jis daug kur naudojamas kaip dekoratyvinis elementas, pavyzdžiui, gali būti namai ar biuro patalpos. Taip pat galime naudoti RGB žibintus virtuvėje ir žaidimų konsolėje. Jie taip pat puikiai tinka vaikų žaidimų kambaryje ar miegamuosiuose pagal nuotaikos apšvietimą. Anksčiau „Music Spectrum Visualizer“ kūrimui naudojome „WS2812B NeoPixel“ šviesos diodus ir „ARM“ mikrovaldiklį, todėl patikrinkite, ar tai jums įdomu.
Štai kodėl šiame projekte mes naudosime „Neopixel Based RGB LED“ matricos skydą, „Arduino“ ir „Blynk“ programą, kad sukurtume daugybę įspūdingų animacijos efektų ir spalvų, kurias galėsime valdyti naudodami „Blynk“ programą. Taigi pradėkime !!!
„Adafruit 5X8 NeoPixel“ skydas „Arduino“
„Arduino“ suderinamame „ NeoPixel Shield“ yra keturiasdešimt individualiai adresuojamų RGB šviesos diodų, kiekviename iš jų yra įmontuota WS2812b tvarkyklė, išdėstyta 5 × 8 matricoje, kad būtų sudarytas šis „ NeoPixel Shield“. Taip pat galima sujungti kelis „NeoPixel“ skydus, kad būtų sudarytas didesnis skydas. Norėdami valdyti RGB šviesos diodus, reikalingas vienas „Arduino“ kaištis, todėl šioje pamokoje nusprendėme tai padaryti naudodami „Arduino“ 6 kaištį.
Mūsų atveju šviesos diodai maitinami iš „Arduino“ įmontuoto 5 V kaiščio, kurio pakanka, kad maždaug „trečdalis šviesos diodų“ būtų maitinamas visu ryškumu. Jei jums reikia maitinti daugiau šviesos diodų, tada naudodami išorinį 5 V gnybtą galite iškirpti įmontuotą pėdsaką ir naudoti išorinį 5v maitinimo šaltinį.
Suprasti komunikacijos procesą tarp „Blynk App“ ir „Arduino“
Čia naudojama 8 * 5 RGB LED matrica turi keturiasdešimt individualiai adresuojamų RGB šviesos diodų, pagrįstų WS2812B tvarkykle. Jis turi 24 bitų spalvų valdymą ir 16,8 milijono spalvų viename pikselyje. Jį galima valdyti taikant „vieno laido valdymo“ metodiką. Tai reiškia, kad mes galime valdyti visą LED pikselį naudodami vieną valdymo kaištį. Dirbdamas su šviesos diodais, aš peržiūrėjau šių šviesos diodų duomenų lapą, kuriame pastebėjau, kad skydo veikimo įtampos diapazonas yra nuo 4 V iki 6 V, o srovės suvartojimas nustatomas 50 mA kiekvienam šviesos diodui esant 5 V, raudonai, žaliai ir mėlyna visu ryškumu. Jis turi atvirkštinės įtampos apsaugą išoriniuose maitinimo kaiščiuose ir „Reset“ mygtuką skydelyje, kad iš naujo nustatytų „Arduino“. Jame taip pat yra išorinio maitinimo įvesties kaištis šviesos diodams, jei per vidinę grandinę nėra pakankamai energijos.
Kaip parodyta aukščiau pateiktoje schemoje, turime atsisiųsti ir įdiegti „ Blynk“ programąišmaniajame telefone, kuriame galima valdyti tokius parametrus kaip spalva, ryškumas. Nustačius parametrus, jei programoje įvyksta kokių nors pakeitimų, tai yra „Blynk“ debesyje, kuriame taip pat yra prijungtas mūsų kompiuteris ir paruoštas priimti atnaujintus duomenis. „Arduino Uno“ yra prijungtas prie mūsų kompiuterio per USB kabelį, atidarius ryšio prievadą, su šiuo ryšio prievadu (COM prievadu) duomenimis galima keistis tarp „Blynk“ debesies ir „Arduino UNO“. Kompiuteris prašo duomenų iš „Blynk“ debesies pastoviais laiko intervalais, o kai gauna atnaujintus duomenis, jis juos perduoda „Arduino“ ir priima vartotojo nustatytus sprendimus, pavyzdžiui, valdydamas RGB šviesos ryškumą ir spalvas. RGB LED ekranas dedamas ant „Arduino LED“ ir sujungiamas per vieną duomenų kaištį, pagal numatytuosius nustatymus jis jungiamas per „Arduino“ D6 kaištį.Serijos duomenys, siunčiami iš „Arduino UNO“, siunčiami į „Neopixel“ ekraną, kuris tada atsispindi ant LED matricos.
Būtini komponentai
- „Arduino UNO“
- 8 * 5 RGB LED matricos skydas
- USB A / B laidas „Arduino UNO“
- Nešiojamas kompiuteris
„Adafruit RGB LED Shield and Arduino“ - techninės įrangos jungtis
„WS2812B Neopixel“ šviesos diodai turi tris kaiščius, vienas skirtas duomenims, o kitas - energijai, tačiau šis specifinis „Arduino“ skydas aparatinės įrangos sujungimą daro labai paprastą, mums tereikia uždėti „Neopixel“ LED matricą ant „Arduino UNO“ viršaus. Mūsų atveju šviesos diodas maitinamas iš numatytojo „Arduino 5V Rail“. Įdėjus „Neopixel Shield“, sąranka atrodo taip:
„Blynk“ programos konfigūravimas
„Blynk“ yra programa, kuri gali veikti per „Android“ ir „IOS“ įrenginius, kad valdytų bet kokius „ IoT“ įrenginius ir prietaisus naudodamiesi mūsų išmaniaisiais telefonais. Visų pirma, norint sukurti RGB LED matricą, reikia sukurti grafinę vartotojo sąsają (GUI). Programa nusiųs visus pasirinktus parametrus iš GUI į „Blynk Cloud“. Imtuvo skyriuje mes turime „Arduino“, prijungtą prie kompiuterio nuosekliojo ryšio kabeliu. Taigi, kompiuteris prašo duomenų iš „Blynk“ debesies ir šie duomenys siunčiami „Arduino“ reikalingam apdorojimui. Taigi, pradėkime nuo „Blynk“ programos sąrankos.
Prieš sąranką atsisiųskite programą „Blynk“ iš „Google Play“ parduotuvės („IOS“ vartotojai gali atsisiųsti iš „App Store“). Po įdiegimo prisiregistruokite naudodami savo el. Pašto adresą ir slaptažodį.
Naujo projekto kūrimas:
Po sėkmingo diegimo atidarykite programą ir ten gausime ekraną su parinktimi „ Naujas projektas “. Spustelėkite jį ir pasirodys naujas ekranas, kuriame turime nustatyti tokius parametrus kaip projekto pavadinimas, lenta ir ryšio tipas. Mūsų projekte pasirinkite įrenginį kaip „ Arduino UNO “, o ryšio tipą - „ USB “ ir spustelėkite „ Sukurti“.
Sėkmingai sukūrę projektą, registruotame laiške gausime autentifikavimo ID. Išsaugokite tapatybės patvirtinimą, kad galėtumėte sužinoti ateityje.
Grafinės vartotojo sąsajos (GUI) kūrimas:
Atidarykite projektą Blynke, spustelėkite „+“ ženklą, kur gausime valdiklius, kuriuos galėsime naudoti savo projekte. Mūsų atveju mums reikia RGB spalvų rinkiklio, kuris išvardytas kaip „zeRGBa“, kaip parodyta žemiau.
Valdiklių nustatymas:
Nuvilkę valdiklius į savo projektą, dabar turime nustatyti jo parametrus, kurie naudojami spalvų RGB reikšmėms siųsti į „Arduino UNO“.
Spustelėkite „ZeRGBa“, tada gausime ekraną pavadinimu „ ZeRGBa“. Tada nustatykite „Output“ parinktį į „ Merge “ ir nustatykite kaištį į „V2“, kuris parodytas paveikslėlyje žemiau.
„Arduino“ kodas, valdantis „Adafruit WS2812B“ RGB LED ekraną
Užbaigus aparatūros ryšį, kodą reikia įkelti į „Arduino“. Kodas po žingsnio paaiškinamas žemiau.
Pirmiausia įtraukite visas reikalingas bibliotekas. Atidarykite „Arduino IDE“, tada eikite į skirtuką „ Eskizas“ ir spustelėkite parinktį Įtraukti biblioteką-> Tvarkyti bibliotekas . Tada paieškos laukelyje ieškokite „Blynk“, tada atsisiųskite ir įdiekite „Arduino UNO“ paketą „Blynk“.
Čia „ Adafruit_NeoPixel.h “ biblioteka naudojama RGB LED matricai valdyti. Norėdami jį įtraukti, galite atsisiųsti „ Adafruit_NeoPixel“ biblioteką iš pateiktos nuorodos. Tai gavę, galite įtraukti jį į parinktį Įtraukti ZIP biblioteką.
#define BLYNK_PRINT derinimo serija #include #include
Tada mes nustatome šviesos diodų skaičių, kuris reikalingas mūsų LED matricai, taip pat nustatome kaiščių skaičių, kuris naudojamas LED parametrams valdyti.
#define PIN 6 #define NUM_PIXELS 40
Tada mes turime įdėti mūsų Blink autentifikavimo ID į autorizacijos masyvas, kurį mes išgelbėti anksčiau.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Čia programinės įrangos serijos kaiščiai naudojami kaip derinimo pultas. Taigi, „Arduino“ kaiščiai yra apibrėžti kaip derinimo serija žemiau.
# įtraukti
Viduje sąrankos metu nuoseklusis ryšys inicijuojamas naudojant funkciją „ Serial.begin“ , „blynk“ sujungiamas naudojant „ Blynk.begin“ ir naudojant „ pixels.begin“ (), inicijuojama LED matrica.
negaliojanti sąranka () { DebugSerial.begin (9600); pixels.begin (); Serijos pradžia (9600); Blynk.begin (nuoseklus, aut.); }
Viduje kilpos () , mes naudojome Blynk.run () , kuri patikrina už gaunamus komandas iš blynk GUI ir vykdo operacijas atitinkamai.
tuštuma kilpa () { Blynk.run (); }
Paskutiniame etape reikia gauti ir apdoroti parametrus, kurie buvo išsiųsti iš „Blynk“ programos. Šiuo atveju parametrai buvo paskirstyti virtualiam kaiščiui „V2“, kaip aptarta anksčiau sąrankos skyriuje. BLYNK_WRITE funkcija yra integruota funkcija, kuri iškviečiama, kai pasikeičia susieto virtualaus kaiščio būsena / vertė. mes galime paleisti kodą šioje funkcijoje, kaip ir bet kurią kitą „Arduino“ funkciją.
Čia parašyta funkcija BLYNK_WRITE, norint patikrinti gaunamus duomenis virtualiame smeigtuke V2. Kaip parodyta „Blink“ sąrankos skyriuje, spalvų pikselių duomenys buvo sujungti ir priskirti V2 kaiščiui. Taigi po dekodavimo taip pat turime vėl atsijungti. Kadangi norint valdyti LED pikselių matricą, mums reikia visų 3 atskirų spalvų pikselių duomenų, tokių kaip raudona, žalia ir mėlyna. Kaip parodyta žemiau esančiame kode, trys matricos indeksai buvo perskaityti kaip param.asInt (), kad gautume raudonos spalvos vertę. Panašiai visos kitos dvi vertės buvo gautos ir saugomos 3 atskiruose kintamuosiuose. Tada šios vertės priskiriamos „Pixel“ matricai naudojant „ pixels.setPixelColor“ funkciją, kaip parodyta žemiau esančiame kode.
Čia funkcija pixels.setBrightness () naudojama ryškumui valdyti, o pixels.show () funkcija naudojama matricai rodyti nustatytą spalvą.
BLYNK_WRITE (V2) { int r = param.asInt (); int g = param.asInt (); int b = param.asInt (); pikseliai.skaidrus (); pixels.setBrightness (20); for (int i = 0; i <= NUM_PIXELS; i ++) { pixels.setPixelColor (i, pixels.Color (r, g, b)); } pixels.show (); }
Kodo įkėlimas į „Arduino Board“
Pirmiausia turime pasirinkti „Arduino“ UOSTĄ „Arduino IDE“ viduje, tada turime įkelti kodą į „Arduino UNO“. Po sėkmingo įkėlimo užsirašykite prievado numerį, kuris bus naudojamas nuosekliam ryšiui nustatyti.
Po to kompiuteryje raskite „Blynk“ bibliotekos scenarijų aplanką. Jis įdiegiamas, kai įdiegiate biblioteką, mano buvo
„C: \ Users \ PC_Name \ Documents \ Arduino \ library \ Blynk \ scripts“
Scenarijų aplanke turėtų būti failas pavadinimu „blynk-ser.bat“, kuris yra paketinis failas, naudojamas nuosekliam ryšiui, kurį turime redaguoti naudodami bloknotą. Atidarykite failą naudodami „Notepad“ ir pakeiskite prievado numerį į „Arduino“ prievado numerį, kurį pažymėjote paskutiniame žingsnyje.
Po redagavimo išsaugokite failą ir paleiskite paketinį failą dukart spustelėdami jį. Tada jūs turite pamatyti langą, kaip parodyta žemiau:
Pastaba: Jei nematote šio aukščiau rodomo lango ir raginama prisijungti iš naujo, tai gali būti dėl klaidos, susijusios su kompiuteriu su „Arduino“ skydu. Tokiu atveju patikrinkite „Arduino“ ryšį su kompiuteriu. Po to patikrinkite, ar COM prievado numeris rodomas „Arduino IDE“, ar ne. Jei jis rodo galiojantį COM prievadą, jis yra pasirengęs tęsti. Turėtumėte dar kartą paleisti paketinį failą.
Galutinė demonstracija:
Dabar atėjo laikas patikrinti grandinę ir jos funkcionalumą. Atidarykite „Blynk“ programą, atidarykite GUI ir spustelėkite mygtuką „Play“. Po to galite pasirinkti bet kurią norimą spalvą, kuri bus atspindėta LED matricoje. Kaip parodyta žemiau, mano atveju pasirinkau raudoną ir mėlyną spalvas, ji rodoma matricoje.
Taip pat galite pabandyti padaryti įvairias animacijas naudodami šias LED matricas, šiek tiek pritaikydami kodavimą.