Tartalomjegyzék:
- Kellékek
- 1. lépés: Kellékek
- 2. lépés: A megfelelő tápegység meghatározása a LedWall számára
- 3. lépés: A tápkábel
- 4. lépés: A tápegység bekötése
- 5. lépés: Tápellátás az ESP32S -hez
- 6. lépés: A LED fénycsíkok bekapcsolása
- 7. lépés: Az ESP32 csatlakoztatása a LED fénycsíkokhoz
- 8. lépés: A számítógép előkészítése: C2102 illesztőprogram
- 9. lépés: Arduino szoftver - ESP32 támogatás hozzáadása - 1. lépés
- 10. lépés: Arduino szoftver - ESP32 támogatás hozzáadása - 2. lépés
- 11. lépés: Arduino szoftver - ESP32 támogatás hozzáadása - 3. lépés
- 12. lépés: Könyvtárak hozzáadása az Arduino IDE -hez
- 13. lépés: Első kód: szál teszt
- 14. lépés: SHU mintakód
- 15. lépés: A kód feltöltése az ESP32 -be
- 16. lépés: Idézetek
Videó: 500 LED fal ESP32 segítségével: 16 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
Sziasztok! Ennek az oktatóanyagnak a végére tudni fogja, hogyan készíthet saját LED -falát.
Ez az oktatóanyag a Sacred Heart Egyetemen kínált nyári programon alapul.
Érezd jól magad!
Kellékek
Az alább felsorolt kellékek.
1. lépés: Kellékek
Kezdjük azzal, hogy összeszedünk mindent, amire szükségünk van a Led Wall elkészítéséhez:
(A linkek 2019.07.10 -én készültek)
Arduino IDE szoftver
ESP32 mikrovezérlő
LED Pixel Light
Tápegység
Tápkábel
Huzalcsupaszító eszköz
Breadboard jumper kábelek
Elektromos vezeték
2. lépés: A megfelelő tápegység meghatározása a LedWall számára
Van egy egyszerű matematikai módja annak, hogy megtudja, melyik tápegység a legjobb az Ön számára.
Az Ohm teljesítménytörvényét használjuk: P = IxV (teljesítmény = intenzitás x feszültség)
A feszültséget ledjeink határozzák meg: ebben az esetben 5V.
Az intenzitás a hardvertől függ, egyetlen LED 30 mA -t fogyaszt.
Ezért minden 50 LED -es csík 50 x 30mA = 1250mA = 1,25A -t fogyaszt.
Az 500 LED -es falunk tehát ennek tízszeresét (10 szalag) fogyasztja: 12,5A.
Az energiafogyasztás ekkor 5V x 12,5A = 62,5W a LED -eknél.
Természetesen a LED -eken felül számolni kell az ESP -vel és az áramkör minden más elemével.
Van egy 60A -es tápegységünk, bőven több van a kelleténél.
3. lépés: A tápkábel
Tápegységünk vezetékes csatlakozókkal érkezik. A tápkábelt hozzá kell igazítanunk a 110V -os csatlakozóhoz való csatlakoztatáshoz.
- Vágja le a csatlakozó dugót a tápkábelről. Megtartjuk a férfi részt, más néven NEMA 5-15P.
- Csupaszítsa le a kábelt, hogy körülbelül 3 mm réz legyen látható minden vezetéken.
Itt van egy gyors videó bemutató a vezetékek eltávolításáról:
4. lépés: A tápegység bekötése
Most készen állunk a tápegység bekötésére!
Mindig húzza ki a hálózati csatlakozót, ha valaha is dolgozik rajta.
Vezeték
- A fekete vezeték (fázis) csatlakozik a tápegység L -érintkezőjéhez
- A fehér vezeték (semleges) a tápegység „N” érintkezőjéhez csatlakozik
- A zöld vezeték a tápegység földelt csatlakozójához csatlakozik
(Ha a tápkábel belső vezetékei nem azonos színűek, mint a miénk, akkor biztonságban van, és nézze meg a rajzokat az interneten.)
Tesztelés
Csatlakoztassa a számítógép tápkábelét bármilyen hálózati aljzathoz. A tápegység zöld LED -jének be kell kapcsolnia.
5. lépés: Tápellátás az ESP32S -hez
Az ESP -t tekintve minden tű mellett címkéket kell elhelyezni. Ha nincs megjelölve, online megkeresheti az egyéni ESP „pinoutját”.
Csatlakoztassa a férfi -női kenyérpult jumper vezetéket vagy elektromos vezetéket:
- Az „5 V” ESP32S érintkező a tápegység „+V” pontjához (narancssárga a fenti képen)
- A „GND” ESP32S csap a tápegység „-V” részéhez (fekete a fenti képen)
(Néhány ESP -n az "5V" érintkezőt "VCC" jelzi, mindkettő ugyanazt jelenti.)
Kérjük, vegye figyelembe, hogy az Ön ESP -jének eltérő „kivezetése” lehet, mint amit mi használunk. Így előfordulhat, hogy a vezetékeket más helyre csatlakoztatja, mint a fenti képen. Mindaddig, amíg a megfelelő tűkhöz csatlakozik (5V és GND), a fizikai hely a táblán nem számít.
Csatlakoztassa újra a tápegységet, és ha az ESP rendelkezik LED -es kijelzővel (a legtöbb esetben), akkor világítani kezd, jelezve, hogy áramot küld az ESP -nek. Gratulálunk!
6. lépés: A LED fénycsíkok bekapcsolása
Elektromos vezetékek használata:
- Csatlakoztassa a LED fénycsík piros vezetékét a tápegység V+ -ához.
- Csatlakoztassa a LED fénycsík kék vezetékét a tápegység V- csatlakozójához.
7. lépés: Az ESP32 csatlakoztatása a LED fénycsíkokhoz
Az ESP32 utasítja az egyes ledekhez csatlakoztatott WS2811 illesztőprogramot a szükséges színnek és fényerőnek. Ehhez az ESP32 -nek szüksége van egy "adat" kábelre a csíkokhoz.
A LED szalagok 3 vezetékes csatlakozóval vannak ellátva:
- Piros: Teljesítmény- Kék: Semleges- Fehér: Adatok
Csatlakoztassuk a White Led szalagkábelt az ESP digitális tűjéhez. Ne feledje, hogy a kiválasztott PIN -kódot később kell kiválasztanunk a kódban. Mi a 13 -as tűhöz csatlakoztattuk.
8. lépés: A számítógép előkészítése: C2102 illesztőprogram
Most, hogy a hardverünk be van kötve, fel akarjuk tölteni az első kódunkat annak tesztelésére. Alapértelmezés szerint a Windows vagy a MacO nem tud kommunikálni az ESP32 -vel. Ehhez le kell töltenünk egy "illesztőprogramot" az ESP USB kommunikációs chiphez: a C2102.
Ezt az illesztőprogramot le kell tölteni és telepíteni:
- Windows 10: https://www.silabs.com/documents/public/software/C…- Windows 7/8/8.1: https://www.silabs.com/documents/public/software/C…- Mac:
(Linkek 2019.07.10.)
9. lépés: Arduino szoftver - ESP32 támogatás hozzáadása - 1. lépés
Mielőtt ESP32 -t használhatnánk az Arduino szoftverrel, meg kell győződnünk arról, hogy a rendszer felismeri. Alapértelmezés szerint az Arduino szoftver nem tud kódot összeállítani az ESP32 -hez, javítsuk ki:
1. lépés: Táblák hozzáadása a kezelőhöz
1 - Kattintson az Arduino -ban a Fájl >> Beállítások lehetőségre
2- A "További táblák kezelői URL-ek" mezőbe másolja a következő linket:
10. lépés: Arduino szoftver - ESP32 támogatás hozzáadása - 2. lépés
Most, hogy az Arduino szoftver több lapot "ismer", telepítsük az ESP32 támogatást
2. lépés: Az ESP32 támogatás telepítése
1 - A felső menüben válassza: Eszközök >> Tábla >> Fórumkezelő
2 - Megjelenik egy ablak. Használja a jobb felső sarokban található keresőmezőt az "ESP32" megkereséséhez.
3 - Keresse meg az espressif által készített terméket. Telepítse. (Lásd a képet)
11. lépés: Arduino szoftver - ESP32 támogatás hozzáadása - 3. lépés
Most, hogy az Arduino szoftver képes kommunikálni az ESP32 -vel, csatlakoztassuk a számítógéphez, és ellenőrizzük, hogy minden működik -e.
1 - Győződjünk meg arról, hogy az ESP32 platformon dolgozunk:
Kattintson az Eszközök >> Tábla >> ESP32 Dev Module elemre
1- Győződjünk meg arról, hogy az Arduino szoftver tudja, hogyan kell kommunikálni az ESP-vel:
Kattintson az Eszközök >> Port elemre, és válassza ki azt, amelyik a kábel csatlakoztatásakor megjelenik.
Fontos:
Ha bármilyen problémája van a kód feltöltésével az ESP -be, először ellenőrizze ezt a két menüt. Ha a port nincs bejelölve pipa, akkor az Arduino szoftver nem kommunikál vele.
12. lépés: Könyvtárak hozzáadása az Arduino IDE -hez
Most hozzáadunk egy könyvtárat, amely lehetővé teszi a LED -fal tesztelését!
1- Kattintson az Eszközök >> Könyvtárak kezelése elemre.
2- A jobb felső sarokban keresse meg a NeoPixelBus parancsot. Keresse meg a "NeoPixelBus by Makuna" alkalmazást, telepítse (lásd a képet)
Lehetséges egyéb érdekes könyvtárak: (nem szükséges ehhez az oktatóanyaghoz)
- NeoMatrix
- FastLed
- Artnet
- GFX
13. lépés: Első kód: szál teszt
Első kódunk egy példa a Könyvtárból.
Másolhatja / beillesztheti az alábbi kódot, vagy kattintson a gombra:
Fájl >> Példák >> Adafruit NeoPixelBus >> Strandtest
Kérjük, győződjön meg arról, hogy a LED_PIN -t a LED -ek fizikai csatlakoztatásához használtra cserélte. Ebben az oktatóanyagban 13 -at használtunk.
Ügyeljen arra is, hogy a LED_COUNT változóval módosítsa a szál méretét.
// Alapvető mindennapi LED Striptest program.
#include #ifdef _AVR_ #include // 16 MHz -es Adafruit csecsebecséhez szükséges #endif // Az Arduino melyik tűje csatlakozik a NeoPixels -hez? #define LED_PIN 13 // Hány NeoPixel kapcsolódik az Arduino -hoz? #define LED_COUNT 500 // NeoPixel szalag objektumunk deklarálása: Adafruit_NeoPixel szalag (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Argument 1 = A pixelek száma a NeoPixel szalagon // Argument 2 = Arduino pin number (legtöbb érvényes) // Argument 3 = Pixel típusú zászlók, szükség szerint összeadva: // NEO_KHZ800 800 KHz bitfolyam (a legtöbb NeoPixel termék WS2812 LED -ek) // NEO_KHZ400 400 KHz (klasszikus 'v1' (nem v2) FLORA képpontok, WS2811 illesztőprogramok) // NEO_GRB Pixelek GRB bitfolyamhoz vannak kötve (a legtöbb NeoPixel termék) // A NEO_RGB képpontok RGB bitfolyamhoz vannak kötve (v1 FLORA képpontok), nem v2) // NEO_RGBW A Pixelek be vannak kötve az RGBW bitfolyamhoz (NeoPixel RGBW termékek) // setup () függvény-indításkor egyszer fut -------------------- ------------ void setup () {// Ezek a sorok kifejezetten az Adafruit Trinket 5V 16 MHz támogatását szolgálják. // Bármely más tábla eltávolíthatja ezt a részt (de nem árt, ha elhagyja): #if define (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // END a Trinket-specifikus kód. strip.begin (); // INICIALIZÁLÁS NeoPixel szalag objektum (SZÜKSÉGES) strip.show (); // Kapcsolja ki az összes pixelt ASAP strip.setBrightness (50); // A FÉNYESSÉG beállítása körülbelül 1/5 (max = 255)} // loop () függvény-ismétlődően fut, amíg a tábla be van kapcsolva --------------- void loop () {// Töltse ki a csík hosszát különböző színekben … colorWipe (strip. Color (255, 0, 0), 50); // Red colorWipe (strip. Color (0, 255, 0), 50); // Zöld szín Törlés (csík. Szín (0, 0, 255), 50); // Kék // Végezzen színházi effektust különböző színekben… TheaterChase (strip. Color (127, 127, 127), 50); // Fehér, félig fényerő színházChase (strip. Color (127, 0, 0), 50); // Piros, félig fényerő színházChase (strip. Color (0, 0, 127), 50); // Kék, félig fényerő szivárvány (10); // Folyó szivárványciklus az egész szalagszínházbanChaseRainbow (50); // Szivárvány által továbbfejlesztett színházChase változat} // Néhány saját funkciónk animált effektek létrehozásához ----------------- // Töltse fel a csík pixeleit egymás után egy színnel. A csík NEM törlődik // először; ott bármi képpontonként lesz fedve. Színes átvitel // (egyetlen „csomagolt” 32 bites értékként, amelyet a // szalag meghívásával kaphat meg. Szín (piros, zöld, kék) a fenti loop () függvényben látható módon), // és késleltetési idő (ezredmásodpercben) a képpontok között. void colorWipe (uint32_t color, int wait) {for (int i = 0; i strip.setPixelColor (i, color); // Állítsa be a pixel színét (RAM -ban) strip.show (); // A csík frissítése a késleltetéshez (várjon); // Álljon meg egy pillanatra}}} // Színházi sátor stílusú üldöző fények. Adja át színben (32 bites érték, // a la csík. Szín (r, g, b) a fent említettek szerint), és késleltetési idő (ms -ban) // a keretek között. void TheaterChase (uint32_t color, int wait) {for (int a = 0; a <10; a ++) {// Ismételje meg 10 -szer… az (int b = 0; b <3; b ++) {// 'b' 0 -tól 2 -ig számít… strip.clear (); // Állítsa a RAM -ban lévő összes pixelt 0 -ra (ki) // 'c' számoljon fel 'b' -től a végéig csík 3 lépésben… for (int c = b; c strip.setPixelColor (c, color); // Állítsa a "c" pixelt "color" értékre} strip.show (); // A csík frissítése új tartalom késleltetéssel (várj); // Szünet egy pillanatra}}}} // Szivárványciklus az egész csík mentén. Késleltetési idő (ms -ban) halad a képkockák között. void rainbow (int wait) {// Az első képpont árnyalata 5 teljes cikluson keresztül fut // A színkör 65536 tartományban van, de ez OK, ha felborulunk, tehát // csak számoljunk 0 -tól 5*65536 -ig. 256 hozzáadása az elsőPixelHue -hoz minden alkalommal // azt jelenti, hogy 5*65536/256 = 1280 áthaladunk ezen a külső hurkon: for (long firstPixelHue = 0; firstPixelHue <5*65536; firstPixelHue += 256) {for (int i = 0; I. i * 65536L / strip.numPixels ()); // strip. ColorHSV () 1 vagy 3 argumentumot tartalmazhat: színárnyalat (0–65535) vagy // opcionálisan telítettség és érték (fényerő) hozzáadása (mindegyik 0–255). // Itt csak az egyetlen argumentum színárnyalatot használjuk. Az eredmény // a strip.gamma32 () -on keresztül kerül átadásra, hogy "igazabb" színeket biztosítson //, mielőtt minden pixelhez hozzárendelné: strip.setPixelColor (i, strip.gamma32 (strip. ColorHSV (pixelHue))));} strip.show (); // A csík frissítése új tartalom késleltetéssel (várakozás); // Szünet egy pillanatra}} // Szivárvány által továbbfejlesztett színházi sátor. Késleltetési idő (in ms) a keretek között. void theatreChaseRainbow (int wait) {i nt firstPixelHue = 0; // Az első képpont pirossal kezdődik (0 színárnyalat) a (int a = 0; a <30; a ++) {// Ismételje meg 30 alkalommal… esetén (int b = 0; b RGB strip.setPixelColor (c, szín); / / Állítsa a "c" pixelt a "color"} értékre} strip.show (); // A csík frissítése új tartalom késleltetéssel (várakozás); // Először szüneteltesse egy pillanatra PixelHue += 65536 /90; // Egy színkör ciklus több mint 90 kép}}}
14. lépés: SHU mintakód
A kódunk egyenként bekapcsolja az összes LED -et, hogy megbizonyosodjon azok működéséről:
// Ez a példa ciklikusan változik az 500 képpont vörös színű megjelenítése között
#includeconst uint16_t PixelCount = 500; // ez a példa 4 képpontot tételez fel, kicsinyítése meghibásodást okoz konst uint8_t PixelPin = 13; // győződjön meg róla, hogy ezt a megfelelő tűre állította, figyelmen kívül hagyva az Esp8266 esetében
#define colorSaturation 128 // három elem pixel, különböző sorrendben és sebességgel
NeoPixelBus szalag (PixelCount, PixelPin);
// NeoPixelBus szalag (PixelCount, PixelPin); RgbColor red (0, colorSaturation, 0); RgbSzín zöld (színtelítettség, 0, 0); RgbColor blue (0, 0, colorSaturation); RgbSzín fehér (színtelítettség); RgbSzín fekete (0); HslColor hslRed (piros); HslColor hslGreen (zöld); HslColor hslBlue (kék); HslColor hslWhite (fehér); HslColor hslBlack (fekete); void setup () {Serial.begin (115200) while (! Serial); // várjon a soros csatolásra Serial.println (); Serial.println ("Inicializálás …"); Serial.flush (); // ez visszaállítja az összes neopixelt egy kikapcsolt állapotú sávra. Begin (); csík. Show (); Sorozat.println (); Serial.println ("Fut …"); } void loop () {delay (100); Serial.println ("R, G, B, W színek …"); for (int i = 0; i <= 499; i ++) {// állítsa be a színeket, // ha nem egyeznek sorrendben, akkor a NeoGrbFeature funkciósávot kell használni. SetPixelColor (i, piros); strip. Show (); késleltetés (100); strip. SetPixelColor (i, hslRed); csík. Show (); késleltetés (100); }}
15. lépés: A kód feltöltése az ESP32 -be
Fontos:
Ahhoz, hogy bármilyen mikrovezérlőre fel lehessen tölteni a kódot, programozási módban kell lennie. A legtöbb ezt automatikusan elvégzi, és mindössze annyit kell tennie, hogy rákattint a feltöltésre a szoftverben.
Az ESP32 megköveteli, hogy tartsa lenyomva a programozó gombot, amíg a kódot elküldi. A kód feltöltése után is vissza kell állítania, a reset gomb egyszeri megnyomásával.
Az ESP32 programozógombja a bal oldalon, a reset gomb a jobb oldalon található. Kérjük, olvassa el a kézikönyvet, ha rendelkezik másik mikrovezérlővel.
16. lépés: Idézetek
Ez az oktatható az alábbi oktatóanyagok segítségével készült:
randomnerdtutorials.com/installing-the-esp…
Az ESP32 telepítésére szolgál az Arduino IDE -be.
Szerzői:
Nathaniel Barone, Gabriel Castro
Szerkesztő:
Cedric Bleimling
Ajánlott:
Interaktív érintőképernyős fal: 6 lépés
Interaktív érintőképernyős fal: ma egy animált falat mutatok be Önnek a márkakultúráján, a kiállítótermekben és más helyeken helyezzen el egy ilyen vezérlőpanelt, hogy a fal tele legyen szórakozással
Irányítsa a háztartási gépeket az Alexa segítségével az ESP8266 vagy az ESP32 segítségével: 8 lépés
Irányítsa a háztartási gépeket Alexa segítségével az ESP8266 vagy ESP32 segítségével: Hé, mi újság, srácok! Akarsh itt a CETech -től. Ez a projektem segíteni fog az életed megkönnyítésében, és úgy fogsz érezni magad, mint egy király, miután irányítottad a házban lévő eszközöket, csak parancsot adva Alexának. A legfontosabb dolog e
MP3 lejátszó hang FX fal: 12 lépés (képekkel)
MP3 lejátszó hang FX Wall: Hozzon létre egy szórakoztató és interaktív hangfalat, amely MP3 -t játszik le egyetlen érintéssel! Mit csinálsz egy üres fallal? Csinálsz hozzá szép képeket? Vagy fedje be egy színes szobanövényt. Láttunk néhány embert puszta falakat is elrejteni a könyv mögött
3D nyomtatott moduláris LED fal: 6 lépés (képekkel)
3D nyomtatott moduláris LED fal: Így lehet nagyon egyszerűen elkészíteni egy LED falat 3D nyomtatott modulok, 12 mm-es WS2812 led lámpák és 38 mm-es ping-pong labdák segítségével. A mechanikai felépítés azonban nagyon bonyolult volt. Ehelyett egy 3D moduláris rendszert terveztem. Minden modul 30x30 cm méretű és
Zöld város - interaktív fal: 6 lépés
Zöld város - Interaktív fal: A Zöld Város projekt célja a megújuló energiák kérdésének feltárása volt, amelyek annyira fontosak az energiával összefüggésben és a természeti erőforrások kimerülésének megelőzése érdekében, annak érdekében, hogy valamilyen módon felhívják a figyelmet erre a kérdésre. . Mi is szeretnénk