Turinys:
- Prekės
- 1 žingsnis: reikmenys
- 2 veiksmas: nustatykite tinkamą „LedWall“maitinimo šaltinį
- 3 žingsnis: maitinimo laidas
- 4 žingsnis: maitinimo šaltinio prijungimas
- 5 veiksmas: įjungimas į ESP32S
- 6 veiksmas: įjunkite šviesos diodų šviesos juostas
- 7 veiksmas: prijunkite ESP32 prie LED šviesos juostų
- 8 veiksmas: kompiuterio paruošimas: C2102 tvarkyklė
- 9 veiksmas: „Arduino“programinė įranga - ESP32 palaikymo pridėjimas - 1 veiksmas
- 10 veiksmas: „Arduino“programinė įranga - ESP32 palaikymo pridėjimas - 2 veiksmas
- 11 veiksmas: „Arduino“programinė įranga - ESP32 palaikymo pridėjimas - 3 veiksmas
- 12 veiksmas: bibliotekų pridėjimas prie „Arduino IDE“
- 13 žingsnis: Pirmasis kodas: srities bandymas
- 14 žingsnis: SHU mėginio kodas
- 15 veiksmas: kodo įkėlimas į ESP32
- 16 žingsnis: citatos
Video: 500 šviesos diodų siena su ESP32: 16 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Sveiki visi! Šios pamokos pabaigoje jūs žinosite, kaip sukurti savo LED sieną.
Ši pamoka yra pagrįsta vasaros programa, siūloma Šventosios širdies universitete.
Pasilinksmink!
Prekės
Žemiau išvardytos prekės.
1 žingsnis: reikmenys
Pradėkime nuo to, kad surinksime viską, ko reikia mūsų Led sienai užbaigti:
(Nuorodos sukurtos 2019-10-10)
„Arduino IDE“programinė įranga
ESP32 mikrovaldiklis
LED pikselių šviesa
Maitinimo šaltinis
Maitinimo laidas
Vielos nuėmimo įrankis
Breadboard Jumper kabeliai
Elektros laidas
2 veiksmas: nustatykite tinkamą „LedWall“maitinimo šaltinį
Yra paprastas matematinis būdas sužinoti, kuris maitinimo šaltinis jums tinkamiausias.
Mes naudojame Ohmo galios dėsnį: P = IxV (galia = intensyvumas x įtampa)
Įtampa nustatoma pagal mūsų šviesos diodus: šiuo atveju 5V.
Intensyvumas priklauso nuo aparatūros, vienas LED sunaudoja 30 mA.
Todėl kiekviena 50 Led juostelė sunaudoja 50 x 30mA = 1250mA = 1,25A.
Todėl mūsų 500 Led siena sunaudoja 10 kartų daugiau (10 juostų): 12,5A.
Tada LED energijos suvartojimas yra 5V x 12.5A = 62.5W.
Žinoma, be šviesos diodų turite atsižvelgti į ESP ir visus kitus grandinės elementus.
Mes turime 60A maitinimo šaltinį, turime daug daugiau nei mums reikia.
3 žingsnis: maitinimo laidas
Mūsų maitinimo šaltinis yra su laidinėmis jungtimis. Turime pritaikyti maitinimo laidą, kad jį prijungtume prie 110 V kištuko.
- Nupjaukite maitinimo laido jungtį. Mes pasiliksime vyrišką dalį, kitaip žinome kaip NEMA 5-15P.
- Nulupkite kabelį, kad ant visų laidų matytųsi apie 3 mm vario.
Čia yra trumpa vaizdo įrašo pamoka, kaip pašalinti laidus:
4 žingsnis: maitinimo šaltinio prijungimas
Dabar esame pasirengę prijungti maitinimo šaltinį!
Dirbdami visada atjunkite maitinimo šaltinį.
Laidai
- Juoda viela (fazė) jungiama prie maitinimo šaltinio „L“kaiščio
- Balta viela (neutrali) jungiama prie maitinimo šaltinio „N“kaiščio
- Žalia viela jungiama prie maitinimo šaltinio įžeminimo kaiščio
(Jei jūsų maitinimo laido vidiniai laidai nėra tos pačios spalvos kaip mūsų, būkite saugūs ir ieškokite schemų internete.)
Testavimas
Prijunkite kompiuterio maitinimo laidą prie bet kurio maitinimo lizdo. Maitinimo šaltinio žalia lemputė turėtų įsijungti.
5 veiksmas: įjungimas į ESP32S
Žvelgiant į jūsų ESP, prie kiekvieno kaiščio turėtų būti etikečių. Jei jis nėra paženklintas, galite ieškoti savo „ESP“„pinout“internete.
Naudodami duonos lentos trumpiklį arba elektros laidą nuo vyrų iki moterų, prijunkite:
- „5V“ESP32S kaištis prie maitinimo šaltinio „+V“(oranžinė nuotraukoje aukščiau)
- „GND“ESP32S kaištis prie maitinimo šaltinio „-V“skyriaus (juoda aukščiau esančioje nuotraukoje)
(Kai kuriuose ESP „5V“kaištis pažymėtas kaip „VCC“, jie abu reiškia tą patį.)
Atminkite, kad jūsų ESP gali būti kitoks „pinout“, nei tas, kurį naudojame. Todėl galite prijungti laidus prie kitos vietos nei pavaizduota aukščiau. Kol jungiatės prie tinkamų kaiščių (5V ir GND), fizinė vieta lentoje nesvarbi.
Vėl įjunkite maitinimo šaltinį ir, jei jūsų ESP turi LED indikatorių (dauguma jų turi), jis užsidegs, nurodydamas, kad energija siunčiama į ESP. Sveikinu!
6 veiksmas: įjunkite šviesos diodų šviesos juostas
Naudojant elektros laidus:
- Prijunkite raudoną LED šviesos juostos laidą prie maitinimo šaltinio V+.
- Prijunkite mėlyną LED šviesos juostos laidą prie maitinimo šaltinio V-.
7 veiksmas: prijunkite ESP32 prie LED šviesos juostų
Mūsų ESP32 nurodo WS2811 tvarkyklę, prijungtą prie kiekvieno diodo, spalvų ir ryškumo.
„Leds“juostelėse yra 3 laidų jungtis:
- Raudona: galinga- mėlyna: neutrali- balta: duomenys
Prijunkite „White Led“juostinį kabelį prie skaitmeninio ESP kaiščio. Prisiminkite pasirinktą PIN kodą, nes vėliau jį reikės pasirinkti kodu. Mes prijungėme savo prie kaiščio 13.
8 veiksmas: kompiuterio paruošimas: C2102 tvarkyklė
Dabar, kai mūsų aparatinė įranga yra prijungta, norime įkelti pirmąjį kodą, kad jį išbandytume. Pagal numatytuosius nustatymus „Windows“arba „MacO“negali bendrauti su mūsų ESP32. Norėdami tai padaryti, turime atsisiųsti „tvarkyklę“ESP USB ryšio mikroschemai: C2102.
Šią tvarkyklę reikia atsisiųsti ir įdiegti:
- „Windows 10“: https://www.silabs.com/documents/public/software/C…- „Windows 7/8/8.1“: https://www.silabs.com/documents/public/software/C…- „Mac“:
(Nuorodos nuo 2019-07-10)
9 veiksmas: „Arduino“programinė įranga - ESP32 palaikymo pridėjimas - 1 veiksmas
Kad galėtume naudoti savo ESP32 su „Arduino“programine įranga, turime įsitikinti, kad ji yra atpažinta. Pagal numatytuosius nustatymus „Arduino“programinė įranga negali surinkti kodo mūsų ESP32, pataisykime:
1 veiksmas: lentų pridėjimas prie valdytojo
1 - „Arduino“spustelėkite parinktį Failas >> Nuostatos
2- Lauke „Papildomų lentų valdytojo URL“nukopijuokite šią nuorodą:
10 veiksmas: „Arduino“programinė įranga - ESP32 palaikymo pridėjimas - 2 veiksmas
Dabar, kai „Arduino“programinė įranga „žino“daugiau plokščių, įdiekime ESP32 palaikymą
2 žingsnis: Įdiekite ESP32 palaikymą
1 - Viršutiniame meniu pasirinkite: Tools >> Board >> Boards Manager
2 - pasirodys langas. Naudokite paieškos laukelį, esantį viršutiniame dešiniajame kampe, kad surastumėte „ESP32“.
3 - Raskite tą, kurį pagamino espressif. Įdiekite. (Žr. Paveikslėlį)
11 veiksmas: „Arduino“programinė įranga - ESP32 palaikymo pridėjimas - 3 veiksmas
Dabar, kai „Arduino“programinė įranga gali bendrauti su mūsų ESP32, prijunkite ją prie kompiuterio ir patikrinkite, ar viskas veikia.
1 - Įsitikinkime, kad dirbame ESP32 platformoje:
Spustelėkite Įrankiai >> Lenta >> ESP32 Dev Module
1- Įsitikinkime, kad „Arduino“programinė įranga žino, kaip bendrauti su mūsų ESP:
Spustelėkite Įrankiai >> Prievadas ir pasirinkite tą, kuris pasirodo prijungus šį kabelį.
Svarbu:
Jei kyla problemų įkeliant kodą į ESP, pirmiausia patikrinkite šiuos du meniu. Jei prievadas nėra pažymėtas varnele, „Arduino“programinė įranga su juo nebendraus.
12 veiksmas: bibliotekų pridėjimas prie „Arduino IDE“
Dabar mes ketiname pridėti biblioteką, kuri leis mums išbandyti savo „Led Wall“!
1- Spustelėkite Įrankiai >> Tvarkyti bibliotekas.
2- Viršutiniame dešiniajame kampe ieškokite „NeoPixelBus“. Raskite „NeuPixelBus by Makuna“, įdiekite ją (žr. Paveikslėlį)
Galimos kitos įdomios bibliotekos: (nereikalinga šiai pamokai)
- „NeoMatrix“
- „FastLed“
- Artnetas
- GFX
13 žingsnis: Pirmasis kodas: srities bandymas
Pirmasis mūsų kodas yra bibliotekos pavyzdys.
Galite nukopijuoti / įklijuoti žemiau esantį kodą arba spustelėti:
Failas >> Pavyzdžiai >> Adafruit NeoPixelBus >> Strandtest
Būtinai pakeiskite savo LED_PIN į tą, kurį naudojote fiziškai prijungdami savo šviesos diodus. Šioje pamokoje naudojome 13.
Taip pat būtinai pritaikykite sruogų dydį naudodami kintamąjį LED_COUNT.
// Pagrindinė kasdieninė LED Striptest programa.
#include #ifdef _AVR_ #include // Reikalingas 16 MHz „Adafruit“niekučiui #endif // Kuris „Arduino“kaištis prijungtas prie „NeoPixels“? #define LED_PIN 13 // Kiek „NeoPixels“yra prijungta prie „Arduino“? #define LED_COUNT 500 // Deklaruokite mūsų „NeoPixel“juostos objektą: „Adafruit_NeoPixel“juostelė (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Argumentas 1 = pikselių skaičius „NeoPixel“juostelėje WS2812 šviesos diodai) // NEO_KHZ400 400 KHz (klasikiniai „v1“(ne v2) FLORA pikseliai, WS2811 tvarkyklės) // NEO_GRB Pikseliai prijungti prie GRB bitų srauto (dauguma „NeoPixel“produktų), ne v2) // NEO_RGBW Pikseliai yra prijungti prie RGBW bitų srauto („NeoPixel RGBW“produktai) // sąrankos () funkcija-paleidžiama vieną kartą paleidžiant -------------------- ------------ void setup () {// Šios linijos yra skirtos specialiai „Adafruit Trinket 5V 16 MHz“palaikymui. // Bet kuri kita lenta, galite pašalinti šią dalį (bet nepadarysite žalos): #if define (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // „Fingeret“specifinio kodo pabaiga. strip.begin (); // INICIALIZUOTI „NeoPixel“juostos objektą (REIKALINGA) strip.show (); // ASAP išjungti visus pikselius ASAP strip.setBrightness (50); // Nustatykite BRIGHTNESS į maždaug 1/5 (maks. = 255)} // loop () funkcija-veikia pakartotinai, kol plokštė įjungta --------------- void loop () {// Užpildykite juostelės ilgį įvairiomis spalvomis… colorWipe (strip. Color (255, 0, 0), 50); // Raudona spalvaWipe (strip. Color (0, 255, 0), 50); // Žalia spalva Nuvalykite (juostelė. Spalva (0, 0, 255), 50); // Mėlyna // Atlikite teatro efektą įvairiomis spalvomis… TheaterChase (strip. Color (127, 127, 127), 50); // Balta, pusės ryškumo teatrasChase (strip. Color (127, 0, 0), 50); // Raudonas, pusės ryškumo teatrasChase (strip. Color (0, 0, 127), 50); // Mėlyna, pusės ryškumo vaivorykštė (10); // Tekantis vaivorykštės ciklas išilgai viso juostos teatroChaseRainbow (50); // Vaivorykštės patobulintas teatrasChase variantas} // Kai kurios mūsų funkcijos, skirtos animaciniams efektams kurti ----------------- // Užpildykite juostelės pikselius vieną po kitos spalva. Juostelė NĖRA išvalyta // pirma; viskas ten bus padengta pikseliu po taško. Perduokite spalvotai // (kaip vieną „supakuotą“32 bitų vertę, kurią galite gauti paskambinę // strip. Spalva (raudona, žalia, mėlyna), kaip parodyta aukščiau esančioje ciklo () funkcijoje), // ir delsos laikas (milisekundėmis) tarp pikselių. void colorWipe (uint32_t color, int wait) {for (int i = 0; i strip.setPixelColor (i, color); // Nustatykite pikselio spalvos (RAM) juostą.show (); // Atnaujinti juostelę, kad atitiktų vėlavimą (palaukti); // Akimirkai stabtelėti}}} // Teatro langelio stiliaus persekiojimo žibintai. Pateikite spalvą (32 bitų reikšmė, // a la juostelė. Spalva (r, g, b), kaip minėta aukščiau), ir uždelsimo laikas (ms) // tarp kadrų. void TheaterChase (uint32_t color, int wait) {for (int a = 0; a <10; a ++) {// Pakartokite 10 kartų… (int b = 0; b <3; b ++) {// 'b' skaičiuojama nuo 0 iki 2 … strip.clear (); // Nustatykite visus RAM taškus į 0 (išjungta) // 'c' skaičiuojama nuo 'b' iki pabaigos juostelė 3 žingsniais… (int c = b; c strip.setPixelColor (c, spalva); // Nustatykite pikselį „c“į reikšmę „color“} strip.show (); // Atnaujinti juostelę su naujo turinio uždelsimu (palaukti); // Akimirkai pristabdyti}}}} // Vaivorykštės ciklas išilgai visos juostos. Praleiskite vėlavimo laiką (ms) tarp kadrų. void vaivorykštė (int wait) {// Pirmojo pikselio atspalvis perkelia 5 visas kilpas spalvų ratas. // Spalvų rato diapazonas yra 65536, bet jis yra Gerai, jei apvirsime, taigi // tiesiog suskaičiuokite nuo 0 iki 5*65536. Kiekvieną kartą pridėjus 256 prie „FirstPixelHue“// tai reiškia, kad per šią išorinę kilpą padarysime 5*65536/256 = 1280: per (ilgas firstPixelHue = 0; firstPixelHue <5*65536; firstPixelHue += 256) {for (int i = 0; I // Pikselių atspalvio poslinkis tiek, kad būtų atliktas vienas visas // spalvų rato apsisukimas (65536 diapazonas) išilgai juostos // (strip.numPixels () žingsniai): int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels ()); // strip. ColorHSV () gali turėti 1 arba 3 argumentus: atspalvį (nuo 0 iki 65535) arba // pasirinktinai pridėti sodrumą ir vertę (ryškumą) (kiekvienas nuo 0 iki 255). // Čia mes naudojame tik vieno argumento atspalvio variantą. Rezultatas // perduodamas per strip.gamma32 (), kad būtų pateiktos tikresnės spalvos // prieš priskiriant kiekvienam pikseliui: strip.setPixelColor (i, strip.gamma32 (strip. ColorHSV (pixelHue))));} strip.show (); // Atnaujinti juostelę su naujo turinio uždelsimu (palaukti); // Akimirkai pristabdyti}} // Vaivorykštės patobulinta teatro palapinė. Praeiti atidėjimo laiką (į ms) tarp kadrų. void theatreChaseRainbow (int wait) {i nt firstPixelHue = 0; // Pirmasis pikselis prasideda raudonai (atspalvis 0) (int a = 0; a <30; a ++) {// Pakartokite 30 kartų… (int b = 0; b RGB strip.setPixelColor (c, spalva); / / Nustatykite pikselį „c“į vertę „spalva“} strip.show (); // Atnaujinkite juostelę su naujo turinio uždelsimu (palaukite); // Pirmiausia pristabdykite akimirką PixelHue += 65536 /90; // Vienas spalvų rato ciklas daugiau nei 90 kadrų}}}
14 žingsnis: SHU mėginio kodas
Mūsų kodas įjungia visus šviesos diodus po vieną, kad įsitikintų, jog jie veikia:
// Šiame pavyzdyje bus rodomas 500 pikselių rodymas raudonai
#includeconst uint16_t „PixelCount“= 500; // šiame pavyzdyje daroma prielaida, kad 4 pikseliai, tai sumažinus sukels gedimą const uint8_t PixelPin = 13; // įsitikinkite, kad nustatėte teisingą kaištį, ignoruojamą Esp8266
#define colorSaturation 128 // trijų elementų pikseliai skirtinga tvarka ir greičiu
„NeoPixelBus“juostelė („PixelCount“, „PixelPin“);
// „NeoPixelBus“juostelė („PixelCount“, „PixelPin“); RgbSpalva raudona (0, spalvos sodrumas, 0); RgbColor žalia (spalvaSotumas, 0, 0); RgbColor blue (0, 0, colorSaturation); RgbColor balta (spalvaSotumas); RgbSpalva juoda (0); HslColor hslRed (raudona); HslColor hslGreen (žalia); HslColor hslBlue (mėlyna); HslColor hslWhite (balta); HslColor hslBlack (juoda); void setup () {Serial.begin (115200) while (! Serial); // laukti serijinio priedo Serial.println (); Serial.println („Inicijuojama…“); Serial.flush (); // tai atstato visus neopikselius į išjungtos būsenos juostą. Begin (); juostelė. Rodyti (); Serial.println (); Serial.println („Veikia …“); } void loop () {delay (100); Serial.println („Spalvos R, G, B, W…“); (int i = 0; i <= 499; i ++) {// nustatykite spalvas, // jei jos nesutampa eilės tvarka, turite naudoti „NeoGrbFeature“funkcijų juostą. SetPixelColor (i, raudona); strip. Show (); vėlavimas (100); juostelė. SetPixelColor (i, hslRed); juostelė. Rodyti (); vėlavimas (100); }}
15 veiksmas: kodo įkėlimas į ESP32
Svarbu:
Kad galėtumėte įkelti kodą į bet kurį mikrovaldiklį, jis turi būti programavimo režimu. Dauguma tai daro automatiškai ir viskas, ką jums reikia padaryti, yra spustelėti įkelti programinėje įrangoje.
Mūsų ESP32 reikalauja, kad siunčiant kodą laikytumėte programavimo mygtuką. Taip pat turite jį iš naujo nustatyti, kai kodas įkeliamas, vieną kartą paspaudus atstatymo mygtuką.
Mūsų ESP32 programavimo mygtukas yra kairėje, atstatymo mygtukas dešinėje. Jei turite kitą mikrovaldiklį, žiūrėkite savo vadovą.
16 žingsnis: citatos
Ši pamoka buvo padaryta naudojant šias pamokas:
randomnerdtutorials.com/installing-the-esp…
Naudojamas ESP32 įdiegti į „Arduino IDE“.
Autoriai:
Nathaniel Barone, Gabriel Castro
Redaktorius:
Cedric Bleimling
Rekomenduojamas:
Nuostabus „pasidaryk pats“saulės šviesos lauko šviesos diodų lempa: 9 žingsniai
Nuostabus „pasidaryk pats“saulės šviesos lauko šviesos diodų lempa: Sveiki! Šioje instrukcijoje galite sužinoti, kaip sukurti pigią ir lengvą saulės energija varomą LED lempą! Dienos metu įkraunama baterija, o naktį užsidega labai ryškus COB šviesos diodas! Tiesiog atlikite veiksmus! Tu gali tai padaryti! Tai tikrai lengva ir smagu
Šviesos diodų šviesos diodų dėžutė: 11 žingsnių
Šviesos diodų apšvietimo dėžutė: sukurkite savo 18 W LED šviesos dėžutę, kad galėtumėte kovoti su žiemos bliuzu. Ši šviesos dėžutė yra išsklaidyta ir pritemdoma naudojant PWM. Jei turite lempos laikmatį, galite jį naudoti kaip žadintuvo alternatyvą
KAIP PADARYTI IR IR IR ŠVIESOS ŠVIESOS ŠVIESOS ŠVIESOS KAMERĄ: 5 žingsniai (su paveikslėliais)
KAIP PADARYTI IR IR IR ŠVIESOS ŠVIESOS ŠVIESOS KAMERĄ: Supratau infraraudonųjų spindulių kamerą, kad galėčiau ją naudoti judesio fiksavimo sistemoje. Su juo taip pat galite gauti tokių nuostabių vaizdų: blizgių objektų, matomų fotoaparate, kurie yra normalūs realybėje. Už pigią kainą galite gauti gana gerų rezultatų. Jis
Saulės šviesos diodų šviesos indelis Rev 1.5: 3 žingsniai
Saulės šviesos diodų lemputė Jar Rev 1.5: Po to, kai peržiūrėjau svetainę, aš tikrai susižavėjau kai kuriais LED projektais. (https://www.instructables.com/id/E3UXT5HGT7EUOJJIYE/?relatedLink) Man ypač patiko matinio stiklainio šviesos diodas, taip pat susmulkinto stiklo LED butelio projektai, todėl man patinka
Įsitikinkite, kad tiesiog naudokite 12V į kintamosios srovės keitiklį, skirtą šviesos diodų šviesos stygoms, o ne perjungti 12V: 3 žingsniai
Įsitikinkite, kad tiesiog naudokite 12V į kintamosios srovės keitiklį, skirtą šviesos diodų šviesos stygoms, o ne perjunkite juos 12V.: Mano planas buvo paprastas. Norėjau supjaustyti į sieną maitinamą LED šviesos stygą į gabalus, tada vėl prijungti, kad išeitų 12 voltų. Alternatyva buvo naudoti galios keitiklį, tačiau visi žinome, kad jie yra siaubingai neefektyvūs, tiesa? Teisingai? O gal jie?