Innehållsförteckning:
- Tillbehör
- Steg 1: Tillbehör
- Steg 2: Bestäm rätt strömförsörjning för din LedWall
- Steg 3: Nätsladden
- Steg 4: Anslut strömförsörjningen
- Steg 5: Strömförsörjning till ESP32S
- Steg 6: Driva LED -ljusremsorna
- Steg 7: Anslutning av ESP32 till LED -ljusremsorna
- Steg 8: Förbereda datorn: C2102 -drivrutin
- Steg 9: Arduino -programvara - Lägga till ESP32 -stöd - Steg 1
- Steg 10: Arduino -programvara - Lägga till ESP32 -stöd - Steg 2
- Steg 11: Arduino -programvara - Lägga till ESP32 -stöd - Steg 3
- Steg 12: Lägga till bibliotek i Arduino IDE
- Steg 13: Första koden: Strandtest
- Steg 14: SHU -provkod
- Steg 15: Ladda upp kod till ESP32
- Steg 16: Citat
Video: 500 LED -väggar med ESP32: 16 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:43
Hej allihopa! I slutet av denna handledning kommer du att veta hur du skapar din egen LED -vägg.
Denna handledning är baserad på ett sommarprogram som erbjuds vid Sacred Heart University.
Ha så kul!
Tillbehör
Tillbehör listade nedan.
Steg 1: Tillbehör
Låt oss börja med att samla allt vi behöver för att slutföra vår Led Wall:
(Länkar skapades 7/10/2019)
Arduino IDE -programvara
ESP32 Micro Controller
LED Pixel Light
Strömförsörjning
Strömsladd
Wire Stripping Tool
Breadboard Jumper Cables
Elektrisk kabel
Steg 2: Bestäm rätt strömförsörjning för din LedWall
Det finns ett enkelt matematiskt sätt att ta reda på vilken strömförsörjning som är bäst för din användning.
Vi använder Ohms effektlag: P = IxV (Effekt = Intensitet x Spänning)
Spänningen bestäms av våra lysdioder: i detta fall 5V.
Intensiteten beror på hårdvaran, en enda LED förbrukar 30mA.
Varje remsa med 50 lysdioder förbrukar därför 50 x 30mA = 1250mA = 1,25A.
Vår 500 Led -vägg förbrukar därför 10 gånger så mycket (10 remsor): 12,5A.
Strömförbrukningen är då 5V x 12,5A = 62,5W för lysdioderna.
Självklart måste du, ovanpå de lysdioder, redogöra för ESP och alla andra objekt i din krets.
Vi har en 60A strömförsörjning, vi har mycket mer än vi behöver.
Steg 3: Nätsladden
Vår strömförsörjning levereras med kabelanslutningar. Vi måste anpassa en nätsladd för att ansluta den till en 110V -kontakt.
- Klipp av honkontakten från nätsladden. Vi kommer att behålla den manliga delen, annars känd som NEMA 5-15P.
- Dra av kabeln så att ca 3 mm koppar är synligt på alla ledningar.
Här är en snabb videohandledning om hur du tar bort ledningar:
Steg 4: Anslut strömförsörjningen
Nu är vi redo att koppla upp vår strömförsörjning!
Koppla alltid ur strömkällan när du arbetar med den.
Kabeldragning
- Den svarta ledningen (Fas) ansluts till nätaggregatets L -stift
- Den vita ledningen (Neutral) ansluts till nätaggregatets N -stift
- Den gröna ledningen ansluts till nätaggregatets "jord" -stift
(Om din nätsladds inre ledningar inte har samma färger som våra, var säker och leta upp scheman online.)
Testning
Anslut datorns nätkabel till ett eluttag. Den gröna lysdioden på strömförsörjningen ska tändas.
Steg 5: Strömförsörjning till ESP32S
Om du tittar på din ESP bör det finnas etiketter bredvid varje pin. Om den inte är märkt kan du leta upp "pinout" för din individuella ESP online.
Anslut en:
- '5V' ESP32S -stiftet till '+V' på strömförsörjningen (orange på bilden ovan)
- 'GND' ESP32S-stiftet till '-V' -delen av strömförsörjningen (svart på bilden ovan)
(På vissa ESP: er är 5V -stiftet märkt som "VCC" istället, båda betyder samma sak.)
Observera att din ESP kan ha en annan "pinout" än den vi använder. Som sådan kan du ansluta dina ledningar till en annan plats än på bilden ovan. Så länge du ansluter till rätt stift (5V & GND), spelar den fysiska platsen på tavlan ingen roll.
Testa Anslut strömförsörjningen igen, och om din ESP har en LED -indikator (de flesta gör det) tänds den för att indikera att strömmen skickas till ESP. Grattis!
Steg 6: Driva LED -ljusremsorna
Använda elektriska ledningar:
- Anslut den röda ledningen på LED Light Strip till V+ på strömförsörjningen.
- Anslut den blå ledningen på LED-ljusremsan till V- på strömförsörjningen.
Steg 7: Anslutning av ESP32 till LED -ljusremsorna
Vår ESP32 instruerar WS2811 -drivrutinen som är ansluten till varje led i vilken färg och ljusstyrka de behöver vara. För att göra det behöver vår ESP32 en "datakabel" till remsorna.
Leds -remsorna har en 3 -trådskontakt:
- Röd: Power- Blå: Neutral- White: Data
Låt oss ansluta White Led -remsekabeln till en digital stift på ESP. Kom ihåg det valda PIN -numret eftersom vi kommer att behöva välja det i koden senare. Vi kopplade vårt till stift 13.
Steg 8: Förbereda datorn: C2102 -drivrutin
Nu när vår hårdvara är trådbunden vill vi ladda upp vår första kod för att testa den. Som standard kan Windows eller MacO inte kommunicera med vår ESP32. För att göra det måste vi ladda ner en "drivrutin" för ESP USB -kommunikationschip: C2102.
Denna drivrutin måste laddas ner och installeras:
- Windows 10: https://www.silabs.com/documents/public/software/C…- Windows 7/8/8.1: https://www.silabs.com/documents/public/software/C…- Mac:
(Länkar från 2019-07-10)
Steg 9: Arduino -programvara - Lägga till ESP32 -stöd - Steg 1
Innan vi kan använda vår ESP32 med Arduino -programvaran måste vi se till att den känns igen. Som standard kan Arduino -programvaran inte kompilera kod för vår ESP32, låt oss fixa det:
Steg 1: Lägga till styrelser till chefen
1 - Klicka på alternativet Arkiv >> Inställningar i Arduino
2- I fältet "Extra Boards Manager URLs" kopierar du följande länk:
Steg 10: Arduino -programvara - Lägga till ESP32 -stöd - Steg 2
Nu när Arduino -programvaran "vet" fler kort, låt oss installera vårt ESP32 -stöd
Steg 2: Installera ESP32 -stödet
1 - I den övre menyn väljer du: Verktyg >> Styrelse >> Boards Manager
2 - Ett fönster visas. Använd sökrutan i det övre högra hörnet för att hitta "ESP32".
3 - Leta reda på den från espressif. Installera det. (Se bild)
Steg 11: Arduino -programvara - Lägga till ESP32 -stöd - Steg 3
Nu när Arduino -programvaran kan kommunicera med vår ESP32, låt oss ansluta den till datorn och kontrollera att allt fungerar.
1 - Låt oss se till att vi arbetar på ESP32 -plattformen:
Klicka på Verktyg >> Kort >> ESP32 Dev -modul
1- Låt oss se till att Arduino-programvaran vet hur man kommunicerar till vår ESP:
Klicka på Verktyg >> Port och välj den som dyker upp när du ansluter den här kabeln.
Viktig:
Om du har problem med att ladda upp koden till din ESP, kontrollera de två menyerna först. Om porten inte är markerad med en bock, kommer Arduino -programvaran inte att kommunicera med den.
Steg 12: Lägga till bibliotek i Arduino IDE
Nu ska vi lägga till ett bibliotek som gör att vi kan testa vår Led Wall!
1- Klicka på Verktyg >> Hantera bibliotek.
2- I det övre högra hörnet söker du efter NeoPixelBus. Leta reda på "NeoPixelBus by Makuna", installera det (se bild)
Potentiella andra intressanta bibliotek: (krävs inte för denna handledning)
- NeoMatrix
- FastLed
- Artnet
- GFX
Steg 13: Första koden: Strandtest
Vår första kod är ett exempel från biblioteket.
Du kan antingen kopiera / klistra in koden nedan eller klicka på:
Arkiv >> Exempel >> Adafruit NeoPixelBus >> Strandtest
Var noga med att ändra din LED_PIN till den du använde för att fysiskt ansluta dina lysdioder. Vi använde 13 under hela den här handledningen.
Se också till att anpassa strängstorleken med variabeln LED_COUNT.
// Ett grundläggande vardagligt LED Striptest -program.
#include #ifdef _AVR_ #include // Krävs för 16 MHz Adafruit Trinket #endif // Vilken pin på Arduino är ansluten till NeoPixels? #define LED_PIN 13 // Hur många NeoPixels är anslutna till Arduino? #define LED_COUNT 500 // Declare our NeoPixel strip object: Adafruit_NeoPixel strip (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Argument 1 = Antal pixlar i NeoPixel -remsan // Argument 2 = Arduino -pinnummer (de flesta är giltiga) // Argument 3 = Pixel -flaggor, lägg ihop efter behov: // NEO_KHZ800 800 KHz bitström (de flesta NeoPixel -produkter m/ WS2812 -lysdioder) // NEO_KHZ400 400 KHz (klassiska 'v1' (inte v2) FLORA -pixlar, WS2811 -drivrutiner) // NEO_GRB Pixlar är anslutna för GRB -bitström (de flesta NeoPixel -produkter) // NEO_RGB -pixlar är anslutna för RGB -bitström (v1 FLORA -pixlar), inte v2) // NEO_RGBW Pixlar är anslutna för RGBW-bitström (NeoPixel RGBW-produkter) // setup () -funktion-körs en gång vid start -------------------- ------------ void setup () {// Dessa rader är specifikt för att stödja Adafruit Trinket 5V 16 MHz. // Vilket annat kort som helst kan du ta bort denna del (men ingen skada lämnas av den): #if definierad (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // SLUT för Trinket-specifik kod. strip.begin (); // INITIALISERA NeoPixel -bandobjekt (KRÄVS) strip.show (); // Stäng av alla pixlar ASAP strip.setBrightness (50); // Ställ in BRIGHTNESS på cirka 1/5 (max = 255)} // loop () -funktionen-körs upprepade gånger så länge kortet är på --------------- void loop () {// Fyll längs remsans längd i olika färger … colorWipe (strip. Color (255, 0, 0), 50); // Röd colorWipe (strip. Color (0, 255, 0), 50); // Grön colorWipe (strip. Color (0, 0, 255), 50); // Blå // Gör en teatereffekt i olika färger … theaterChase (strip. Color (127, 127, 127), 50); // Vit, halv ljusstyrka theaterChase (strip. Color (127, 0, 0), 50); // Röd, halv ljusstyrka theaterChase (strip. Color (0, 0, 127), 50); // Blå, halv ljusstyrka regnbåge (10); // Flödande regnbågscykel längs hela bandet theaterChaseRainbow (50); // Rainbow-förbättrad theaterChase-variant} // Vissa egna funktioner för att skapa animerade effekter ----------------- // Fyll remsepixlar en efter en med en färg. Remsan rensas INTE // först; allt kommer att täckas pixel för pixel. Skicka färg // (som ett enda "packat" 32-bitars värde, som du kan få genom att ringa // strip. Color (röd, grön, blå) som visas i loop () -funktionen ovan), // och en fördröjningstid (i millisekunder) mellan pixlar. void colorWipe (uint32_t color, int wait) {för (int i = 0; i strip.setPixelColor (i, color); // Ställ in pixelns färg (i RAM) strip.show (); // Uppdatera remsa för att matcha fördröjning (vänta); // Pausa ett ögonblick}} // Teater-markeringsstil-jaktljus. Skicka in en färg (32-bitars värde, // a la strip. Color (r, g, b) som nämnts ovan), och en fördröjningstid (i ms) // mellan bildrutor. void theaterChase (uint32_t färg, int vänta) {för (int a = 0; a <10; a ++) {// Upprepa 10 gånger … för (int b = 0; b <3; b ++) {// 'b' räknar från 0 till 2 … strip.clear (); // Ställ in alla pixlar i RAM till 0 (av) // 'c' räknar upp från 'b' till slutet av remsa i steg om 3 … för (int c = b; c strip.setPixelColor (c, färg); // Ställ in pixel 'c' till värde 'färg'} strip.show (); // Uppdatera remsa med fördröjning av nytt innehåll (vänta); // Pausa ett ögonblick}}} // Regnbågscykel längs hela remsan. Passera fördröjningstid (i ms) mellan bildrutor. void rainbow (int wait) {// Nyans för första pixeln kör 5 kompletta slingor genom färghjul. // Färghjulet har en räckvidd på 65536 men det är det OK om vi välter, så // bara räkna från 0 till 5*65536. Att lägga till 256 i firstPixelHue varje gång // betyder att vi gör 5*65536/256 = 1280 passerar genom denna yttre slinga: for (long firstPixelHue = 0; firstPixelHue <5*65536; firstPixelHue += 256) {for (int i = 0; I // Offset pixel nyans med ett belopp för att göra ett helt varv av // färghjulet (intervallet 65536) längs remsans längd // (strip.numPixels () steg): int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels ()); // strip. ColorHSV () kan ta 1 eller 3 argument: en nyans (0 till 65535) eller // eventuellt lägga till mättnad och värde (ljusstyrka) (vardera 0 till 255). // Här använder vi bara en-argument-nyansvarianten. Resultatet // passeras genom strip.gamma32 () för att ge "sannare" färger // innan vi tilldelar varje pixel: strip.setPixelColor (i, strip.gamma32 (strip. ColorHSV (pixelHue)));} strip.show (); // Uppdatera remsa med fördröjning av nytt innehåll (vänta); // Pausa ett ögonblick}} // Rainbow-förbättrad teatertält. Passera fördröjningstid (i ms) mellan bildrutor. void theaterChaseRainbow (int vänta) {i nt firstPixelHue = 0; // Första pixeln börjar med rött (nyans 0) för (int a = 0; a <30; a ++) {// Upprepa 30 gånger … för (int b = 0; b RGB strip.setPixelColor (c, färg); / / Ställ in pixeln 'c' till värdet 'color'} strip.show (); // Uppdatera remsan med nytt innehållsfördröjning (vänta); // Pausa ett ögonblick förstPixelHue += 65536 /90; // En cykel med färghjul över 90 bilder}}}
Steg 14: SHU -provkod
Vår kod aktiverar alla lysdioder en efter en för att se till att de fungerar:
// Detta exempel växlar mellan att visa 500 pixlar som röda
#includeconst uint16_t PixelCount = 500; // detta exempel förutsätter 4 pixlar, vilket gör det mindre kommer att orsaka ett fel const uint8_t PixelPin = 13; // se till att ställa in detta till rätt stift, ignorerat för Esp8266
#define colorMättnad 128 // tre elementpixlar, i olika ordning och hastighet
NeoPixelBus -remsa (PixelCount, PixelPin);
// NeoPixelBus -remsa (PixelCount, PixelPin); RgbColor röd (0, colorMättnad, 0); RgbColor green (colorSaturation, 0, 0); RgbColor blue (0, 0, colorMättnad); RgbColor white (färgmättnad); RgbColor black (0); HslColor hslRed (röd); HslColor hslGreen (grön); HslColor hslBlue (blå); HslColor hslWhite (vit); HslColor hslBlack (svart); void setup () {Serial.begin (115200) while (! Serial); // vänta på seriell bifogad Serial.println (); Serial.println ("Initierar …"); Serial.flush (); // detta återställer alla neopixlar till en avstängd remsa. Begin (); strip. Show (); Serial.println (); Serial.println ("Kör …"); } void loop () {delay (100); Serial.println ("Färger R, G, B, W …"); för (int i = 0; i <= 499; i ++) {// ställ in färgerna, // om de inte matchar i ordning måste du använda NeoGrbFeature -funktionsremsan. SetPixelColor (i, röd); strip. Show (); fördröjning (100); strip. SetPixelColor (i, hslRed); strip. Show (); fördröjning (100); }}
Steg 15: Ladda upp kod till ESP32
Viktig:
För att kunna ladda upp koden till en mikrokontroller måste den vara i programmeringsläge. De flesta gör detta automatiskt och allt du behöver göra är att klicka på uppladdning i programvaran.
Vår ESP32 kräver att du håller in programmeringsknappen medan koden skickas. Du måste också återställa den efter att koden laddats upp genom att trycka en gång på återställningsknappen.
Vår ESP32s programmeringsknapp finns till vänster, återställningsknappen till höger. Se din manual om du har en annan mikrokontroller.
Steg 16: Citat
Denna instruerbara gjordes med hjälp av följande självstudier:
randomnerdtutorials.com/installing-the-esp…
Används för att installera ESP32 i Arduino IDE.
Författare:
Nathaniel Barone Gabriel Castro
Redaktör:
Cedric Bleimling
Rekommenderad:
Komma igång med ESP32 - Installera ESP32 -kort i Arduino IDE - ESP32 blinkningskod: 3 steg
Komma igång med ESP32 | Installera ESP32 -kort i Arduino IDE | ESP32 Blink -kod: I denna instruktion kommer vi att se hur man börjar arbeta med esp32 och hur man installerar esp32 -kort i Arduino IDE och vi kommer att programmera esp 32 för att köra blinkkod med hjälp av arduino ide
ArduBaby - Arduboy i halv storlek med 500 spel i seriell blixt: 10 steg
ArduBaby - Halvstorlek Arduboy med 500 spel på seriell blixt: Du kan se den här YouTube -videon för att se hur processen ändras från början till hur jag skapade den här lilla hemmagjorda Arduboy med det seriella flashminnet som kan lagra så många som 500 spel att spela på vägen. . Tack till skaparen (Kevin Bates), Arduboy är en mycket
Ardubaby minispelkonsol med 500 spel: 10 steg
Ardubaby Mini Game Console Med 500 spel: Credits to the creator (Kevin Bates), Arduboy är en mycket framgångsrik 8 -bitars spelkonsol. Det fanns tusentals spel skrivna av amatören som delade dem fritt på Arduboys communityforum så att fler kan lära sig att koda. Hardw
500 LED-Pixel RGB-tegel: 9 steg (med bilder)
500 LED-Pixel RGB-tegel: För ett tag sedan bygger jag en 10x10 LED-Coffetable med några av dessa WS2812 LED-lampor, men även om det är möjligt att spela old-school-spelet Snake med en smartphone ansluten, vill jag ha något mer särskild. Så jag bestämde mig för att sätta några fler lysdioder till det, arra
Gör en webbansluten robot (för cirka $ 500) (med en Arduino och en Netbook): 6 steg (med bilder)
Skapa en webbansluten robot (för cirka $ 500) (med en Arduino och en Netbook): Denna instruktion visar dig hur du bygger din egen webbanslutna robot (med en Arduino mikrokontroller och Asus eee pc). Varför vill du ha en webb Ansluten robot? Att leka med förstås. Kör din robot från andra sidan rummet eller från räkningen