Kazalo:

500 LED stene z ESP32: 16 korakov
500 LED stene z ESP32: 16 korakov

Video: 500 LED stene z ESP32: 16 korakov

Video: 500 LED stene z ESP32: 16 korakov
Video: Котика ударило током, 10 т. Вольт 2024, Julij
Anonim
500 LED diod na steni z ESP32
500 LED diod na steni z ESP32

Zdravo vsi! Do konca te vadnice boste vedeli, kako ustvariti lastno LED steno.

Ta vadnica temelji na poletnem programu na Univerzi Sacred Heart.

Zabavaj se!

Zaloge

Zaloge, navedene spodaj.

1. korak: Zaloge

Zaloge
Zaloge

Začnimo z zbiranjem vsega, kar potrebujemo za dokončanje LED stene:

(Povezave so bile ustvarjene dne 10. 10. 2019)

Arduino IDE programska oprema

Mikro krmilnik ESP32

LED Pixel Light

Napajanje

Napajalni kabel

Orodje za odstranjevanje žice

Mostični kabli za ploščice

Električna žica

2. korak: Določanje ustreznega napajanja za vaš LedWall

Obstaja preprost matematični način, da ugotovite, kateri napajalnik je najboljši za vašo uporabo.

Uporabljamo Ohmov zakon moči: P = IxV (moč = intenzivnost x napetost)

Napetost določajo naše LED diode: v tem primeru 5V.

Intenzivnost je odvisna od strojne opreme, en sam LED porabi 30 mA.

Vsak trak 50 LED torej porabi 50 x 30mA = 1250mA = 1.25A.

Naša stena 500 Led torej porabi 10 -krat več (10 trakov): 12,5A.

Poraba energije je za LED 5V x 12.5A = 62.5W.

Seveda morate poleg Led -a upoštevati ESP in vse druge elemente vašega vezja.

Imamo napajalnik 60A, imamo ga veliko več, kot ga potrebujemo.

3. korak: Napajalni kabel

Image
Image

Naš napajalnik je opremljen z žičnimi priključki. Priključiti moramo napajalni kabel, da ga priključimo na 110V vtič.

- Odrežite ženski konektor z napajalnega kabla. Obdržali bomo moški del, sicer znan kot NEMA 5-15P.

- Odstranite kabel, da bo na vseh žicah vidno približno 3 mm bakra.

Tukaj je hitra video vadnica o tem, kako odstraniti žice:

4. korak: Priključite napajalnik

Napajanje na ESP32S
Napajanje na ESP32S

Zdaj smo pripravljeni priključiti napajanje!

Ko delate na njem, vedno odklopite napajalnik.

Ožičenje

  • Črna žica (faza) se poveže z "L" zatičem napajalnika
  • Bela žica (nevtralna) se poveže z 'N' zatičem napajalnika
  • Zelena žica se poveže z ozemljitvenim zatičem napajalnika

(Če notranje žice vašega napajalnega kabla niso iste barve kot naše, bodite varni in poiščite sheme na spletu.)

Testiranje

Napajalni kabel računalnika priključite v katero koli električno vtičnico. Zelena LED na napajalniku bi morala vklopiti.

5. korak: Napajanje na ESP32S

Če pogledate vaš ESP, morajo biti poleg vsakega pin -ja nalepke. Če ni označen, lahko poiščete "pinout" vašega posameznega ESP -ja na spletu.

S pomočjo mostične žice za moške do ženske ali električne žice povežite:

  • Pin "5V" ESP32S na "+V" napajalnika (oranžno na zgornji fotografiji)
  • Pin 'GND' ESP32S na odseku '-V' napajalnika (črno na zgornji fotografiji)

(Na nekaterih ESP -jih je "5V" pin označen kot "VCC", oba pomenita isto.)

Upoštevajte, da ima vaš ESP drugačen "pinout" od tistega, ki ga uporabljamo. Tako lahko svoje žice povežete na drugo lokacijo kot na zgornji sliki. GND), fizična lokacija na plošči ni pomembna.

Testiranje Ponovno priključite napajalnik in če ima vaš ESP LED -indikator (večina to počne), zasveti, kar pomeni, da se napajanje pošilja na ESP. Čestitamo!

6. korak: Napajanje LED svetlobnih trakov

Napajanje LED svetlobnih trakov
Napajanje LED svetlobnih trakov

Uporaba električnih žic:

- Priključite rdečo žico LED svetlobnega traku na V+ na napajalniku.

- Modro žico LED svetlobnega traku priključite na V- na napajalniku.

7. korak: ESP32 priključite na LED svetlobne trakove

Naš ESP32 naroča gonilniku WS2811, ki je priključen na vsak LED, barvo in svetlost, ki jih potrebujejo. Če želite to narediti, naš ESP32 potrebuje "podatkovni" kabel za trakove.

Led trakovi so opremljeni s 3 -žilnim priključkom:

- rdeča: moč- modra: nevtralna- bela: podatki

Priključimo kabel bele LED diode na digitalni zatič na ESP -ju. Upoštevajte izbrano številko PIN, saj jo bomo morali kasneje izbrati v kodi.

8. korak: Priprava računalnika: gonilnik C2102

Zdaj, ko je naša strojna oprema ožičena, želimo naložiti svojo prvo kodo, da jo preizkusimo. Privzeto Windows ali MacO ne moreta komunicirati z našim ESP32. Če želimo to narediti, moramo prenesti "gonilnik" za komunikacijski čip ESP USB: C2102.

Ta gonilnik je treba prenesti in namestiti:

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

(Povezave od 10.7.2019)

9. korak: Programska oprema Arduino - Dodajanje podpore ESP32 - 1. korak

Arduino Software - Dodajanje podpore ESP32 - 1. korak
Arduino Software - Dodajanje podpore ESP32 - 1. korak
Arduino Software - Dodajanje podpore ESP32 - 1. korak
Arduino Software - Dodajanje podpore ESP32 - 1. korak

Preden lahko uporabimo naš ESP32 s programsko opremo Arduino, se moramo prepričati, da je prepoznan. Privzeto programska oprema Arduino ne more sestaviti kode za naš ESP32, popravimo to:

1. korak: Dodajanje plošč upravitelju

1 - V Arduinu kliknite možnost Datoteka >> Nastavitve

2- V polje "Dodatni URL-ji upravitelja plošč" kopirajte to povezavo:

10. korak: Programska oprema Arduino - Dodajanje podpore ESP32 - 2. korak

Arduino Software - Dodajanje podpore ESP32 - 2. korak
Arduino Software - Dodajanje podpore ESP32 - 2. korak
Arduino Software - Dodajanje podpore ESP32 - 2. korak
Arduino Software - Dodajanje podpore ESP32 - 2. korak

Zdaj, ko programska oprema Arduino "pozna" več plošč, namestimo podporo za ESP32

2. korak: Namestitev podpore ESP32

1 - V zgornjem meniju izberite: Orodja >> Plošča >> Upravitelj plošč

2 - Pojavi se okno. Z iskalnim poljem v zgornjem desnem kotu poiščite "ESP32".

3 - Poiščite tisto, ki jo je izdelal espressif. Namestite ga. (Glej sliko)

11. korak: Programska oprema Arduino - Dodajanje podpore ESP32 - 3. korak

Arduino Software - Dodajanje podpore ESP32 - 3. korak
Arduino Software - Dodajanje podpore ESP32 - 3. korak

Zdaj, ko lahko programska oprema Arduino komunicira z našim ESP32, jo priključimo na računalnik in preverimo, ali vse deluje.

1 - Poskrbimo, da delamo na platformi ESP32:

Kliknite Orodja >> Plošča >> ESP32 Dev Module

1- Poskrbimo, da programska oprema Arduino ve, kako komunicirati z našim ESP:

Kliknite Orodja >> Vrata in izberite tistega, ki se prikaže, ko priključite ta kabel.

Pomembno:

Če imate težave pri nalaganju kode v ESP, najprej preverite ta dva menija. Če vrata niso izbrana s kljukico, programska oprema Arduino z njimi ne bo komunicirala.

12. korak: Dodajanje knjižnic v Arduino IDE

Dodajanje knjižnic v Arduino IDE
Dodajanje knjižnic v Arduino IDE

Zdaj bomo dodali knjižnico, ki nam bo omogočila preizkus naše Led stene!

1- Kliknite Orodja >> Upravljanje knjižnic.

2- V zgornjem desnem kotu poiščite NeoPixelBus. Poiščite "NeoPixelBus by Makuna", ga namestite (glejte sliko)

Potencialne druge zanimive knjižnice: (Ni nujno za to vadnico)

- NeoMatrix

- FastLed

- Artnet

- GFX

Korak 13: Prva koda: Test pramena

Naša prva koda je primer iz knjižnice.

Spodnjo kodo lahko kopirate / prilepite ali kliknete:

Datoteka >> Primeri >> Adafruit NeoPixelBus >> Strandtest

Prosimo, da LED_PIN spremenite na tistega, ki ste ga uporabljali za fizično povezavo LED. V tej vadnici smo uporabljali 13.

Prilagodite tudi velikost pramena s spremenljivko LED_COUNT.

// Osnovni vsakdanji program LED Striptest.

#include #ifdef _AVR_ #include // Potreben za 16 MHz Adafruit Trinket #endif // Kateri pin na Arduinu je priključen na NeoPixels? #define LED_PIN 13 // Koliko NeoPixel je priključenih na Arduino? #define LED_COUNT 500 // Razglasite naš objekt traku NeoPixel: trak Adafruit_NeoPixel (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Argument 1 = Število slikovnih pik v traku NeoPixel // Argument 2 = Število pin Arduino (večina je veljavnih) // Argument 3 = Oznake tipa slikovnih pik, po potrebi seštejte: // NEO_KHZ800 800 KHz bitni tok (večina izdelkov NeoPixel w/ WS2812 LED) // NEO_KHZ400 400 KHz (klasični 'v1' (ne v2) slikovnih pik FLORA, gonilniki WS2811) // NEO_GRB Piksli so ožičeni za bitni tok GRB (večina izdelkov NeoPixel) // NEO_RGB Piksli so povezani za bitni tok RGB (v1 FLORA slikovnih pik, ne v2) // NEO_RGBW Piksli so povezani za RGBW bitni tok (izdelki NeoPixel RGBW) // funkcija setup ()-zažene se enkrat ob zagonu -------------------- ------------ void setup () {// Te vrstice posebej podpirajo Adafruit Trinket 5V 16 MHz. // Katero koli drugo ploščo, lahko odstranite ta del (vendar brez škode, če ga pustite): #if defined (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // KONEC kode, specifične za Trinket. strip.begin (); // INICIALIZE NeoPixel strip object (REQUIRED) strip.show (); // IZKLOPI vse slikovne pike ASAP strip.setBrightness (50); // BRIGHTNESS nastavite na približno 1/5 (max = 255)} // funkcija loop ()-deluje večkrat, dokler je plošča na --------------- void loop () {// Izpolnite po dolžini traku v različnih barvah… colorWipe (strip. Color (255, 0, 0), 50); // Rdeča colorWipe (strip. Color (0, 255, 0), 50); // zelena colorWipe (strip. Color (0, 0, 255), 50); // Modra // Naredite gledališki učinek v različnih barvah … theatreChase (strip. Color (127, 127, 127), 50); // Bela, pol svetlosti TheaterChase (strip. Color (127, 0, 0), 50); // Rdeča, pol svetlosti TheaterChase (strip. Color (0, 0, 127), 50); // Modra, polsvetlična mavrica (10); // Mavrični cikel po celotnem traku gledališčeChaseRainbow (50); // Različica TheaterChase, izboljšana z mavrico} // // Nekatere lastne funkcije za ustvarjanje animiranih učinkov ----------------- // Piksla traku enega za drugim napolnimo z barvo. Trak NI očiščen // najprej; vse, kar je tam, bo zajeto piksel po piksel. Prenesite v barvi // (kot eno samo "zapakirano" 32-bitno vrednost, ki jo lahko dobite s klicem // strip. Barva (rdeča, zelena, modra), kot je prikazano v funkciji loop () zgoraj), // in čas zamika (v milisekundah) med slikovnimi pikami. void colorWipe (uint32_t barva, int čakanje) {for (int i = 0; i strip.setPixelColor (i, barva); // Nastavi barvo slikovne pike (v RAM -u) strip.show (); // Posodobi trak, da se ujema z zakasnitvijo (počakajte); // Za trenutek se ustavite}} // Preganjanje luči v slogu gledališča. Dodajte barvo (32-bitna vrednost, // a la strip. Barva (r, g, b), kot je omenjeno zgoraj), in čas zamika (v ms) // med okvirji. void theatreChase (uint32_t barva, int čakanje) {for (int a = 0; a <10; a ++) {// Ponovite 10 -krat… for (int b = 0; b <3; b ++) {// 'b' šteje od 0 do 2 … strip.clear (); // Nastavi vse slikovne pike v RAM -u na 0 (izklopljeno) // 'c' šteje od 'b' do konca strip v korakih po 3… for (int c = b; c strip.setPixelColor (c, barva); // Nastavitev slikovne pike 'c' na vrednost 'color'} strip.show (); // Posodobi trak z zakasnitvijo nove vsebine (počakajte); // Za trenutek začasno ustavite}}} // Mavrični cikel vzdolž celotnega pasu. Čas zakasnitve (v ms) med okvirji. void rainbow (int wait) {// Odtenek prvega slikovnega pika teče 5 celotnih zank skozi barvno kolo. // Barvno kolo ima razpon 65536, vendar je V redu, če se prevrnemo, torej // samo štejte od 0 do 5*65536. Če vsakič, ko dodamo 256 firstPixelHue //, naredimo 5*65536/256 = 1280 prehodov skozi to zunanjo zanko: for (long firstPixelHue = 0; firstPixelHue <5*65536; firstPixelHue += 256) {for (int i = 0; I // Odmik odtenkov slikovnih pik za znesek, ki naredi en polni obrat // barvnega kolesa (razpon 65536) vzdolž dolžine traku // (strip.numPixels () koraki): int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels ()); // strip. ColorHSV () lahko sprejme 1 ali 3 argumente: odtenek (0 do 65535) ali // po želji doda nasičenost in vrednost (svetlost) (vsak od 0 do 255). // Tukaj uporabljamo samo enobarvno različico odtenka. Rezultat // se posreduje skozi strip.gamma32 () za zagotovitev 'bolj resničnih' barv // pred dodelitvijo vsakemu pikslu: strip.setPixelColor (i, strip.gamma32 (strip. ColorHSV (pixelHue)));} strip.show (); // Posodobi trak z zakasnitvijo nove vsebine (počakajte); // Za trenutek začasno ustavite}} // Mavrično izboljšano gledališko polje. Prenesite čas zakasnitve (v ms) med okvirji. void theatreChaseRainbow (int wait) {i nt firstPixelHue = 0; // Prva slikovna pika se začne pri rdeči (odtenek 0) za (int a = 0; a <30; a ++) {// Ponovimo 30 -krat… za (int b = 0; b trak RGB.setPixelColor (c, barva); / / Nastavitev slikovne pike 'c' na vrednost 'color'} strip.show (); // Posodobi trak z zakasnitvijo nove vsebine (počakaj); // Najprej za trenutek zaustavi PixelHue += 65536 /90; // En cikel barvnega kolesa več kot 90 sličic}}}

14. korak: vzorčna koda SHU

Image
Image

Naša koda vklopi vse lučke enega za drugim, da se prepriča, da delujejo:

// Ta primer se bo gibal med prikazom 500 pik kot rdeč

#includeconst uint16_t PixelCount = 500; // ta primer predvideva 4 slikovne pike, zaradi česar bo njegova manjša povzročila okvaro const uint8_t PixelPin = 13; // to nastavite na pravilen pin, pri Esp8266 prezrt

#define colorSaturation 128 // tri elementne slikovne pike, v različnem vrstnem redu in hitrostih

Trak NeoPixelBus (PixelCount, PixelPin);

// trak NeoPixelBus (PixelCount, PixelPin); RgbColor rdeča (0, colorSaturation, 0); RgbColor green (colorSaturation, 0, 0); RgbColor blue (0, 0, colorSaturation); RgbColor bela (colorSaturation); RgbColor črna (0); HslColor hslRed (rdeča); HslColor hslZelena (zelena); HslColor hslBlue (modra); HslColor hslWhite (bela); HslColor hslBlack (črna); void setup () {Serial.begin (115200) while (! Serial); // čakanje na serijsko prilogo Serial.println (); Serial.println ("Inicializacija …"); Serial.flush (); // to ponastavi vse neopiksele na izklopljen trak. Begin (); strip. Show (); Serial.println (); Serial.println ("Teče …"); } void loop () {delay (100); Serial.println ("Barve R, G, B, W …"); for (int i = 0; i <= 499; i ++) {// nastavite barve, // če se ne ujemajo po vrstnem redu, morate uporabiti funkcijo NeoGrbFeature strip. SetPixelColor (i, rdeča); strip. Show (); zamuda (100); strip. SetPixelColor (i, hslRed); strip. Show (); zamuda (100); }}

Korak 15: Nalaganje kode v ESP32

Pomembno:

Če želite naložiti kodo na kateri koli mikro krmilnik, mora biti v načinu programiranja. To morate storiti samodejno in vse, kar morate storiti, je, da kliknete nalaganje v programski opremi.

Naš ESP32 zahteva, da med pošiljanjem kode držite gumb za programiranje. Prav tako ga morate ponastaviti po nalaganju kode, tako da enkrat pritisnete gumb za ponastavitev.

Gumb za programiranje našega ESP32 se nahaja na levi strani, gumb za ponastavitev na desni. Prosimo, da si ogledate vaš priročnik, če imate drug mikro krmilnik.

16. korak: Citati

Ta navodila so bila narejena s pomočjo naslednjih vaj:

randomnerdtutorials.com/installing-the-esp…

Uporablja se za namestitev ESP32 v Arduino IDE.

Avtorji:

Nathaniel Barone Gabriel Castro

Urednik:

Cedric Bleimling

Priporočena: