- Adafruit 5X8 NeoPixel Shield för Arduino
- Förstå kommunikationsprocessen mellan Blynk App och Arduino
- Komponenter krävs
- Adafruit RGB LED-skärm och Arduino - Hårdvaruanslutning
- Konfigurera Blynk-applikationen
- Arduino kodkontroll Adafruit WS2812B RGB LED-skärm
- Ladda upp koden till Arduino Board
Under några år blir RGB-lysdioder populära dag för dag på grund av dess vackra färg, ljusstyrka och lockande ljuseffekter. Det är därför det används på många ställen som ett dekorativt föremål, ett exempel kan vara hemmet eller ett kontorsutrymme. Vi kan också använda RGB-lamporna i köket och även i en spelkonsol. De är också bra i ett barns lekrum eller sovrum när det gäller stämningsbelysning. Tidigare använde vi WS2812B NeoPixel-lysdioderna och ARM Microcontroller för att bygga en Music Spectrum Visualizer, så kolla in det om det är intressant för dig.
Det är därför vi i detta projekt kommer att använda en Neopixel-baserad RGB LED-matrissköld, Arduino och Blynk-applikation för att producera många fascinerande animeringseffekter och färger som vi kommer att kunna kontrollera med Blynk-appen. Så låt oss komma igång !!!
Adafruit 5X8 NeoPixel Shield för Arduino
Den Arduino-kompatibla NeoPixel Shield innehåller fyrtio individuellt adresserbara RGB-lysdioder, var och en har WS2812b-drivrutinen inbyggd, som är ordnad i en 5 × 8-matris för att bilda denna NeoPixel Shield. Flera NeoPixel-skärmar kan också anslutas för att bilda en större skärm om det är ett krav. För att styra RGB-lysdioderna krävs en enda Arduino-stift, så i denna handledning har vi beslutat att använda stift 6 i Arduino för att göra det.
I vårt fall drivs lysdioderna från Arduinos inbyggda 5V-stift, vilket är tillräckligt för att driva cirka en tredjedel av lysdioderna med full ljusstyrka. Om du behöver driva fler lysdioder kan du klippa in den inbyggda spårningen och använda en extern 5v-matning för att driva skärmen med den externa 5V-terminalen.
Förstå kommunikationsprocessen mellan Blynk App och Arduino
8 * 5 RGB LED-matrisen som används här har fyrtio individuellt adresserbara RGB-lysdioder baserat på WS2812B-drivrutin. Den har 24-bitars färgkontroll och 16,8 miljoner färger per pixel. Den kan styras med "One wire control" -metoden. Det betyder att vi kan styra hela LED-pixeln med en enda kontrollstift. Under arbetet med lysdioderna har jag gått igenom databladet för dessa lysdioder där jag tycker att skärmens driftsspänningsområde är 4 V till 6 V och strömförbrukningen upptäcks 50 mA per LED vid 5 V med röd, grön, och blått vid full ljusstyrka. Det har backspänningsskydd på de externa kraftuttagen och en återställningsknapp på skärmen för att återställa Arduino. Den har också ett externt ingångsstift för lysdioder om det inte finns tillräckligt med ström via interna kretsar.
Som visas i det schematiska diagrammet ovan måste vi ladda ner och installera Blynk-applikationenpå vår smartphone där parametrar som färg, ljusstyrka kan kontrolleras. Efter att ha ställt in parametrarna, om det händer några ändringar i appen, är det till Blynk-molnet där vår dator också är ansluten och redo att ta emot uppdaterade data. Arduino Uno är ansluten till vår dator via USB-kabel med en kommunikationsport öppnad, med denna kommunikationsport (COM-port) kan data utbytas mellan Blynk-molnet och Arduino UNO. PC begär data från Blynk-molnet med konstanta tidsintervall och när en uppdaterad data tas emot överför den den till Arduino och fattar användardefinierade beslut som att styra RGB-ledd ljusstyrka och färger. RGB LED-skärmen är placerad på Arduino LED och ansluten via en enda datapinne för kommunikation, som standard är den ansluten via D6-stiftet i Arduino.Seriedata som skickas från Arduino UNO skickas till Neopixel shied som sedan reflekteras på LED-matrisen.
Komponenter krävs
- Arduino UNO
- 8 * 5 RGB LED-matrisskydd
- USB A / B-kabel för Arduino UNO
- Bärbar dator / PC
Adafruit RGB LED-skärm och Arduino - Hårdvaruanslutning
WS2812B Neopixel-lysdioderna har tre stift, en är för data och ytterligare två används för ström, men den här specifika Arduino-skärmen gör hårdvaruanslutningen väldigt enkel, allt vi behöver göra är att placera Neopixel LED-matrisen på toppen av Arduino UNO. I vårt fall drivs lysdioden från standard Arduino 5V Rail. Efter att Neopixel Shield har placerats ser installationen ut som nedan:
Konfigurera Blynk-applikationen
Blynk är ett program som kan köras över Android- och IOS- enheter för att styra alla IoT-enheter och apparater som använder våra smartphones. Först och främst måste ett grafiskt användargränssnitt (GUI) skapas för att styra RGB LED-matrisen. Applikationen skickar alla valda parametrar från GUI till Blynk Cloud. I mottagaravsnittet har vi Arduino ansluten till datorn via en seriell kommunikationskabel. Därför begär PC data från Blynk-molnet och dessa data skickas till Arduino för nödvändig bearbetning. Så, låt oss komma igång med installationen av Blynk-applikationen.
Innan installationen, ladda ner Blynk-applikationen från Google Play store (IOS-användare kan ladda ner från App Store). Efter installationen, registrera dig med ditt e-post-ID och lösenord.
Skapa ett nytt projekt:
Efter lyckad installation öppnar du applikationen och där får vi en skärm med alternativet ” Nytt projekt ”. Klicka på den så visas en ny skärm där vi måste ställa in parametrar som projektnamn, styrelse och anslutningstyp. I vårt projekt väljer du enheten som " Arduino UNO " och anslutningstyp som " USB " och klickar på " Skapa".
Efter framgångsrikt skapande av projektet får vi ett autentiserings-ID i vårt rekommenderade brev. Spara autentiserings-ID för framtida referens.
Skapa grafiskt användargränssnitt (GUI):
Öppna projektet i Blynk, klicka på "+" -tecknet där vi får de widgets som vi kan använda i vårt projekt. I vårt fall behöver vi en RGB-färgväljare som är listad som “zeRGBa” som visas nedan.
Ställa in widgets:
Efter att ha dragit widgetarna till vårt projekt måste vi nu ställa in dess parametrar som används för att skicka färg RGB-värden till Arduino UNO.
Klicka på ZeRGBa, då får vi en skärm med namnet ZeRGBa-inställning. Ställ sedan in alternativet Output till “ Merge ” och ställ in stiftet till “V2” som visas i bilden nedan.
Arduino kodkontroll Adafruit WS2812B RGB LED-skärm
Efter avslutad hårdvaruanslutning måste koden laddas upp till Arduino. Steg för steg förklaring av koden visas nedan.
Inkludera först alla nödvändiga bibliotek. Öppna Arduino IDE, gå sedan till fliken Skiss och klicka på alternativet Inkludera bibliotek-> Hantera bibliotek . Sök sedan efter Blynk i sökrutan och ladda ner och installera sedan Blynk-paketet för Arduino UNO.
Här används “ Adafruit_NeoPixel.h ” -biblioteket för att styra RGB LED-matrisen. För att inkludera det kan du ladda ner Adafruit_NeoPixel- biblioteket från den givna länken. När du väl har fått det kan du inkludera det med alternativet Inkludera ZIP-bibliotek.
#define BLYNK_PRINT DebugSerial #include #include
Sedan definierar vi antalet lysdioder, vilket krävs för vår LED-matris, och vi definierar också det stiftnummer som används för att styra LED-parametrarna.
#define PIN 6 #define NUM_PIXELS 40
Då måste vi lägga vårt blink-autentiserings-ID i en auth- array, som vi har sparat tidigare.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Här används mjukvaruseriella stift som felsökningskonsol. Så, Arduino-stiften definieras som felsökningsserier nedan.
#omfatta
Inuti installationen initieras seriell kommunikation med funktionen Serial.begin , blynk är ansluten med Blynk.begin och med hjälp av pixels.begin () initialiseras LED-matrisen.
ogiltig installation () { DebugSerial.begin (9600); pixlar. börjar (); Serial.begin (9600); Blynk.begin (Serial, auth); }
Inuti slingan () har vi använt Blynk.run () , som söker efter inkommande kommandon från blynk GUI och utför operationerna därefter.
ogiltig slinga () { Blynk.run (); }
I slutskedet måste parametrarna som skickades från Blynk-applikationen tas emot och behandlas. I det här fallet tilldelades parametrarna en virtuell stift "V2" som diskuterades tidigare i installationssektionen. BLYNK_WRITE- funktionen är en inbyggd funktion som anropas när den associerade virtuella stiftens tillstånd / värde ändras. vi kan köra kod inuti denna funktion precis som alla andra Arduino-funktioner.
Här skrivs BLYNK_WRITE- funktionen för att kontrollera inkommande data på virtuell stift V2. Som visas i avsnittet Blinkinställning slogs färgpixeldata samman och tilldelades V2-stiftet. Så vi måste också slå samman igen efter avkodning. För att styra LED-pixelmatrisen behöver vi alla 3 individuella färgpixeldata som rött, grönt och blått. Som visas i koden nedan lästes tre index för matrisen som param.asInt () för att få värdet av röd färg. På samma sätt mottogs och lagrades alla de andra två värdena i tre individuella variabler. Därefter tilldelas dessa värden till Pixel-matrisen med hjälp av pixlar.setPixelColor- funktionen som visas i koden nedan.
Här används pixlar.setBrightness () -funktionen för att kontrollera ljusstyrkan och pixlar.show () -funktionen används för att visa den inställda färgen i matrisen.
BLYNK_WRITE (V2) { int r = param.asInt (); int g = param.asInt (); int b = param.asInt (); pixlar.klart (); pixlar.setBrightness (20); för (int i = 0; i <= NUM_PIXELS; i ++) { pixlar.setPixelColor (i, pixlar.Color (r, g, b)); } pixlar.show (); }
Ladda upp koden till Arduino Board
Först måste vi välja Arduino PORT i Arduino IDE, sedan måste vi ladda upp koden till Arduino UNO. Efter en lyckad uppladdning antecknar du portnumret som kommer att användas för vår seriekommunikationsinställning.
Efter detta hittar du skriptmappen för Blynk-biblioteket på din dator. Det installeras när du installerar biblioteket, mitt var i, "C: \ Users \ PC_Name \ Documents \ Arduino \ bibliotek \ Blynk \ scripts"
I skriptmappen ska det finnas en fil med namnet “blynk-ser.bat” som är en batchfil som används för seriekommunikation som vi behöver redigera med anteckningar. Öppna filen med anteckningsblock och ändra portnumret till ditt Arduino-portnummer som du noterade i det sista steget.
Efter redigering, spara filen och kör batchfilen genom att dubbelklicka på den. Då måste du se ett fönster som visas nedan:
Obs! Om du inte kan se det här fönstret som visas ovan och det uppmanas att återansluta kan det bero på felet i anslutning till PC med Arduino-skölden. Kontrollera i så fall din Arduino-anslutning till datorn. Efter det, kontrollera om COM-portnumret visas i Arduino IDE eller inte. Om den visar den giltiga COM-porten är den redo att fortsätta. Du bör köra batchfilen igen.
Slutlig demonstration:
Nu är det dags att testa kretsen och dess funktionalitet. Öppna Blynk-applikationen och öppna GUI och klicka på Spela-knappen. Därefter kan du välja vilken färg du vill spegla i LED-matrisen. Som visas nedan, i mitt fall har jag valt den röda och blå färgen, den visas på matrisen.
På samma sätt kan du också försöka skapa olika animationer med hjälp av dessa LED-matriser genom att anpassa kodningen lite.