- Adafruit 5X8 NeoPixel vairogs Arduino
- Izpratne par komunikācijas procesu starp Blynk App un Arduino
- Nepieciešamās sastāvdaļas
- Adafruit RGB LED vairogs un Arduino - aparatūras savienojums
- Blynk lietojumprogrammas konfigurēšana
- Arduino kods, kas kontrolē Adafruit WS2812B RGB LED vairogu
- Koda augšupielāde Arduino padomē
Dažu gadu laikā RGB gaismas diodes katru dienu kļūst populāras skaistās krāsas, spilgtuma un vilinošo gaismas efektu dēļ. Tāpēc to daudzās vietās izmanto kā dekoratīvu priekšmetu, piemēram, var būt mājas vai biroja telpas. Tāpat mēs varam izmantot RGB gaismas virtuvē un arī spēļu konsolē. Garastāvokļa apgaismojuma ziņā tie ir lieliski arī bērnu rotaļu istabā vai guļamistabās. Iepriekš, lai izveidotu mūzikas spektra vizualizatoru, mēs izmantojām WS2812B NeoPixel gaismas diodes un ARM mikrokontrolleru, tāpēc pārbaudiet, vai tas jums ir interesants.
Tāpēc šajā projektā mēs izmantosim Neopixel Based RGB LED matricas vairogu, Arduino un Blynk lietojumprogrammu, lai radītu daudz aizraujošu animācijas efektu un krāsu, kurus mēs varēsim kontrolēt ar Blynk lietotni. Tātad sāksim darbu !!!
Adafruit 5X8 NeoPixel vairogs Arduino
Arduino saderīgā NeoPixel Shield satur četrdesmit individuāli adresējamas RGB gaismas diodes, katrā no tām ir iebūvēts WS2812b draiveris, kas ir sakārtots 5 × 8 matricā, lai izveidotu šo NeoPixel Shield. Ja tas ir nepieciešams, var savienot arī vairākus NeoPixel vairogus, lai izveidotu lielāku vairogu. Lai kontrolētu RGB gaismas diodes, ir nepieciešama viena Arduino tapa, tāpēc šajā apmācībā mēs esam nolēmuši to izmantot, izmantojot Arduino 6. tapu.
Mūsu gadījumā gaismas diodes tiek darbinātas no Arduino iebūvētās 5 V tapas, kas ir pietiekams, lai ar pilnu spilgtumu darbinātu aptuveni “trešdaļu LED”. Ja jums ir nepieciešams barot vairāk gaismas diodes, tad, izmantojot ārējo 5 V spaili, varat samazināt iebūvēto izsekojamību un izmantot ārēju 5V padevi, lai darbinātu vairogu.
Izpratne par komunikācijas procesu starp Blynk App un Arduino
Šeit izmantotajai 8 * 5 RGB LED matricai ir četrdesmit individuāli adresējamu RGB LED, kuru pamatā ir WS2812B draiveris. Tam ir 24 bitu krāsu kontrole un 16,8 miljoni krāsu uz pikseļu. To var vadīt ar metodiku “Viena vada vadība”. Tas nozīmē, ka mēs varam kontrolēt visu LED pikseļu, izmantojot vienu vadības tapu. Strādājot ar gaismas diodēm, es esmu izgājis cauri šo gaismas diodu datu lapai, kur es uzskatu, ka vairoga darba sprieguma diapazons ir no 4 V līdz 6 V, un strāvas patēriņš ir 50 mA uz LED pie 5 V ar sarkanu, zaļu, un zilā krāsā ar pilnu spilgtumu. Tam ir reversā sprieguma aizsardzība uz ārējām strāvas tapām un Reset poga uz Shield, lai atiestatītu Arduino. Tam ir arī ārējās barošanas ievades tapa gaismas diodēm, ja ar iekšējo shēmu nav pieejams pietiekams enerģijas daudzums.
Kā parādīts iepriekš shematiskajā diagrammā, mums ir jālejupielādē un jāinstalē Blynk lietojumprogrammamūsu viedtālrunī, kur var kontrolēt tādus parametrus kā krāsa, spilgtums. Pēc parametru iestatīšanas, ja lietotnē notiek kādas izmaiņas, tas notiek Blynk mākonī, kur ir pievienots arī mūsu dators un gatavs saņemt atjauninātos datus. Arduino Uno ir savienots ar mūsu datoru, izmantojot USB kabeli, ar atvērtu komunikācijas portu. Izmantojot šo komunikācijas portu (COM ports), datus var apmainīt starp Blynk mākoni un Arduino UNO. Dators pieprasa datus no Blynk mākoņa nemainīgos laika intervālos, un, saņemot atjauninātus datus, tas tos pārsūta uz Arduino un pieņem lietotāja definētus lēmumus, piemēram, kontrolē RGB vadīto spilgtumu un krāsas. RGB LED vairogs ir novietots uz Arduino LED un saziņai ir savienots ar vienu datu kontaktu, pēc noklusējuma tas ir savienots, izmantojot Arduino D6 tapu.No Arduino UNO nosūtītie sērijveida dati tiek nosūtīti uz Neopixel shied, kas pēc tam tiek atspoguļots uz LED matricas.
Nepieciešamās sastāvdaļas
- Arduino UNO
- 8 * 5 RGB LED matricas vairogs
- USB A / B kabelis Arduino UNO
- Klēpjdators / dators
Adafruit RGB LED vairogs un Arduino - aparatūras savienojums
WS2812B Neopixel gaismas diodēm ir trīs tapas, viena ir paredzēta datiem, bet otra - enerģijai, taču šis īpašais Arduino vairogs aparatūras savienojumu padara ļoti vienkāršu, mums atliek tikai ievietot Neopixel LED matricu Arduino UNO augšpusē. Mūsu gadījumā LED tiek darbināts no noklusējuma Arduino 5V Rail. Pēc Neopixel Shield ievietošanas iestatījumi izskatās šādi:
Blynk lietojumprogrammas konfigurēšana
Blynk ir programma, kas var darboties pāri Android un IOS ierīcēm, lai kontrolētu visas IoT ierīces un ierīces, izmantojot mūsu viedtālruņus. Pirmkārt, lai izveidotu RGB LED matricu, ir jāizveido grafiskā lietotāja saskarne (GUI). Lietojumprogramma nosūtīs visus atlasītos parametrus no GUI uz Blynk Cloud. Uztvērēja sadaļā mums ir Arduino savienots ar datoru, izmantojot sērijas sakaru kabeli. Tādējādi dators pieprasa datus no Blynk mākoņa, un šie dati tiek nosūtīti uz Arduino nepieciešamajai apstrādei. Tātad, sāksim ar Blynk lietojumprogrammas iestatīšanu.
Pirms iestatīšanas lejupielādējiet Blynk lietojumprogrammu no Google Play veikala (IOS lietotāji var lejupielādēt no App Store). Pēc instalēšanas reģistrējieties, izmantojot savu e-pasta ID un paroli.
Jauna projekta izveide:
Pēc veiksmīgas instalēšanas atveriet lietojumprogrammu, un tur mēs iegūsim ekrānu ar opciju “ Jauns projekts ”. Noklikšķiniet uz tā, un tas parādīsies jaunā ekrānā, kur mums jāiestata tādi parametri kā Projekta nosaukums, Valde un savienojuma veids. Mūsu projektā izvēlieties ierīci kā “ Arduino UNO ” un savienojuma veidu kā “ USB ” un noklikšķiniet uz “ Izveidot”.
Pēc veiksmīgas projekta izveides mēs reģistrētajā pastā iegūsim autentifikācijas ID. Saglabājiet autentifikācijas ID turpmākai izmantošanai.
Grafiskās lietotāja saskarnes (GUI) izveide:
Atveriet projektu Blynkā, noklikšķiniet uz “+” zīmes, kur mēs iegūsim logrīkus, kurus varēsim izmantot savā projektā. Mūsu gadījumā mums ir nepieciešams RGB krāsu atlasītājs, kas norādīts zemāk kā “zeRGBa”.
Logrīku iestatīšana:
Pēc logrīku vilkšanas uz mūsu projektu, tagad mums ir jāiestata tā parametri, kurus izmanto krāsu RGB vērtību nosūtīšanai uz Arduino UNO.
Noklikšķiniet uz ZeRGBa, tad mēs iegūsim ekrānu ar nosaukumu ZeRGBa iestatījums. Tad iestatiet opciju Output uz “ Merge ” un iestatiet tapu uz “V2”, kas parādīts attēlā zemāk.
Arduino kods, kas kontrolē Adafruit WS2812B RGB LED vairogu
Pēc aparatūras savienojuma pabeigšanas kods ir jāaugšupielādē Arduino. Soli pa solim koda skaidrojums ir parādīts zemāk.
Pirmkārt, iekļaujiet visas nepieciešamās bibliotēkas. Atveriet Arduino IDE, pēc tam dodieties uz cilni Skice un noklikšķiniet uz opcijas Iekļaut bibliotēku-> Pārvaldīt bibliotēkas . Pēc tam meklēšanas lodziņā meklējiet Blynk un pēc tam lejupielādējiet un instalējiet Blynk pakotni Arduino UNO.
Šeit bibliotēka “ Adafruit_NeoPixel.h ” tiek izmantota, lai kontrolētu RGB LED matricu. Lai to iekļautu, no norādītās saites varat lejupielādēt Adafruit_NeoPixel bibliotēku. Kad esat to ieguvis, varat to iekļaut opcijā Iekļaut ZIP bibliotēku.
#define BLYNK_PRINT DebugSerial #include #include
Tad mēs definējam gaismas diožu skaitu, kas nepieciešams mūsu LED matricai, kā arī definējam tapu skaitu, kas tiek izmantots LED parametru kontrolei.
#define PIN 6 #define NUM_PIXELS 40
Tad mums ir nepieciešams, lai mūsu blink autentifikācijas ID tiek auth masīvs, kuru mēs esam saglabātas agrāk.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Šeit programmatūras sērijveida tapas tiek izmantotas kā atkļūdošanas konsole. Tātad, zemāk Arduino tapas tiek definētas kā atkļūdošanas sērijas.
# iekļaut
Iestatīšanas laikā sērijveida komunikācija tiek inicializēta, izmantojot funkciju Serial.begin , blynk ir savienots, izmantojot Blynk.begin un izmantojot pixels.begin (), LED matrica tiek inicializēta.
void setup () { DebugSerial.begin (9600); pixels.begin (); Sērijas sākums (9600); Blynk.begin (sērija, aut.); }
Cilpas iekšpusē () mēs izmantojām Blynk.run () , kas pārbauda ienākošās komandas no blynk GUI un attiecīgi izpilda operācijas.
void loop () { Blynk.run (); }
Pēdējā posmā ir jāsaņem un jāapstrādā parametri, kas tika nosūtīti no Blynk lietojumprogrammas. Šajā gadījumā parametri tika piešķirti virtuālajai tapai “V2”, kā iepriekš tika runāts iestatīšanas sadaļā. BLYNK_WRITE funkcija ir iebūvēta funkcija, kas tiek izsaukta ikreiz, kad mainās saistītā virtuālā tapa statuss / vērtība. šo funkciju mēs varam palaist kodu tāpat kā jebkuru citu Arduino funkciju.
Šeit tiek ierakstīta funkcija BLYNK_WRITE, lai pārbaudītu ienākošos datus virtuālajā tapā V2. Kā parādīts sadaļā Mirgot iestatīšana, krāsu pikseļu dati tika apvienoti un piešķirti V2 tapai. Tāpēc arī mums pēc dekodēšanas ir jāatsakās vēlreiz. Tā kā, lai kontrolētu LED pikseļu matricu, mums ir nepieciešami visi 3 atsevišķi krāsu pikseļu dati, piemēram, sarkans, zaļš un zils. Kā parādīts zemāk esošajā kodā, trīs matricas indeksi tika nolasīti kā param.asInt (), lai iegūtu sarkanās krāsas vērtību. Līdzīgi visas pārējās vērtības tika saņemtas un saglabātas 3 atsevišķos mainīgajos. Tad šīs vērtības tiek piešķirtas Pixel matricai, izmantojot pixels.setPixelColor funkciju, kā parādīts zemāk esošajā kodā.
Lūk, pixels.setBrightness () funkcija tiek izmantota, lai kontrolētu ekrāna spilgtumu un pixels.show () funkcija tiek izmantota, lai parādītu iestatīto krāsu Matrix.
BLYNK_WRITE (V2) { int r = param.asInt (); int g = param.asInt (); int b = param.asInt (); pikseļi.skaidrs (); pixels.setBrightness (20); for (int i = 0; i <= NUM_PIXELS; i ++) { pixels.setPixelColor (i, pixels.Color (r, g, b)); } pikseļi.parādīt (); }
Koda augšupielāde Arduino padomē
Pirmkārt, mums ir jāizvēlas Arduino PORT Arduino IDE iekšpusē, pēc tam kods ir jāaugšupielādē Arduino UNO. Pēc veiksmīgas augšupielādes pierakstiet porta numuru, kas tiks izmantots mūsu sērijveida sakaru iestatīšanai.
Pēc tam datorā atrodiet Blynk bibliotēkas skriptu mapi. Tā tiek instalēta, kad instalējat bibliotēku, manējā bija, “C: \ Users \ PC_Name \ Documents \ Arduino \ library \ Blynk \ scripts”
Skriptu mapē ir jābūt failam ar nosaukumu “blynk-ser.bat”, kas ir sērijveida saziņai izmantots sērijveida fails, kas mums jārediģē ar piezīmju bloku. Atveriet failu ar notepad un nomainiet porta numuru uz savu Arduino porta numuru, kuru esat atzīmējis pēdējā solī.
Pēc rediģēšanas saglabājiet failu un palaidiet pakešfailu, veicot dubultklikšķi uz tā. Pēc tam jums ir jāredz šāds logs, kā parādīts zemāk:
Piezīme: Ja jūs nevarat redzēt šo logu, kas parādīts iepriekš, un tiek piedāvāts atkārtoti izveidot savienojumu, iespējams, tas ir saistīts ar kļūdu saistībā ar datoru ar Arduino vairogu. Tādā gadījumā pārbaudiet savu Arduino savienojumu ar datoru. Pēc tam pārbaudiet, vai COM porta numurs tiek parādīts Arduino IDE, vai ne. Ja tas parāda derīgo COM portu, tas ir gatavs turpināt. Jums vajadzētu vēlreiz palaist pakešdatni.
Pēdējā demonstrācija:
Tagad ir pienācis laiks pārbaudīt ķēdi un tās funkcionalitāti. Atveriet Blynk lietojumprogrammu un GUI un noklikšķiniet uz pogas Atskaņot. Pēc tam jūs varat izvēlēties jebkuru no vēlamajām krāsām, kas jāatspoguļo LED matricā. Kā parādīts zemāk, manā gadījumā esmu izvēlējies sarkano un zilo krāsu, tā tiek parādīta Matrix.
Tāpat jūs varat mēģināt izveidot dažādas animācijas, izmantojot šīs LED matricas, mazliet pielāgojot kodēšanu.