Indholdsfortegnelse:

500 lysdioder Væg med ESP32: 16 trin
500 lysdioder Væg med ESP32: 16 trin

Video: 500 lysdioder Væg med ESP32: 16 trin

Video: 500 lysdioder Væg med ESP32: 16 trin
Video: How to get 5V from 18650 Lithium Battery Powering Arduino ESP32 ESP8266 or charge your phone 2024, Juli
Anonim
500 LED -vægge med ESP32
500 LED -vægge med ESP32

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

Forbrugsvarer
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

Image
Image

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

Strømforsyning til ESP32S
Strømforsyning til ESP32S

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

Forsyner LED -lysstrimlerne
Forsyner 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

Arduino Software - Tilføjelse af ESP32 Support - Trin 1
Arduino Software - Tilføjelse af ESP32 Support - Trin 1
Arduino Software - Tilføjelse af ESP32 Support - Trin 1
Arduino Software - Tilføjelse af ESP32 Support - 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

Arduino Software - Tilføjelse af ESP32 Support - Trin 2
Arduino Software - Tilføjelse af ESP32 Support - Trin 2
Arduino Software - Tilføjelse af ESP32 Support - Trin 2
Arduino Software - Tilføjelse af ESP32 Support - 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

Arduino Software - Tilføjelse af ESP32 Support - Trin 3
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

Tilføjelse af biblioteker til Arduino IDE
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

Image
Image

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: