- Adafruit 5X8 NeoPixel Shield Arduinolle
- Blynk-sovelluksen ja Arduinon välisen viestintäprosessin ymmärtäminen
- Tarvittavat komponentit
- Adafruit RGB LED Shield and Arduino - laitteistoyhteys
- Blynk-sovelluksen määritys
- Arduino-koodi ohjaa Adafruit WS2812B RGB-LED-kilpiä
- Koodin lataaminen Arduino Boardiin
Muutaman vuoden aikana RGB-LEDit ovat suosittuja päivittäin sen kauniin värin, kirkkauden ja houkuttelevien valotehosteiden ansiosta. Siksi sitä käytetään monissa paikoissa koriste-esineenä, esimerkkinä voi olla koti tai toimistotila. Voimme myös käyttää RGB-valoja keittiössä ja myös pelikonsolissa. Ne ovat myös hyviä lasten leikkihuoneessa tai makuuhuoneissa mielialan valaistuksen kannalta. Aikaisemmin käytimme WS2812B NeoPixel -LED-merkkivaloja ja ARM-mikrokontrolleria rakentaaksesi musiikkispektri Visualizerin, joten tarkista, jos se on mielenkiintoista sinulle.
Siksi tässä projektissa aiomme käyttää Neopixel Based RGB LED matrix shield, Arduino ja Blynk -sovellusta tuottamaan monia kiehtovia animaatioefektejä ja värejä, joita voimme hallita Blynk-sovelluksella. Joten aloitetaan !!!
Adafruit 5X8 NeoPixel Shield Arduinolle
Arduino-yhteensopiva NeoPixel Shield sisältää neljäkymmentä erikseen osoitettavaa RGB-LEDiä, joista jokaisessa on sisäänrakennettu WS2812b-ohjain, joka on järjestetty 5 × 8-matriisiin muodostaakseen tämän NeoPixel-kilven. Useita NeoPixel-kilpiä voidaan myös liittää muodostamaan suurempi kilpi, jos se on vaatimus. RGB-LEDien ohjaamiseen tarvitaan yksi Arduino-tappi, joten tässä opetusohjelmassa olemme päättäneet käyttää Arduinon nastaa 6 siihen.
Meidän tapauksessamme LEDit saavat virtansa Arduinon sisäänrakennetusta 5 V: n nastasta, mikä riittää noin kolmanneksen LEDien virran saamiseen täydellä kirkkaudella. Jos sinun on kytkettävä enemmän LED-merkkivaloja, voit leikata sisäänrakennetun jäljen ja käyttää ulkoista 5 V: n virtalähdettä suojauksen virran saamiseksi käyttämällä ulkoista 5 V -liitintä.
Blynk-sovelluksen ja Arduinon välisen viestintäprosessin ymmärtäminen
Tässä käytetyssä 8 * 5 RGB-LED-matriisissa on neljäkymmentä erikseen osoitettavaa RGB-LEDiä, jotka perustuvat WS2812B-ohjaimeen. Siinä on 24-bittinen värisäätö ja 16,8 miljoonaa väriä per pikseli. Sitä voidaan ohjata yhden langan ohjausmenetelmällä. Tämä tarkoittaa, että voimme ohjata koko LED-pikseliä yhdellä ohjaintapilla. Työskennellessäni LEDien kanssa olen käynyt läpi näiden LEDien datalehden, jossa suojan käyttöjännitealue on 4 - 6 V ja virrankulutus on 50 mA / 5 V: n LED punaisella, vihreällä, ja sininen täydellä kirkkaudella. Siinä on käänteinen jännitesuoja ulkoisissa virtaliittimissä ja Reset-painike Shieldissä Arduinon nollaamiseksi. Siinä on myös ulkoinen virransyöttötappi LEDejä varten, jos sisäisen piirin kautta ei ole saatavana riittävästi virtaa.
Kuten yllä olevassa kaaviossa on esitetty, meidän on ladattava ja asennettava Blynk-sovellusälypuhelimellamme, jossa parametreja, kuten väriä, kirkkautta, voidaan hallita. Parametrien asettamisen jälkeen, jos sovelluksessa tapahtuu muutoksia, se on Blynk-pilvessä, johon myös tietokoneemme on kytketty ja valmis vastaanottamaan päivitetyt tiedot. Arduino Uno on kytketty tietokoneeseemme USB-kaapelilla, kun tietoliikenneportti on auki, tällä tiedonsiirtoportilla (COM-portti) tietoja voidaan vaihtaa Blynk-pilven ja Arduino UNO: n välillä. PC pyytää tietoja Blynk-pilvestä tasaisin aikavälein, ja kun päivitetyt tiedot vastaanotetaan, se siirtää ne Arduinolle ja tekee käyttäjän määrittelemiä päätöksiä, kuten RGB-led-kirkkauden ja -värien hallinta. RGB-LED-suoja on sijoitettu Arduino LED -laitteeseen ja kytketty yhden datanastan kautta tiedonsiirtoa varten, oletusarvoisesti se on kytketty Arduinon D6-nastan kautta.Arduino UNO: sta lähetetyt sarjatiedot lähetetään Neopixel shiediin, joka heijastuu sitten LED-matriisiin.
Tarvittavat komponentit
- Arduino UNO
- 8 * 5 RGB LED Matrix -suoja
- USB A / B -kaapeli Arduino UNO: lle
- Kannettava tietokone / PC
Adafruit RGB LED Shield and Arduino - laitteistoyhteys
WS2812B Neopixel -LEDeillä on kolme nastaa, yksi on dataa varten ja toisia kahta käytetään virtaan, mutta tämä erityinen Arduino-suojus tekee laitteistoyhteydestä erittäin yksinkertaisen, meidän on vain sijoitettava Neopixel LED -matriisi Arduino UNO: n päälle. Meidän tapauksessamme LED saa virran oletusarvoisesta Arduino 5V Rail -kiskosta. Neopixel Shieldin asettamisen jälkeen asennus näyttää seuraavalta:
Blynk-sovelluksen määritys
Blynk on sovellus, joka voi ajaa Android- ja IOS- laitteita hallitsemaan kaikkia IoT-laitteita ja laitteita älypuhelimillamme. Ensinnäkin RGB-LED-matriisin ohjaamiseksi on luotava graafinen käyttöliittymä (GUI). Sovellus lähettää kaikki valitut parametrit graafisesta käyttöliittymästä Blynk Cloudiin. Vastaanotinosassa Arduino on kytketty tietokoneeseen sarjaliikennekaapelilla. Siksi PC pyytää tietoja Blynk-pilvestä, ja nämä tiedot lähetetään Arduinoon tarvittavaa käsittelyä varten. Joten aloitetaan Blynk-sovelluksen määritys.
Lataa ennen määritystä Blynk-sovellus Google Play -kaupasta (IOS-käyttäjät voivat ladata App Storesta). Asennuksen jälkeen kirjaudu sisään sähköpostiosoitteellasi ja salasanallasi.
Uuden projektin luominen:
Onnistuneen asennuksen jälkeen avaa sovellus ja siellä saamme näytön, jossa on vaihtoehto ” Uusi projekti ”. Napsauta sitä ja se avautuu uudelle näytölle, jossa meidän on määritettävä parametrit, kuten Projektin nimi, Hallitus ja yhteystyyppi. Valitse projektissamme laitteeksi " Arduino UNO " ja yhteystyypiksi " USB " ja napsauta " Luo".
Projektin onnistuneen luomisen jälkeen saamme todentamistunnuksen rekisteröityyn postiin. Tallenna todentamistunnus myöhempää tarvetta varten.
Graafisen käyttöliittymän (GUI) luominen:
Avaa projekti Blynkissä, napsauta “+” -merkkiä, mistä saamme widgetit, joita voimme käyttää projektissamme. Meidän tapauksessamme tarvitsemme RGB-värivalitsimen, joka on lueteltu nimellä "zeRGBa", kuten alla on esitetty.
Widgetien asettaminen:
Kun olemme vetäneet widgetit projektiimme, meidän on nyt asetettava sen parametrit, joita käytetään RGB-väriarvojen lähettämiseen Arduino UNO: lle.
Napsauta ZeRGBa, niin saat näytön nimeltä ZeRGBa-asetus. Aseta sitten Output-asetukseksi ” Merge ” ja aseta tappi arvoon “V2”, joka näkyy alla olevassa kuvassa.
Arduino-koodi ohjaa Adafruit WS2812B RGB-LED-kilpiä
Laitteistoyhteyden muodostamisen jälkeen koodi on ladattava Arduinoon. Koodin vaiheittainen selitys on esitetty alla.
Liitä ensin kaikki vaaditut kirjastot. Avaa Arduino IDE, siirry sitten Luonnos- välilehteen ja napsauta vaihtoehtoa Sisällytä kirjasto-> Hallinnoi kirjastoja . Etsi sitten hakukentästä Blynk ja lataa ja asenna sitten Arduino UNO: n Blynk-paketti.
Tässä “ Adafruit_NeoPixel.h ” -kirjastoa käytetään ohjaamaan RGB-LED-matriisia. Voit sisällyttää sen lataamalla Adafruit_NeoPixel- kirjaston annetusta linkistä. Kun olet saanut sen, voit sisällyttää sen Sisällytä ZIP-kirjasto -vaihtoehtoon.
#define BLYNK_PRINT DebugSerial #include #include
Määritetään sitten LED-matriisiamme tarvitsevien ledien lukumäärä ja myös pin-numero, jota käytetään LED-parametrien ohjaamiseen.
#define PIN 6 #define NUM_PIXELS 40
Sitten meidän täytyy laittaa vilkkuvat todennus ID käytettäessä auth jono, jonka olemme säästäneet aikaisemmin.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Tässä ohjelmiston sarjapinnejä käytetään virhekonsolina. Joten Arduino-nastat määritellään alla oleviksi virheenkorjaussarjoiksi.
#sisältää
Asennuksen sisällä sarjaliikenne alustetaan toiminnolla Serial.begin , blynk kytketään Blynk.begin ja pixels.begin () -toiminnolla, LED-matriisi alustetaan.
void setup () { DebugSerial.begin (9600); pixels.begin (); Sarjan alku (9600); Blynk.begin (Sarja, todennut); }
Silmukan () sisällä olemme käyttäneet Blynk.run () -ohjelmaa , joka tarkistaa saapuvat komennot blynk-käyttöliittymästä ja suorittaa toiminnot vastaavasti.
void loop () { Blynk.run (); }
Viimeisessä vaiheessa Blynk-sovelluksesta lähetetyt parametrit on vastaanotettava ja käsiteltävä. Tässä tapauksessa parametrit jaettiin virtuaalitappiin “V2”, kuten aiemmin keskusteltiin asennusosassa. BLYNK_WRITE- toiminto on sisäänrakennettu toiminto, jota kutsutaan aina, kun siihen liittyvän virtuaalisen nastan tila / arvo muuttuu. Voimme suorittaa koodin tämän toiminnon sisällä kuten kaikki muutkin Arduino-toiminnot.
Tässä BLYNK_WRITE- funktio kirjoitetaan tarkistamaan saapuvat tiedot virtuaalitapilla V2. Kuten Blink-asetukset-osiossa näkyy, väripikselidata yhdistettiin ja osoitettiin V2-nastalle. Joten meidän on myös purettava sulautuminen uudelleen purkamisen jälkeen. Koska LED-pikselimatriisin hallitsemiseksi tarvitsemme kaikki 3 yksittäistä väripikselidataa, kuten punainen, vihreä ja sininen. Kuten alla olevasta koodista ilmenee, matriisin kolme hakemistoa luettiin kuten param.asInt (), jotta saatiin punaisen värin arvo. Vastaavasti kaikki muut kaksi arvoa vastaanotettiin ja tallennettiin 3 erilliseen muuttujaan. Sitten nämä arvot määritetään Pixel-matriisiin käyttämällä pixels.setPixelColor- funktiota alla olevan koodin mukaisesti.
Tässä pixels.setBrightness () -toimintoa käytetään kirkkauden säätämiseen ja pixels.show () -toimintoa käytetään asetetun värin näyttämiseen Matriisissa.
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)); } pikseliä.show (); }
Koodin lataaminen Arduino Boardiin
Ensinnäkin meidän on valittava Arduinon portti Arduino IDE: n sisällä, sitten meidän on lähetettävä koodi Arduino UNO: hon. Kun lähetys on onnistunut, kirjoita muistiin porttinumero, jota käytetään sarjaliikenteen määritykseen.
Tämän jälkeen etsi tietokoneeltasi Blynk-kirjaston komentosarjakansio. Se asennetaan, kun asennat kirjaston, minun oli, "C: \ Users \ PC_Name \ Documents \ Arduino \ kirjastot \ Blynk \ scripts"
Komentosarjakansiossa pitäisi olla tiedosto nimeltä "blynk-ser.bat", joka on sarjaviestintään käytetty erätiedosto, jota meidän on muokattava notepadilla. Avaa tiedosto notepadilla ja vaihda portin numero Arduino-porttinumeroosi, jonka olet huomannut viimeisessä vaiheessa.
Muokkaamisen jälkeen tallenna tiedosto ja suorita erätiedosto kaksoisnapsauttamalla sitä. Sitten sinun täytyy nähdä alla olevan kuvan mukainen ikkuna:
Huomaa: Jos et näe tätä yllä olevaa ikkunaa ja sitä kehotetaan muodostamaan yhteys uudelleen, se saattaa johtua virheestä, joka liittyy tietokoneeseen Arduino-kilpeen. Tarkista siinä tapauksessa Arduino-yhteys tietokoneeseen. Tämän jälkeen tarkista, näkyykö COM-porttinumero Arduino IDE: ssä vai ei. Jos se näyttää kelvollisen COM-portin, se on valmis jatkamaan. Suorita komentojonotiedosto uudelleen.
Viimeinen esittely:
Nyt on aika testata piiri ja sen toimivuus. Avaa Blynk-sovellus, avaa käyttöliittymä ja napsauta Toista-painiketta. Tämän jälkeen voit valita haluamasi värit, jotka heijastuvat LED-matriisiin. Kuten alla on esitetty, minun tapauksessani olen valinnut punaisen ja sinisen värin, se näkyy matriisissa.
Vastaavasti voit myös yrittää tehdä erilaisia animaatioita näiden LED-matriisien avulla mukauttamalla koodausta vähän.