Kazalo:
- Zaloge
- 1. korak: Zaloge
- 2. korak: Določanje ustreznega napajanja za vaš LedWall
- 3. korak: Napajalni kabel
- 4. korak: Priključite napajalnik
- 5. korak: Napajanje na ESP32S
- 6. korak: Napajanje LED svetlobnih trakov
- 7. korak: ESP32 priključite na LED svetlobne trakove
- 8. korak: Priprava računalnika: gonilnik C2102
- 9. korak: Programska oprema Arduino - Dodajanje podpore ESP32 - 1. korak
- 10. korak: Programska oprema Arduino - Dodajanje podpore ESP32 - 2. korak
- 11. korak: Programska oprema Arduino - Dodajanje podpore ESP32 - 3. korak
- 12. korak: Dodajanje knjižnic v Arduino IDE
- Korak 13: Prva koda: Test pramena
- 14. korak: vzorčna koda SHU
- Korak 15: Nalaganje kode v ESP32
- 16. korak: Citati
Video: 500 LED stene z ESP32: 16 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
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
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
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
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
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
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
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
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
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
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:
Ura, ki pade s stene, ko jo pogledate: 4 koraki
Ura, ki pade s stene, ko jo pogledate: Ste si kdaj želeli uro, ki vam ne pove časa. Tudi jaz ne, toda to dobiš, ko me daš v karanteno z nekaj elektronskimi komponentami in internetom
Neskončno ogledalo za stene z mehurčki: 11 korakov
Neskončno ogledalo Bubble Wall: Dobrodošli v projektu ogledala z neskončno steno z mehurčki
Vožnja skozi stene: vmesnik za stacionarna kolesa Google Street View: 12 korakov (s slikami)
Vožnja skozi stene: Googlov vmesnik za stacionarna kolesa za pogled na ulico: Vožnja skozi stene: vmesnik za stacionarna kolesa za ogled ulic Google vam omogoča kolesarjenje skozi Google Street View iz udobja vaše dnevne sobe. Z uporabo nekaj preproste elektronike, Arduina, sobnega kolesa, računalnika in projektorja ali televizije
Zgornji gumb navidezne stene IRobot: 6 korakov
Zgornji gumb navidezne stene IRobot: Zato me moti, da velika tipka na vrhu navidezne stene iRobot ni gumb za vklop. Zdi se, da bi moralo biti, vendar preprosto ni. Zato moram vstopiti in dodati stikalo na vrh navideznega zidu
Odstranitev/dušenje zvočne stene s plakatom: 5 korakov
Zvok, ki odbija/vlaži steno s plakatom: To je wozn iz Rooftop Ridicule in dobrodošli na mojem prvem poučevanju brez elektrike, a vseeno seveda zelo o zvoku. Pena za dušenje zvoka ni le draga, če pa pokrijete vsako steno v njej, lahko naredi sobo "preveč mrtvo."