Obsah:

500 LED diod na zeď s ESP32: 16 kroků
500 LED diod na zeď s ESP32: 16 kroků

Video: 500 LED diod na zeď s ESP32: 16 kroků

Video: 500 LED diod na zeď s ESP32: 16 kroků
Video: Lesson 68, Home Automation: How to control 16 Channel Relay module using Arduino control 16 AC loads 2024, Červenec
Anonim
500 LED stěn s ESP32
500 LED stěn s ESP32

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

Zásoby
Zásoby

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

Image
Image

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

Napájení na ESP32S
Napájení na ESP32S

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

Napájení LED světelných pásků
Napájení LED světelných pásků

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

Software Arduino - Přidání podpory ESP32 - krok 1
Software Arduino - Přidání podpory ESP32 - krok 1
Software Arduino - Přidání podpory ESP32 - krok 1
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

Software Arduino - Přidání podpory ESP32 - krok 2
Software Arduino - Přidání podpory ESP32 - krok 2
Software Arduino - Přidání podpory ESP32 - krok 2
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

Software Arduino - Přidání podpory ESP32 - krok 3
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

Přidání knihoven do Arduino IDE
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

Image
Image

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: