Obsah:
- Zásoby
- Krok 1: Spotřební materiál
- Krok 2: Určení správného napájecího zdroje pro vaši LedWall
- Krok 3: Napájecí kabel
- Krok 4: Zapojení napájecího zdroje
- Krok 5: Napájení na ESP32S
- Krok 6: Napájení světelných pásků LED
- Krok 7: Připojení ESP32 k LED světelným páskům
- Krok 8: Příprava počítače: Ovladač C2102
- Krok 9: Software Arduino - Přidání podpory ESP32 - krok 1
- Krok 10: Software Arduino - Přidání podpory ESP32 - Krok 2
- Krok 11: Software Arduino - Přidání podpory ESP32 - Krok 3
- Krok 12: Přidání knihoven do Arduino IDE
- Krok 13: První kód: Strand Test
- Krok 14: Ukázkový kód SHU
- Krok 15: Nahrání kódu do ESP32
- Krok 16: Citace
Video: 500 LED diod na zeď s ESP32: 16 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Ahoj všichni! Na konci tohoto tutoriálu budete vědět, jak si vytvořit vlastní LED stěnu.
Tento tutoriál vychází z letního programu nabízeného na univerzitě Sacred Heart.
Bavte se!
Zásoby
Dodávky uvedené níže.
Krok 1: Spotřební materiál
Začněme shromážděním všeho, co potřebujeme k dokončení naší Ledové zdi:
(Odkazy byly vytvořeny 10. 7. 2019)
Software Arduino IDE
Mikroprocesor ESP32
LED Pixel Light
Zdroj napájení
Napájecí kabel
Nástroj pro odizolování drátu
Propojovací kabely na prkénko
Elektrický drát
Krok 2: Určení správného napájecího zdroje pro vaši LedWall
Existuje jednoduchý matematický způsob, jak zjistit, který napájecí zdroj je pro vaše použití nejlepší.
Používáme Ohmův mocninový zákon: P = IxV (výkon = intenzita x napětí)
Napětí je určeno našimi LED diodami: v tomto případě 5V.
Intenzita závisí na hardwaru, jedna LED spotřebuje 30 mA.
Každý pás 50 LED proto spotřebovává 50 x 30mA = 1250mA = 1,25A.
Naše 500 LED stěna proto spotřebuje 10krát více (10 proužků): 12,5 A.
Spotřeba energie je pak 5V x 12,5A = 62,5W pro LED.
Samozřejmě na vrcholu LED musíte účtovat ESP a všechny další položky vašeho okruhu.
Máme napájecí zdroj 60 A, máme mnohem víc, než potřebujeme.
Krok 3: Napájecí kabel
Náš napájecí zdroj je dodáván s drátovými konektory. Potřebujeme upravit napájecí kabel, abychom jej připojili k zástrčce 110 V.
- Odřízněte zásuvku od napájecího kabelu. Mužskou část si ponecháme, jinak známá jako NEMA 5-15P.
- Odizolujte kabel, aby byly na všech vodičích viditelné asi 3 mm mědi.
Zde je rychlý video návod, jak odizolovat dráty:
Krok 4: Zapojení napájecího zdroje
Nyní jsme připraveni připojit naše napájení!
Při jakékoli práci na zařízení vždy odpojte napájecí kabel.
Elektrické vedení
- Černý vodič (fáze) se připojuje ke kolíku „L“napájecího zdroje
- Bílý vodič (neutrální) se připojuje ke kolíku N napájecího zdroje
- Zelený vodič se připojuje ke kolíku uzemnění napájecího zdroje
(Pokud vnitřní kabely napájecího kabelu nemají stejné barvy jako naše, buďte v bezpečí a vyhledejte schémata online.)
Testování
Zapojte napájecí kabel počítače do jakékoli elektrické zásuvky. Zelená LED dioda na napájecím zdroji by se měla rozsvítit.
Krok 5: Napájení na ESP32S
Při pohledu na váš ESP by vedle všech pinů měly být štítky. Pokud není označen, můžete si vyhledat „pinout“svého individuálního ESP online.
Pomocí propojovacího kabelu nebo elektrického vodiče propojovacího kabelu mezi mužem a ženou připojte:
- Kolík ESP32S „5V“na „+V“napájecího zdroje (oranžová na fotografii výše)
- Kolík ESP32S „GND“do sekce „-V“napájecího zdroje (černý na fotografii výše)
(Na některých ESP je pin '5V' označen jako 'VCC', oba znamenají totéž.)
Vezměte prosím na vědomí, že váš ESP může mít jiný 'pinout' než ten, který používáme. Jako takové můžete připojit vodiče na jiné místo, než na obrázku výše. Dokud se připojujete ke správným pinům (5 V a GND), na fyzickém umístění na desce nezáleží.
Testování Znovu zapojte napájecí zdroj a pokud má váš ESP LED indikátor (většina ano), rozsvítí se a signalizuje, že do ESP je odesíláno napájení. Gratulujeme!
Krok 6: Napájení světelných pásků LED
Použití elektrických vodičů:
- Připojte červený vodič LED světelného pásu k V+ na napájecím zdroji.
- Připojte modrý vodič LED světelného pásu k V- na napájecím zdroji.
Krok 7: Připojení ESP32 k LED světelným páskům
Náš ESP32 dává pokyn ovladači WS2811 připojenému ke každému z nich barvu a jas, které potřebují. K tomu náš ESP32 potřebuje „datový“kabel k páskům.
Pásy LED se dodávají se 3vodičovým konektorem:
- Červená: Napájení- Modrá: Neutrální- Bílá: Data
Připojte kabel White Led Strip k digitálnímu pinu na ESP. Pamatujte prosím na zvolené číslo PIN, protože jej budeme muset později v kódu vybrat. Zapojili jsme náš do pinu 13.
Krok 8: Příprava počítače: Ovladač C2102
Nyní, když je náš hardware zapojen, chceme nahrát náš první kód a otestovat ho. Ve výchozím nastavení Windows nebo MacOs nemohou komunikovat s naším ESP32. Abychom to mohli udělat, musíme si stáhnout „ovladač“pro komunikační čip ESP USB: C2102.
Tento ovladač je třeba stáhnout a nainstalovat:
- 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 - Přidání podpory ESP32 - krok 1
Než budeme moci používat náš ESP32 se softwarem Arduino, musíme se ujistit, že je rozpoznán. Ve výchozím nastavení software Arduino nemůže kompilovat kód pro náš ESP32, opravme to:
Krok 1: Přidání desek do správce
1 - V Arduinu klikněte na možnost Soubor >> Předvolby
2- Do pole „Adresy URL dalších správců desek“zkopírujte následující odkaz:
Krok 10: Software Arduino - Přidání podpory ESP32 - Krok 2
Nyní, když software Arduino „zná“více desek, nainstalujme naši podporu ESP32
Krok 2: Instalace podpory ESP32
1 - V horním menu vyberte: Nástroje >> Deska >> Správce desek
2 - Zobrazí se okno. Pomocí vyhledávacího pole v pravém horním rohu vyhledejte „ESP32“.
3 - Najděte ten, který vytvořil espressif. Nainstalovat. (Viz obrázek)
Krok 11: Software Arduino - Přidání podpory ESP32 - Krok 3
Nyní, když software Arduino může komunikovat s naším ESP32, připojme jej k počítači a ověříme, že vše funguje.
1 - Pojďme se ujistit, že pracujeme na platformě ESP32:
Klikněte na Nástroje >> Deska >> Vývojový modul ESP32
1- Zajistěte, aby software Arduino věděl, jak komunikovat s naším ESP:
Klikněte na Nástroje >> Port a vyberte ten, který se objeví po připojení tohoto kabelu.
Důležité:
Pokud máte jakýkoli problém s nahráváním kódu do vašeho ESP, zkontrolujte nejprve tyto dvě nabídky. Pokud port není označen zatržítkem, software Arduino s ním nebude komunikovat.
Krok 12: Přidání knihoven do Arduino IDE
Nyní přidáme knihovnu, která nám umožní otestovat naši Led Wall!
1- Klikněte na Nástroje >> Spravovat knihovny.
2- V pravém horním rohu vyhledejte NeoPixelBus. Vyhledejte „NeoPixelBus by Makuna“, nainstalujte jej (viz obrázek)
Potenciální další zajímavé knihovny: (Tento tutoriál není vyžadován)
- NeoMatrix
- FastLed
- Artnet
- GFX
Krok 13: První kód: Strand Test
Náš první kód je příkladem z knihovny.
Můžete buď zkopírovat / vložit níže uvedený kód, nebo kliknout na:
Soubor >> Příklady >> Adafruit NeoPixelBus >> Strandtest
Ujistěte se, že jste změnili svůj LED_PIN na ten, který jste použili k fyzickému připojení vašich LED diod. V tomto tutoriálu jsme použili 13.
Nezapomeňte také přizpůsobit velikost vlákna pomocí proměnné LED_COUNT.
// Základní každodenní program LED Striptest.
#include #ifdef _AVR_ #include // Vyžadováno pro 16 MHz Adafruit Trinket #endif // Který pin na Arduinu je připojen k NeoPixelům? #define LED_PIN 13 // Kolik NeoPixelů je připojeno k Arduinu? #define LED_COUNT 500 // Deklarujte náš objekt pásu NeoPixel: proužek Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Argument 1 = počet pixelů v pásu NeoPixel // Argument 2 = počet pinů Arduino (většina je platná) // Argument 3 = příznaky typu pixelů, sčítejte podle potřeby: // NEO_KHZ800 800 KHz bitstream (většina produktů NeoPixel w/ WS2812 LED) // NEO_KHZ400 400 KHz (klasický 'v1' (ne v2) FLORA pixely, ovladače WS2811) // NEO_GRB Pixely jsou zapojeny pro GRB bitstream (většina produktů NeoPixel) // NEO_RGB Pixely jsou zapojeny pro RGB bitstream (v1 FLORA pixely, ne v2) // NEO_RGBW Pixely jsou zapojeny pro bitový tok RGBW (produkty NeoPixel RGBW) // funkce setup ()-spustí se jednou při spuštění -------------------- ------------ void setup () {// Tyto řádky jsou speciálně pro podporu Adafruit Trinket 5V 16 MHz. // Tuto desku můžete odebrat z jakékoli jiné desky (ale bez poškození): #if definováno (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // END kódu specifického pro Trinket. strip.begin (); // INICIALIZUJTE objekt pásu NeoPixel (POVINNÝ) strip.show (); // VYPNĚTE všechny pixely ASAP strip.setBrightness (50); // Nastavte BRIGHTNESS na asi 1/5 (max = 255)} // funkce loop ()-běží opakovaně, dokud je deska zapnutá --------------- void loop () {// Výplň po délce proužku v různých barvách … colorWipe (strip. Color (255, 0, 0), 50); // Red colorWipe (strip. Color (0, 255, 0), 50); // Green colorWipe (strip. Color (0, 0, 255), 50); // Modrá // Proveďte divadelní efekt v různých barvách… TheaterChase (strip. Color (127, 127, 127), 50); // Bílé divadlo s polovičním jasemChase (strip. Color (127, 0, 0), 50); // Červená, poloviční jas divadloChase (strip. Color (0, 0, 127), 50); // Modrá, poloviční jas duha (10); // Tečoucí duhový cyklus po celém pásovém divadleChaseRainbow (50); // Varianta TheatreChase vylepšená duhou} // Některé naše vlastní funkce pro vytváření animovaných efektů ----------------- // Vyplňte pixely pásu jeden po druhém barvou. Strip NENÍ vymazán // první; cokoli tam bude pokryto pixel po pixelu. Předejte barvu // (jako jednu 'zabalenou' 32bitovou hodnotu, kterou můžete získat voláním // strip. Color (červená, zelená, modrá), jak je uvedeno výše ve funkci loop ()), // a doba zpoždění (v milisekundách) mezi pixely. void colorWipe (uint32_t color, int wait) {for (int i = 0; i strip.setPixelColor (i, color); // Set pixel's color (in RAM) strip.show (); // Update strip to match delay (počkejte); // Na chvíli pozastavte}} // Pronásledující světla ve stylu divadelního stanu. Projděte barvou (32bitová hodnota, // a la proužek. Barva (r, g, b) jak je uvedeno výše), a čas zpoždění (v ms) // mezi snímky. void TheaterChase (barva uint32_t, int čeká) {for (int a = 0; a <10; a ++) {// Opakujte 10krát … pro (int b = 0; b <3; b ++) {// 'b' se počítá od 0 do 2 … strip.clear (); // Nastaví všechny pixely v RAM na 0 (vypnuto) // 'c' se počítá od 'b' do konce pruh v krocích po 3… pro (int c = b; c strip.setPixelColor (c, color); // Nastaví pixel 'c' na hodnotu 'color'} strip.show (); // Aktualizuje pruh s novým zpožděním obsahu (počkejte); // Na chvíli pozastavte}}} // Duhový cyklus po celém pásu. Prodleva průchodu (v ms) mezi snímky. prázdná duha (int čekání) {// Odstín prvního pixelu spustí 5 kompletních smyček barevné kolo. // Barevné kolo má rozsah 65536, ale je to tak Dobře, pokud se převrátíme, takže // stačí počítat od 0 do 5*65536. Přidání 256 do firstPixelHue pokaždé // znamená, že touto vnější smyčkou projdeme 5*65536/256 = 1280: for (long firstPixelHue = 0; firstPixelHue <5*65536; firstPixelHue += 256) {for (int i = 0; I // Odsazení odstínu pixelu o částku, která provede jednu plnou otáčku // barevného kolečka (rozsah 65536) po délce pásu // (kroky strip.numPixels ()): int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels ()); // strip. ColorHSV () může mít 1 nebo 3 argumenty: odstín (0 až 65535) nebo // volitelně přidat sytost a hodnotu (jas) (každý 0 až 255). // Zde používáme pouze variantu odstínu s jedním argumentem. Výsledek // je předán přes strip.gamma32 (), aby poskytl 'pravdivější' barvy // před přiřazením ke každému pixelu: strip.setPixelColor (i, strip.gamma32 (strip. ColorHSV (pixelHue)));} strip.show (); // Aktualizace pásu s novým zpožděním obsahu (čekání); // Pozastavení na okamžik}} // // Duhové vylepšení divadelního stanu. Čas zpoždění průchodu (v ms) mezi snímky. prázdné divadloChaseRainbow (čekání) {i nt prvníPixelHue = 0; // První pixel začíná na červenou (odstín 0) pro (int a = 0; a <30; a ++) {// Opakujte 30krát … pro (int b = 0; b pás RGB.setPixelColor (c, barva); / / Nastavit pixel 'c' na hodnotu 'color'} strip.show (); // Update strip with new contents delay (wait); // Pause for a moment firstPixelHue += 65536 /90; // One cycle of color wheel více než 90 snímků}}}
Krok 14: Ukázkový kód SHU
Náš kód zapíná všechny LEDky jeden po druhém, aby se ujistil, že fungují:
// Tento příklad bude cyklicky zobrazovat 500 pixelů jako červenou
#includeconst uint16_t PixelCount = 500; // tento příklad předpokládá 4 pixely, jeho zmenšení způsobí poruchu const uint8_t PixelPin = 13; // ujistěte se, že jste to nastavili na správný pin, u Esp8266 ignorován
#define colorSaturation 128 // tři elementové pixely, v různém pořadí a rychlosti
Proužek NeoPixelBus (PixelCount, PixelPin);
// NeoPixelBus proužek (PixelCount, PixelPin); RgbColor red (0, colorSaturation, 0); RgbColor green (colorSaturation, 0, 0); RgbColor blue (0, 0, colorSaturation); RgbColor white (colorSaturation); RgbColor černá (0); HslColor hslRed (červená); HslColor hslGreen (zelená); HslColor hslBlue (modrá); HslColor hslWhite (bílá); HslColor hslBlack (černá); neplatné nastavení () {Serial.begin (115200) while (! Serial); // počkejte na sériové připojení Serial.println (); Serial.println ("Inicializace …"); Serial.flush (); // tím se vynulují všechny neopixely na pruh mimo stav. Begin (); strip. Show (); Serial.println (); Serial.println ("Spuštěno …"); } void loop () {zpoždění (100); Serial.println ("Barvy R, G, B, W …"); for (int i = 0; i <= 499; i ++) {// nastavte barvy, // pokud se neshodují v pořadí, musíte použít funkci NeoGrbFeature feature strip. SetPixelColor (i, red); strip. Show (); zpoždění (100); strip. SetPixelColor (i, hslRed); strip. Show (); zpoždění (100); }}
Krok 15: Nahrání kódu do ESP32
Důležité:
Aby bylo možné nahrávat kód do jakéhokoli mikrořadiče, musí být v programovacím režimu. Většinu proveďte automaticky a vše, co musíte udělat, je kliknout na nahrát v softwaru.
Náš ESP32 vyžaduje, abyste při odesílání kódu drželi programovací tlačítko. Musíte jej také resetovat po nahrání kódu stisknutím tlačítka Reset.
Programovací tlačítko našeho ESP32 je umístěno vlevo, resetovací tlačítko vpravo. Pokud máte jiný mikrořadič, nahlédněte do svého manuálu.
Krok 16: Citace
Tento instruktáž byl vytvořen pomocí následujících tutoriálů:
randomnerdtutorials.com/installing-the-esp…
Slouží k instalaci ESP32 do Arduino IDE.
Autoři:
Nathaniel Barone Gabriel Castro
Editor:
Cedric Bleimling
Doporučuje:
Interaktivní radarová zeď: 5 kroků
Interaktivní radarová zeď: Interaktivní radarová zeď je jedním z vícedotykových systémů. Je založen na technologii počítačového vidění, získává a rozpoznává pohyb prstu osoby po projekční ploše (okna nebo psací stoly). Díky softwaru pro přirozené ovládání gesty
Robot pro lezení na zeď: 9 kroků
Wall Climbing Robot: Robot pro lezení po stěně slouží k zajištění alternativní kontroly stěn pomocí mechanických a elektrických systémů. Robot nabízí alternativu k nákladům a nebezpečím najímání lidí na kontrolu zdí ve vysokých výškách. Loupež
DIY robot sledující zeď: 9 kroků
DIY robot sledující zeď: V tomto Instructable vysvětlíme, jak navrhnout systém detekce a vyhýbání se překážkám pomocí GreenPAK ™ společně s několika externími ultrazvukovými a infračervenými (IR) senzory. Tento design představí některá témata, která jsou vyžadována pro autonomní
Přehrávání zvuku MP3 zeď FX: 12 kroků (s obrázky)
MP3 přehrávání zvuku FX Wall: Vytvořte zábavnou a interaktivní zvukovou zeď, která přehraje MP3 jednoduchým dotykem! Co děláte s prázdnou zdí? Mohl byste k tomu přidat nějaké pěkné obrázky? Nebo ji zakryjte barevnou pokojovou rostlinou. Dokonce jsme viděli, jak někteří lidé schovávají holé zdi za knihu
LED displej pro montáž na zeď: 5 kroků
LED nástěnný displej: V tomto návodu se naučíme, jak vyrobit nástěnný LED světelný displej vhodný pro příležitostné i profesionální prostředí. Chtěl jsem to udělat, protože LED diody jsou pro mě nový koncept a často jsou přehlíženy, ale mohou být