Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Forbrugsvarer
- Trin 2: Bestemmelse af den rigtige strømforsyning til din LedWall
- Trin 3: Netledningen
- Trin 4: Tilslut strømforsyningen
- Trin 5: Strømforsyning til ESP32S
- Trin 6: Tænd for LED -lysstrimlerne
- Trin 7: Tilslutning af ESP32 til LED -lysstrimlerne
- Trin 8: Forberedelse af computeren: C2102 -driver
- Trin 9: Arduino -software - Tilføjelse af ESP32 -understøttelse - Trin 1
- Trin 10: Arduino -software - Tilføjelse af ESP32 -understøttelse - Trin 2
- Trin 11: Arduino Software - Tilføjelse af ESP32 Support - Trin 3
- Trin 12: Tilføjelse af biblioteker til Arduino IDE
- Trin 13: Første kode: Strandtest
- Trin 14: SHU -prøvekode
- Trin 15: Upload kode til ESP32
- Trin 16: Citater
Video: 500 lysdioder Væg med ESP32: 16 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Hej allesammen! Ved afslutningen af denne vejledning ved du, hvordan du opretter din egen LED -væg.
Denne vejledning er baseret på et sommerprogram, der tilbydes på Sacred Heart University.
Hav det sjovt!
Forbrugsvarer
Supplies anført nedenfor.
Trin 1: Forbrugsvarer
Lad os starte med at samle alt, hvad vi har brug for for at fuldføre vores Led Wall:
(Links blev oprettet den 7/10/2019)
Arduino IDE -software
ESP32 mikrokontroller
LED Pixel Light
Strømforsyning
Strømkabel
Wire Stripping Tool
Breadboard Jumper kabler
Elektrisk ledning
Trin 2: Bestemmelse af den rigtige strømforsyning til din LedWall
Der er en simpel matematisk måde at finde ud af, hvilken strømforsyning der er bedst til din brug.
Vi bruger Ohms strømlov: P = IxV (effekt = intensitet x spænding)
Spænding bestemmes af vores lysdioder: i dette tilfælde 5V.
Intensiteten afhænger af hardwaren, en enkelt LED bruger 30mA.
Hver strimmel med 50 lysdioder forbruger derfor 50 x 30mA = 1250mA = 1,25A.
Vores 500 Led væg forbruger derfor 10 gange det (10 strimler): 12,5A.
Strømforbruget er derefter 5V x 12,5A = 62,5W for lysdioderne.
Selvfølgelig skal du oven på lysdioderne redegøre for ESP og alle andre elementer i dit kredsløb.
Vi har en 60A strømforsyning, vi har meget mere, end vi har brug for.
Trin 3: Netledningen
Vores strømforsyning leveres med ledningsstik. Vi skal tilpasse en netledning til at slutte den til et 110V -stik.
- Skær hunstikket af netledningen. Vi beholder handelen, ellers kendt som NEMA 5-15P.
- Fjern kablet for at have omkring 3 mm kobber synligt på alle ledninger.
Her er en hurtig video -tutorial om, hvordan du fjerner ledninger:
Trin 4: Tilslut strømforsyningen
Nu er vi klar til at tilslutte vores strømforsyning!
Tag altid stikket ud af stikkontakten, når du arbejder på det.
Ledninger
- Den sorte ledning (fase) tilsluttes strømforsyningens 'L' pin
- Den hvide ledning (Neutral) tilsluttes strømforsyningens 'N' pin
- Den grønne ledning tilsluttes strømforsyningens 'Ground' pin
(Hvis din netlednings indvendige ledninger ikke er i de samme farver som vores, skal du være sikker og se skemaerne online.)
Test
Sæt computerens netledning i en stikkontakt. Den grønne LED på strømforsyningen skal tænde.
Trin 5: Strømforsyning til ESP32S
Når du ser på din ESP, skal der være etiketter ved siden af alle hver pin. Hvis den ikke er mærket, kan du slå 'pinout' for din individuelle ESP online op.
Tilslut en:
- '5V' ESP32S pin til '+V' på strømforsyningen (orange på billedet ovenfor)
- 'GND' ESP32S pin til '-V' sektionen af strømforsyningen (sort på billedet ovenfor)
(På nogle ESP'er er '5V' -stiften i stedet mærket som' VCC ', de betyder begge det samme.)
Bemærk venligst, at din ESP kan have en anden 'pinout' end den, vi bruger. Som sådan kan du tilslutte dine ledninger til et andet sted end på billedet ovenfor. Så længe du tilslutter til de korrekte ben (5V & GND), den fysiske placering på tavlen er ligegyldig.
AfprøvningTilslut strømforsyningen igen, og hvis din ESP har en LED -indikator (de fleste gør), lyser den for at angive, at der sendes strøm til ESP'en. Tillykke!
Trin 6: Tænd for LED -lysstrimlerne
Brug af elektriske ledninger:
- Tilslut den røde ledning på LED Light Strip til V+ på strømforsyningen.
- Tilslut den blå ledning på LED Light Strip til V- på strømforsyningen.
Trin 7: Tilslutning af ESP32 til LED -lysstrimlerne
Vores ESP32 instruerer WS2811 -driveren, der er forbundet til hver LED, i den farve og lysstyrke, de skal have. For at gøre dette har vores ESP32 brug for et "data" -kabel til strimlerne.
Leds -stripsene leveres med et 3 -leder stik:
- Rød: Power- Blå: Neutral- Hvid: Data
Lad os forbinde det hvide Led -stripkabel til en digital pin på ESP. Husk venligst den valgte PIN -kode, da vi skal vælge det i koden senere. Vi sluttede vores til pin 13.
Trin 8: Forberedelse af computeren: C2102 -driver
Nu hvor vores hardware er kablet, vil vi uploade vores første kode for at teste den. Som standard kan Windows eller MacO'er ikke kommunikere med vores ESP32. For at gøre det skal vi downloade en "driver" til ESP USB -kommunikationschippen: C2102.
Denne driver skal downloades og installeres:
- Windows 10: https://www.silabs.com/documents/public/software/C…- Windows 7/8/8.1: https://www.silabs.com/documents/public/software/C…- Mac:
(Links fra 7/10/2019)
Trin 9: Arduino -software - Tilføjelse af ESP32 -understøttelse - Trin 1
Før vi kan bruge vores ESP32 med Arduino -softwaren, skal vi sikre os, at den genkendes. Som standard kan Arduino -softwaren ikke kompilere kode til vores ESP32, lad os rette det:
Trin 1: Tilføjelse af tavler til manageren
1 - Klik i Arduino på indstillingen File >> Preferences
2- I feltet "Yderligere Boards Manager-webadresser" skal du kopiere følgende link:
Trin 10: Arduino -software - Tilføjelse af ESP32 -understøttelse - Trin 2
Nu hvor Arduino -softwaren "kender" flere tavler, lad os installere vores ESP32 -understøttelse
Trin 2: Installation af ESP32 -understøttelsen
1 - I topmenuen skal du vælge: Værktøjer >> Board >> Boards Manager
2 - Et vindue vises. Brug søgefeltet i øverste højre hjørne til at finde "ESP32".
3 - Find den, der er fremstillet af espressif. Installer det. (Se billede)
Trin 11: Arduino Software - Tilføjelse af ESP32 Support - Trin 3
Nu hvor Arduino -softwaren kan kommunikere med vores ESP32, lad os slutte den til computeren og kontrollere, at alt fungerer.
1 - Lad os sikre os, at vi arbejder på ESP32 -platformen:
Klik på Værktøjer >> Board >> ESP32 Dev Module
1- Lad os sikre os, at Arduino-softwaren ved, hvordan man kommunikerer til vores ESP:
Klik på Værktøjer >> Port, og vælg den, der dukker op ved at tilslutte dette kabel.
Vigtig:
Hvis du har problemer med at uploade koden til din ESP, skal du først kontrollere disse to menuer. Hvis porten ikke er markeret med et flueben, vil Arduino -softwaren ikke kommunikere med den.
Trin 12: Tilføjelse af biblioteker til Arduino IDE
Nu skal vi tilføje et bibliotek, der giver os mulighed for at teste vores Led Wall!
1- Klik på Værktøjer >> Administrer biblioteker.
2- I øverste højre hjørne skal du søge efter NeoPixelBus. Find "NeoPixelBus by Makuna", installer det (se billede)
Potentielle andre interessante biblioteker: (Ikke påkrævet til denne vejledning)
- NeoMatrix
- FastLed
- Artnet
- GFX
Trin 13: Første kode: Strandtest
Vores første kode er et eksempel fra biblioteket.
Du kan enten kopiere / indsætte koden herunder eller klikke på:
Fil >> Eksempler >> Adafruit NeoPixelBus >> Strandtest
Sørg for at ændre din LED_PIN til den, du brugte til fysisk at forbinde dine lysdioder. Vi brugte 13 i hele denne vejledning.
Sørg også for at tilpasse strengstørrelsen med variablen LED_COUNT.
// Et grundlæggende daglig striptestprogram til hverdag.
#include #ifdef _AVR_ #include // Påkrævet til 16 MHz Adafruit Trinket #endif // Hvilken pin på Arduino er forbundet til NeoPixels? #define LED_PIN 13 // Hvor mange NeoPixels er knyttet til Arduino? #define LED_COUNT 500 // Declare our NeoPixel strip object: Adafruit_NeoPixel strip (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Argument 1 = Antal pixels i NeoPixel -strip // Argument 2 = Arduino -pin -nummer (de fleste er gyldige) // Argument 3 = Pixel -typeflag, tilføj efter behov: // NEO_KHZ800 800 KHz bitstream (de fleste NeoPixel -produkter m/ WS2812 LED'er) // NEO_KHZ400 400 KHz (klassiske 'v1' (ikke v2) FLORA -pixels, WS2811 -drivere) // NEO_GRB Pixler er tilsluttet GRB -bitstream (de fleste NeoPixel -produkter) // NEO_RGB Pixels er forbundet til RGB -bitstrøm (v1 FLORA -pixels, ikke v2) // NEO_RGBW Pixels er forbundet til RGBW bitstream (NeoPixel RGBW-produkter) // setup () funktion-kører en gang ved opstart -------------------- ------------ void setup () {// Disse linjer er specifikt til at understøtte Adafruit Trinket 5V 16 MHz. // Ethvert andet bord kan du fjerne denne del (men ingen skade forlader den): #if defineret (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // END for Trinket-specifik kode. strip.begin (); // INITIALISER NeoPixel -strimmelobjekt (påkrævet) strip.show (); // Sluk for alle pixels ASAP strip.setBrightness (50); // Indstil BRIGHTNESS til ca. 1/5 (max = 255)} // loop () funktion-kører gentagne gange, så længe kortet er på --------------- void loop () {// Udfyld strimlens længde i forskellige farver … colorWipe (strip. Color (255, 0, 0), 50); // Rød farveWipe (strip. Color (0, 255, 0), 50); // Grøn colorWipe (strip. Color (0, 0, 255), 50); // Blå // Lav en teatereffekt i forskellige farver … theaterChase (strip. Color (127, 127, 127), 50); // Hvid, halv lysstyrke theaterChase (strip. Color (127, 0, 0), 50); // Rød, halv lysstyrke theaterChase (strip. Color (0, 0, 127), 50); // Blå, halv lysstyrke regnbue (10); // Flydende regnbue cyklus langs hele strip theaterChaseRainbow (50); // Rainbow-forbedret theaterChase-variant} // Nogle af vores egne funktioner til at skabe animerede effekter ----------------- // Fyld strimelpixel efter hinanden med en farve. Strimlen ryddes IKKE // først; alt der vil blive dækket pixel for pixel. Indsæt farve // (som en enkelt 'pakket' 32-bit værdi, som du kan få ved at kalde // strip. Color (rød, grøn, blå) som vist i loop () -funktionen ovenfor), // og en forsinkelsestid (i millisekunder) mellem pixels. void colorWipe (uint32_t color, int wait) {for (int i = 0; i strip.setPixelColor (i, color); // Indstil pixels farve (i RAM) strip.show (); // Opdater strimmel, så den matcher forsinkelse (vent); // Pause et øjeblik}} // // Teater-markeringsstil-jagtlys. Indsæt en farve (32-bit værdi, // a la strip. Color (r, g, b) som nævnt ovenfor), og en forsinkelsestid (i ms) // mellem rammer. void theaterChase (uint32_t color, int wait) {for (int a = 0; a <10; a ++) {// Gentag 10 gange … for (int b = 0; b <3; b ++) {// 'b' tæller fra 0 til 2 … strip.clear (); // Indstil alle pixels i RAM til 0 (fra) // 'c' tæller op fra 'b' til slutningen af strimmel i trin på 3… for (int c = b; c strip.setPixelColor (c, farve); // Indstil pixel 'c' til værdi 'farve'} strip.show (); // Opdater strimmel med forsinkelse af nyt indhold (vent); // Pause et øjeblik}}} // Regnbue cyklus langs hele strimlen. Pass forsinkelsestid (i ms) mellem rammer. ugyldig regnbue (int vent) {// Farven på den første pixel kører 5 komplette sløjfer gennem farvehjul. // Farvehjul har en rækkevidde på 65536, men det er det OK hvis vi vælter, så // tæl bare fra 0 til 5*65536. Tilføjelse af 256 til firstPixelHue hver gang // betyder, at vi får 5*65536/256 = 1280 passeringer gennem denne ydre sløjfe: for (long firstPixelHue = 0; firstPixelHue <5*65536; firstPixelHue += 256) {for (int i = 0; I // Offset pixel nuance med et beløb for at lave en fuld omdrejning af // farvehjulet (område på 65536) langs strimlens længde // (strip.numPixels () trin): int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels ()); // strip. ColorHSV () kan tage 1 eller 3 argumenter: en farvetone (0 til 65535) eller // tilføj eventuelt mætning og værdi (lysstyrke) (hver 0 til 255). // Her bruger vi kun varianten med enkelt argument. Resultatet // ledes gennem strip.gamma32 () for at give 'sandere' farver // før hver pixel: strip.setPixelColor (i, strip.gamma32 tildeles) (strip. ColorHSV (pixelHue)));} strip.show (); // Opdater strimmel med nyt indholdsforsinkelse (vent); // Pause et øjeblik}} // Rainbow-forbedret teatertelt. Pass forsinkelsestid (i ms) mellem rammer. void theaterChaseRainbow (int vent) {i nt firstPixelHue = 0; // Første pixel starter med rød (nuance 0) for (int a = 0; a <30; a ++) {// Gentag 30 gange … for (int b = 0; b RGB strip.setPixelColor (c, farve); / / Indstil pixel 'c' til værdi 'farve'} strip.show (); // Opdater strimmel med nyt indholdsforsinkelse (vent); // Pause et øjeblik førstPixelHue += 65536 /90; // En cyklus med farvehjul over 90 billeder}}}
Trin 14: SHU -prøvekode
Vores kode tænder alle lysdioderne en efter en for at sikre, at de fungerer:
// Dette eksempel skifter mellem at vise 500 pixels som rød
#includeconst uint16_t PixelCount = 500; // dette eksempel antager 4 pixels, hvilket gør det mindre vil forårsage en fejl const uint8_t PixelPin = 13; // sørg for at indstille dette til den korrekte pin, ignoreret for Esp8266
#define colorSaturation 128 // tre elementpixel i forskellig rækkefølge og hastighed
NeoPixelBus -strip (PixelCount, PixelPin);
// NeoPixelBus -strip (PixelCount, PixelPin); RgbColor rød (0, colorSaturation, 0); RgbColor green (colorSaturation, 0, 0); RgbColor blue (0, 0, colorMættelse); RgbColor white (colorSaturation); RgbColor sort (0); HslColor hslRed (rød); HslColor hslGreen (grøn); HslColor hslBlue (blå); HslColor hslWhite (hvid); HslColor hslBlack (sort); void setup () {Serial.begin (115200) while (! Serial); // vent på seriel vedhæftning Serial.println (); Serial.println ("Initialiserer …"); Seriel.flush (); // dette nulstiller alle neopixel til en off -state strip. Begin (); strip. Show (); Serial.println (); Serial.println ("Kører …"); } void loop () {delay (100); Serial.println ("Farver R, G, B, W …"); for (int i = 0; i <= 499; i ++) {// indstil farverne, // hvis de ikke matcher i rækkefølge, skal du bruge NeoGrbFeature -funktionsstrimmel. SetPixelColor (i, rød); strip. Show (); forsinkelse (100); strip. SetPixelColor (i, hslRed); strip. Show (); forsinkelse (100); }}
Trin 15: Upload kode til ESP32
Vigtig:
For at kunne uploade kode til en hvilken som helst mikrocontroller, skal den være i programmeringstilstand. De fleste gør dette automatisk, og alt du skal gøre er at klikke på upload i softwaren.
Vores ESP32 kræver, at du holder programmeringsknappen nede, mens koden sendes. Du skal også nulstille den, når koden er uploadet, ved at trykke én gang på reset -knappen.
Vores ESP32s programmeringsknap er placeret til venstre, nulstillingsknappen til højre. Se venligst din manual, hvis du har en anden mikro-controller.
Trin 16: Citater
Denne instruktive blev lavet ved hjælp af følgende selvstudier:
randomnerdtutorials.com/installing-the-esp…
Bruges til at installere ESP32 i Arduino IDE.
Forfattere:
Nathaniel BaroneGabriel Castro
Redaktør:
Cedric Bleimling
Anbefalede:
MP3 -afspilning af lyd FX -væg: 12 trin (med billeder)
MP3 -afspilning af lyd FX -væg: Opret en sjov og interaktiv lydvæg, der afspiller MP3'er med et enkelt tryk! Hvad gør du med en tom væg? Kan du tilføje nogle fine billeder til det? Eller dæk det med en farverig husplante. Vi har endda set nogle mennesker skjule nøgne vægge bag bogen
3D -printet modulær LED -væg: 6 trin (med billeder)
3D-printet modulær LED-væg: Sådan kan du meget let lave en LED-væg ved hjælp af 3D-printede moduler, 12 mm WS2812 LED-lamper og 38 mm bordtennisbolde. Men den mekaniske konstruktion var meget kompliceret. I stedet designede jeg et 3D -modulsystem. Hvert modul er 30x30 cm og
Stranger Things væg i en ramme (skriv dine egne beskeder!): 8 trin (med billeder)
Stranger Things Wall in a Frame (Skriv dine egne meddelelser!): Jeg har ment at gøre dette i flere måneder efter at have set en tutorial med julelys (det så godt ud, men hvad er meningen med ikke at vise nogen beskeder, ikke?). Så jeg har lavet denne Stranger Things Wall for noget tid siden, og det tog mig ret lang tid
Smart grøn væg: 4 trin (med billeder)
Smart Green Wall: Det er en fantastisk måde at gøre dit hjem grønt og have friske planter som: Mint " te med mynte ", spinat, basilikum, persille samt blomster i nærheden af dig til duftende lugt eller til brug i økologisk sund mad. En smart væg fra gammelt træplade
Lyddæmpende/dæmpende væg med plakat: 5 trin
Lyddæmpende/dæmpende væg med plakat: Dette er wozn fra Rooftop Ridicule og Velkommen til min første instruerbare uden elektricitet, men stadig selvfølgelig meget om lyd. Lyddæmpende skum er ikke kun dyrt, men hvis du dækker hver væg i det, kan du evt. lav et værelse " for dødt. &