Obsah:

Stena s 500 LED diódami s ESP32: 16 krokov
Stena s 500 LED diódami s ESP32: 16 krokov

Video: Stena s 500 LED diódami s ESP32: 16 krokov

Video: Stena s 500 LED diódami s ESP32: 16 krokov
Video: How to get 5V from 18650 Lithium Battery Powering Arduino ESP32 ESP8266 or charge your phone 2024, November
Anonim
500 LED diód na stenu s ESP32
500 LED diód na stenu s ESP32

Ahoj všetci! Na konci tohto tutoriálu budete vedieť, ako si vytvoriť vlastnú LED stenu.

Tento návod je založený na letnom programe ponúkanom na univerzite Sacred Heart.

Bavte sa!

Zásoby

Spotrebný materiál uvedený nižšie.

Krok 1: Spotrebný materiál

Zásoby
Zásoby

Začnime zhromaždením všetkého, čo potrebujeme na dokončenie našej LED steny:

(Odkazy boli vytvorené 10.7.2019)

Softvér Arduino IDE

Mikroprocesor ESP32

LED pixelové svetlo

Zdroj

Napájací kábel

Nástroj na odizolovanie drôtu

Prepojovacie káble na chlieb

Elektrický drôt

Krok 2: Určenie správneho zdroja napájania pre vašu stenu LedWall

Existuje jednoduchý matematický spôsob, ako zistiť, ktorý napájací zdroj je pre vás najvhodnejší.

Používame Ohmov mocninový zákon: P = IxV (výkon = intenzita x napätie)

Napätie je určené našimi LED diódami: v tomto prípade 5V.

Intenzita závisí od hardvéru, jedna LED spotrebuje 30 mA.

Každý pás s 50 LEDkami preto spotrebuje 50 x 30mA = 1250mA = 1,25A.

Naša 500 LED stena preto spotrebuje 10 -krát viac (10 pásov): 12,5A.

Spotreba energie je potom 5V x 12,5A = 62,5W pre LED diódy.

Samozrejme, na vrchole LED musíte počítať s ESP a všetkými ostatnými položkami vo vašom obvode.

Máme napájací zdroj 60A, máme oveľa viac, ako potrebujeme.

Krok 3: Napájací kábel

Image
Image

Náš napájací zdroj je dodávaný s káblovými konektormi. Potrebujeme prispôsobiť napájací kábel, aby sme ho mohli pripojiť k zástrčke 110 V.

- Odrežte ženský konektor od napájacieho kábla. Mužskú časť, inak známy ako NEMA 5-15P, si ponecháme.

- Odizolujte kábel, aby boli na všetkých vodičoch viditeľné asi 3 mm medi.

Tu je rýchly video návod na odizolovanie drôtov:

Krok 4: Zapojenie napájacieho zdroja

Napájanie na ESP32S
Napájanie na ESP32S

Teraz sme pripravení zapojiť naše napájanie!

Pri akejkoľvek práci na zariadení vždy odpojte napájanie.

Elektrické vedenie

  • Čierny vodič (fáza) sa pripája na kolík „L“napájacieho zdroja
  • Biely vodič (neutrálny) sa pripája na kolík „N“napájacieho zdroja
  • Zelený vodič sa pripája na uzemňovací kolík napájacieho zdroja

(Ak vnútorné káble napájacieho kábla nemajú rovnaké farby ako tie naše, buďte v bezpečí a pozrite sa na schémy online.)

Testovanie

Zapojte napájací kábel počítača do akejkoľvek elektrickej zásuvky. Zelená dióda LED na napájacom zdroji by sa mala rozsvietiť.

Krok 5: Napájanie ESP32S

Pri pohľade na váš ESP by mali byť vedľa všetkých pinov štítky. Ak nie je označený, môžete si vyhľadať „vývod“vášho individuálneho ESP online.

Pomocou prepojovacieho vodiča alebo elektrického vodiča prepojovacieho kábla medzi mužmi a ženami prepojte:

  • Kolík ESP32S „5V“na „+V“zdroja napájania (oranžová na fotografii vyššie)
  • Kolík ESP32S „GND“do časti „-V“zdroja napájania (čierna na fotografii vyššie)

(Na niektorých ESP je pin „5V“namiesto toho označený ako „VCC“, oba znamenajú to isté.)

Vezmite prosím na vedomie, že váš ESP môže mať iný „vývod“ako ten, ktorý používame. Ako také môžete svoje vodiče pripojiť na iné miesto, ako je na obrázku vyššie. Pokiaľ sa pripájate na správne piny (5 V a GND), na fyzickom umiestnení na doske nezáleží.

Testovanie Znovu zapojte napájanie a ak má váš ESP LED indikátor (väčšinou áno), rozsvieti sa a signalizuje odosielanie napájania do ESP. Gratulujem

Krok 6: Napájanie svetelných pásov LED

Napájanie svetelných pásov LED
Napájanie svetelných pásov LED

Použitie elektrických vodičov:

- Pripojte červený vodič LED svetelného pásu k V+ na napájacom zdroji.

- Pripojte modrý vodič LED svetelného pásu k V- na napájacom zdroji.

Krok 7: Pripojenie ESP32 k svetelným pásom LED

Náš ESP32 dáva pokyn ovládaču WS2811 pripojenému ku každému z nich viedol farbu a jas, ktoré musia byť. Na to potrebuje náš ESP32 „dátový“kábel k pásikom.

Pásy LED sa dodávajú s 3 -vodičovým konektorom:

- Červená: Napájanie- Modrá: Neutrálna- Biela: Údaje

Pripojte biely pásikavý kábel k digitálnemu kolíku na ESP. Pamätajte si zvolené číslo PIN, pretože ho budeme musieť neskôr zvoliť v kóde. Náš sme zapojili do kolíka 13.

Krok 8: Príprava počítača: Ovládač C2102

Teraz, keď je náš hardvér zapojený, chceme nahrať náš prvý kód na testovanie. Štandardne systém Windows alebo MacO nemôže komunikovať s naším ESP32. Aby sme to urobili, musíme si stiahnuť „ovládač“pre komunikačný čip ESP USB: C2102.

Tento ovládač je potrebné stiahnuť a nainštalovať:

- Windows 10: https://www.silabs.com/documents/public/software/C…- Windows 7/8/8.1: https://www.silabs.com/documents/public/software/C…- Mac:

(Odkazy k 10. 7. 2019)

Krok 9: Software Arduino - pridanie podpory ESP32 - krok 1

Software Arduino - Pridanie podpory ESP32 - krok 1
Software Arduino - Pridanie podpory ESP32 - krok 1
Software Arduino - Pridanie podpory ESP32 - krok 1
Software Arduino - Pridanie podpory ESP32 - krok 1

Predtým, ako budeme môcť používať náš ESP32 so softvérom Arduino, musíme sa uistiť, že je rozpoznaný. V predvolenom nastavení softvér Arduino nemôže kompilovať kód pre náš ESP32, opravme to:

Krok 1: Pridanie násteniek k manažérovi

1 - V Arduine kliknite na možnosť Súbor >> Predvoľby

2- Do poľa „Adresy URL ďalších správcov dosiek“skopírujte nasledujúci odkaz:

Krok 10: Software Arduino - pridanie podpory ESP32 - krok 2

Software Arduino - Pridanie podpory ESP32 - krok 2
Software Arduino - Pridanie podpory ESP32 - krok 2
Software Arduino - Pridanie podpory ESP32 - krok 2
Software Arduino - Pridanie podpory ESP32 - krok 2

Teraz, keď softvér Arduino „pozná“viac dosiek, nainštalujme si podporu ESP32

Krok 2: Inštalácia podpory ESP32

1 - V hornom menu vyberte: Nástroje >> Doska >> Správca dosiek

2 - Zobrazí sa okno. Pomocou vyhľadávacieho poľa v pravom hornom rohu vyhľadajte „ESP32“.

3 - Nájdite ten, ktorý vyrobil espressif. Nainštalujte ho. (Pozri obrázok)

Krok 11: Software Arduino - pridanie podpory ESP32 - krok 3

Software Arduino - Pridanie podpory ESP32 - krok 3
Software Arduino - Pridanie podpory ESP32 - krok 3

Teraz, keď softvér Arduino môže komunikovať s naším ESP32, zapojme ho do počítača a overme, či všetko funguje.

1 - Zaistite, aby sme pracovali na platforme ESP32:

Kliknite na Nástroje >> Doska >> Vývojový modul ESP32

1- Uistite sa, že softvér Arduino vie, ako komunikovať s naším ESP:

Kliknite na Nástroje >> Port a vyberte ten, ktorý sa objaví po zapojení tohto kábla.

Dôležité:

Ak máte problém s odoslaním kódu do vášho ESP, skontrolujte najskôr tieto dve ponuky. Ak port nie je vybratý značkou začiarknutia, softvér Arduino s ním nebude komunikovať.

Krok 12: Pridanie knižníc do Arduino IDE

Pridanie knižníc do Arduino IDE
Pridanie knižníc do Arduino IDE

Teraz pridáme knižnicu, ktorá nám umožní otestovať náš Led Wall!

1- Kliknite na Nástroje >> Spravovať knižnice.

2- V pravom hornom rohu vyhľadajte NeoPixelBus. Nájdite „NeoPixelBus od spoločnosti Makuna“, nainštalujte ho (pozri obrázok)

Možné ďalšie zaujímavé knižnice: (Tento tutoriál nie je potrebný)

- NeoMatrix

- FastLed

- Artnet

- GFX

Krok 13: Prvý kód: test prameňov

Náš prvý kód je príkladom z knižnice.

Môžete buď skopírovať / prilepiť kód nižšie, alebo kliknúť na:

Súbor >> Príklady >> Adafruit NeoPixelBus >> Strandtest

Nezabudnite zmeniť svoj LED_PIN na ten, ktorý ste použili na fyzické pripojenie vašich LED diód. V tomto návode sme použili 13.

Nezabudnite tiež prispôsobiť veľkosť vlákna premennej LED_COUNT.

// Základný každodenný program LED Striptest.

#include #ifdef _AVR_ #include // Vyžadované pre 16 MHz Adafruit Trinket #endif // Ktorý pin na Arduine je pripojený k NeoPixels? #define LED_PIN 13 // Koľko NeoPixelov je pripojených k Arduinu? #define LED_COUNT 500 // Deklarujte náš objekt pásu NeoPixel: pás Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Argument 1 = počet pixelov v páse NeoPixel // Argument 2 = počet pinov Arduino (väčšina z nich je platná) // Argument 3 = vlajky typu pixelov, sčítajte podľa potreby: // NEO_KHZ800 800 KHz bitstream (väčšina produktov NeoPixel w/ LED WS2812) // NEO_KHZ400 400 KHz (klasické „v1“(nie v2) pixely FLORA, ovládače WS2811) // Pixely NEO_GRB sú zapojené pre bitový tok GRB (väčšina produktov NeoPixel) // Pixely NEO_RGB sú zapojené pre bitový tok RGB (v1 pixelov FLORA, nie v2) // NEO_RGBW Pixely sú zapojené pre bitový tok RGBW (produkty NeoPixel RGBW) // funkcia setup ()-spustí sa raz pri štarte -------------------- ------------ void setup () {// Tieto riadky sú určené špeciálne na podporu Adafruit Trinket 5V 16 MHz. // Akúkoľvek inú dosku môžete odstrániť, ale nie je na škodu ju ponechať: #if defined (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // END kódu špecifického pre Trinket. strip.begin (); // INICIALIZUJTE objekt objektu NeoPixel (POVINNÝ) strip.show (); // VYPNITE všetky pixely ASAP strip.setBrightness (50); // Nastavte BRIGHTNESS na asi 1/5 (max = 255)} // funkcia loop ()-beží opakovane, pokiaľ je doska zapnutá --------------- void loop () {// Vyplňte po dĺžke pásika rôznymi farbami … colorWipe (strip. Color (255, 0, 0), 50); // Red colorWipe (strip. Color (0, 255, 0), 50); // Zelená farbaWipe (strip. Color (0, 0, 255), 50); // Modrá // Vykonajte efekt divadla v rôznych farbách … TheaterChase (strip. Color (127, 127, 127), 50); // Biele divadlo s polovičným jasomChase (strip. Color (127, 0, 0), 50); // Červená, divadlo s polovičným jasomChase (strip. Color (0, 0, 127), 50); // Modrá, dúha s polovičným jasom (10); // Tečúci dúhový cyklus po celom pásovom divadleChaseRainbow (50); // Dúhové vylepšené divadloChase variant} // Niektoré naše vlastné funkcie na vytváranie animovaných efektov ----------------- // Vyplňujte pixely pásu jeden za druhým farbou. Pás NIE JE vymazaný // prvý; všetko tam bude pokryté pixel po pixeli. Odovzdajte farbu // (ako jednu „zabalenú“32-bitovú hodnotu, ktorú získate volaním // strip. Color (červená, zelená, modrá), ako je uvedené vo funkcii loop () vyššie), // a čas oneskorenia (v milisekundách) medzi pixelmi. void colorWipe (uint32_t farba, int wait) {for (int i = 0; i strip.setPixelColor (i, color); // Set color of pixel (in RAM) strip.show (); // Update strip to match delay (počkajte); // Na chvíľu sa zastavte}} // Naháňacie svetlá v štýle kina. Prejdite farbou (32-bitová hodnota, // a la pás. Farba (r, g, b), ako je uvedené vyššie), a čas oneskorenia (v ms) // medzi snímkami. void TheaterChase (farba uint32_t, int wait) {for (int a = 0; a <10; a ++) {// Opakujte 10 krát … pre (int b = 0; b <3; b ++) {// 'b' sa počíta od 0 do 2 … strip.clear (); // Nastavte všetky pixely v pamäti RAM na 0 (vypnuté) // 'c' sa počíta od 'b' do konca pásik v krokoch po 3 … pre (int c = b; c strip.setPixelColor (c, farba); // Nastaví pixel 'c' na hodnotu 'farba'} strip.show (); // Aktualizácia pásu s oneskorením nového obsahu (počkajte); // Na chvíľu pozastavte}}} // Dúhový cyklus pozdĺž celého pásu. Čas oneskorenia prechodu (v ms) medzi snímkami. prázdna dúha (int čakanie) {// Odtieň prvého pixelu spustí 5 kompletných slučiek cez farebné koliesko. // Farebné koliesko má rozsah 65536, ale je to tak OK, ak sa prevrátime, tak // stačí počítať od 0 do 5*65536. Pridanie 256 do firstPixelHue zakaždým // znamená, že touto vonkajšou slučkou prejdeme 5*65536/256 = 1280 prejdených: for (long firstPixelHue = 0; firstPixelHue <5*65536; firstPixelHue += 256) {for (int i = 0; I // Odsadenie odtieňa pixelov o hodnotu, ktorá urobí jednu celú otáčku // farebného kolieska (rozsah 65536) po dĺžke pásu // (kroky strip.numPixels ()): int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels ()); // strip. ColorHSV () môže mať 1 alebo 3 argumenty: odtieň (0 až 65535) alebo // voliteľne pridá sýtosť a hodnotu (jas) (každý 0 až 255). // Tu používame iba variant odtieňa s jedným argumentom. Výsledok // sa prejde cez strip.gamma32 (), aby poskytol „pravdivejšie“farby // pred priradením ku každému pixelu: strip.setPixelColor (i, strip.gamma32 (strip. ColorHSV (pixelHue)));} strip.show (); // Aktualizácia pruhu s oneskorením nového obsahu (počkajte); // Pozastavenie na chvíľu}}} // Značky kina vylepšené dúhou. Čas oneskorenia prechodu (v ms) medzi snímkami. prázdne divadloChaseRainbow (čakanie) {i nt prvýPixelHue = 0; // Prvý pixel začína na červeno (odtieň 0) pre (int a = 0; a <30; a ++) {// Opakujte 30 -krát … pre (int b = 0; b pás RGB.setPixelColor (c, farba); / / Nastaviť pixel „c“na hodnotu „farba“} strip.show (); // Aktualizácia pruhu s oneskorením nového obsahu (čakanie); // Najprv na chvíľu pozastavtePixelHue += 65536 /90; // Jeden cyklus farebného kolieska viac ako 90 snímok}}}

Krok 14: Ukážkový kód SHU

Image
Image

Náš kód zapína všetky LEDky jednu po druhej, aby sa ubezpečil, že fungujú:

// Tento príklad bude cyklicky zobrazovať 500 pixelov ako červenú

#includeconst uint16_t PixelCount = 500; // tento príklad predpokladá 4 pixely, jeho zmenšenie spôsobí poruchu const uint8_t PixelPin = 13; // uistite sa, že ste to nastavili na správny kolík, pre Esp8266 sa ignoruje

#define colorSaturation 128 // tri elementové pixely, v rôznom poradí a rýchlostiach

Pásik NeoPixelBus (PixelCount, PixelPin);

// Pás NeoPixelBus (PixelCount, PixelPin); RgbColor red (0, colorSaturation, 0); RgbColor green (colorSaturation, 0, 0); RgbColor blue (0, 0, colorSaturation); RgbColor biela (colorSaturation); RgbColor čierna (0); HslColor hslRed (červená); HslColor hslGreen (zelená); HslColor hslBlue (modrá); HslColor hslWhite (biela); HslColor hslBlack (čierna); void setup () {Serial.begin (115200) while (! Serial); // počkajte na sériové pripojenie Serial.println (); Serial.println ("Inicializácia …"); Serial.flush (); // toto vynuluje všetky neopixely na pásik vypnutého stavu. Begin (); strip. Show (); Serial.println (); Serial.println ("Beží …"); } void loop () {oneskorenie (100); Serial.println ("Farby R, G, B, W …"); for (int i = 0; i <= 499; i ++) {// nastavenie farieb, // ak sa nezhodujú v poradí, musíte použiť prvok funkcií NeoGrbFeature. SetPixelColor (i, červený); pásik. Zobraziť (); oneskorenie (100); strip. SetPixelColor (i, hslRed); strip. Show (); oneskorenie (100); }}

Krok 15: Nahranie kódu do ESP32

Dôležité:

Aby ste mohli nahrať kód do akéhokoľvek mikroovládača, musí byť v programovacom režime. Väčšinu z nich robíte automaticky a stačí kliknúť na tlačidlo nahrať v softvéri.

Náš ESP32 vyžaduje, aby ste počas odosielania kódu podržali programovacie tlačidlo. Musíte ho tiež resetovať po nahraní kódu stlačením tlačidla Reset.

Programovacie tlačidlo nášho ESP32 je umiestnené vľavo, tlačidlo reset napravo. Ak máte ďalší mikrokontrolér, prečítajte si príručku.

Krok 16: Citácie

Tento návod bol vytvorený pomocou nasledujúcich návodov:

randomnerdtutorials.com/installing-the-esp…

Slúži na inštaláciu ESP32 do Arduino IDE.

Autori:

Nathaniel Barone Gabriel Castro

Editor:

Cedric Bleimling

Odporúča: