Sisukord:
- Tarvikud
- Samm: tarvikud
- Samm: määrake oma LedWallile õige toiteallikas
- Samm: toitejuhe
- Samm: toiteallika ühendamine
- Samm 5: ESP32S -i toide
- 6. samm: LED -valgusribade toide
- Samm: ühendage ESP32 LED -valgusribadega
- 8. samm: arvuti ettevalmistamine: draiver C2102
- Samm: Arduino tarkvara - ESP32 toe lisamine - 1. samm
- Samm: Arduino tarkvara - ESP32 toe lisamine - 2. samm
- Samm 11: Arduino tarkvara - ESP32 toe lisamine - 3. samm
- Samm: raamatukogude lisamine Arduino IDE -sse
- 13. samm: esimene kood: kiudude test
- 14. samm: SHU proovikood
- Samm: koodi üleslaadimine ESP32 -sse
- 16. samm: tsitaadid
Video: 500 LED -i seina koos ESP32 -ga: 16 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Tere kõigile! Selle õpetuse lõpuks teate, kuidas luua oma LED -sein.
See õpetus põhineb suveprogrammil, mida pakutakse püha südame ülikoolis.
Lõbutse hästi!
Tarvikud
Allpool loetletud tarvikud.
Samm: tarvikud
Alustuseks kogume kõik, mida vajame oma LED -seina valmimiseks:
(Lingid loodi 10.07.2019)
Arduino IDE tarkvara
ESP32 mikrokontroller
LED pikslituli
Toiteallikas
Voolujuhe
Traadi eemaldamise tööriist
Leivaplaadi hüppajakaablid
Elektritraat
Samm: määrake oma LedWallile õige toiteallikas
On lihtne matemaatiline viis teada saada, milline toiteallikas on teie jaoks parim.
Me kasutame Ohmi võimsusseadust: P = IxV (võimsus = tugevus x pinge)
Pinge määratakse meie LED -ide järgi: antud juhul 5V.
Intensiivsus sõltub riistvarast, üks Led tarbib 30 mA.
Seetõttu tarbib iga 50 LED -riba 50 x 30 mA = 1250 mA = 1,25 A.
Meie 500 LED -sein tarbib seega 10 korda rohkem (10 riba): 12,5 A.
Ledide energiatarve on siis 5V x 12,5A = 62,5W.
Loomulikult peate ledide peal arvestama ESP -ga ja kõigi teiste vooluahela elementidega.
Meil on 60A toide, meil on palju rohkem kui vaja.
Samm: toitejuhe
Meie toiteplokk on varustatud juhtmetega. Peame kohandama toitejuhet, et ühendada see 110V pistikuga.
- Katkesta toitejuhtme pistik. Me hoiame meessoost osa, muidu teame kui NEMA 5-15P.
- Eemaldage kaabel nii, et kõigil juhtmetel oleks nähtav umbes 3 mm vask.
Siin on kiire videoõpetus juhtmete eemaldamise kohta:
Samm: toiteallika ühendamine
Nüüd oleme valmis oma toiteallika ühendama!
Kui töötate selle kallal, ühendage toitejuhe alati lahti.
Juhtmestik
- Must juhe (faas) ühendatakse toiteploki L -tihvtiga
- Valge juhe (neutraalne) ühendub toiteallika N -kontaktiga
- Roheline juhe ühendatakse toiteploki maandusnõelaga
(Kui teie toitejuhtme sisemised juhtmed ei ole meie värviga samad, olge ohutud ja otsige skeemid Internetist.)
Testimine
Ühendage arvuti toitejuhe mis tahes pistikupessa. Toiteploki roheline LED peaks sisse lülituma.
Samm 5: ESP32S -i toide
Vaadates teie ESP -d, peaks kõigi tihvtide kõrval olema sildid. Kui see pole märgistatud, saate Internetis otsida oma individuaalse ESP -i "pinout".
Ühendage meessoost naissoost leivaplaadi hüppajajuhtme või elektrijuhtmega:
- "5V" ESP32S tihvt toiteallika "+V" külge (ülaltoodud fotol oranž)
- „GND” ESP32S tihvt toiteallika sektsiooni „-V” külge (ülaltoodud fotol must)
(Mõnel ESP -l on 5V tihvt märgistatud kui „VCC”, mõlemad tähendavad sama asja.)
Pange tähele, et teie ESP -l võib olla erinev pistikühendus, mida me kasutame. Seetõttu võite ühendada oma juhtmed erinevasse asukohta kui ülaltoodud pildil. Niikaua kui ühendate õigete tihvtidega (5V ja GND), pole tahvli füüsiline asukoht oluline.
Ühendage oma toiteallikas uuesti ja kui teie ESP -l on LED -indikaator (enamikul on), süttib see, näidates, et ESP -le saadetakse voolu. Palju õnne!
6. samm: LED -valgusribade toide
Elektrijuhtmete kasutamine:
- Ühendage LED -valgusriba punane juhe toiteallika V+ -ga.
- Ühendage LED-valgusriba sinine juhe toiteallika V-pistikuga.
Samm: ühendage ESP32 LED -valgusribadega
Meie ESP32 juhendab iga lediga ühendatud WS2811 draiverit värvi ja heledust, mis neil peab olema. Selleks vajab meie ESP32 ribade külge kaablit.
LED -ribad on varustatud 3 -juhtmelise pistikuga:
- punane: toite- sinine: neutraalne- valge: andmed
Ühendage valge LED -riba kaabel ESP digitaalse tihvtiga. Pidage meeles valitud PIN -koodi, kuna peame selle hiljem koodis valima. Ühendasime oma tihvtiga 13.
8. samm: arvuti ettevalmistamine: draiver C2102
Nüüd, kui meie riistvara on juhtmega ühendatud, tahame selle testimiseks üles laadida oma esimese koodi. Vaikimisi ei saa Windows või MacOs meie ESP32 -ga suhelda. Selleks peame alla laadima ESP USB -side kiibi draiveri: C2102.
See draiver tuleb alla laadida ja installida:
- Windows 10: https://www.silabs.com/documents/public/software/C…- Windows 7/8/8.1: https://www.silabs.com/documents/public/software/C…- Mac:
(Lingid seisuga 10.7.2019)
Samm: Arduino tarkvara - ESP32 toe lisamine - 1. samm
Enne kui saame oma ESP32 kasutada koos Arduino tarkvaraga, peame veenduma, et see on tuvastatud. Vaikimisi ei saa Arduino tarkvara meie ESP32 jaoks koodi koostada, parandame selle:
Samm: tahvlite lisamine haldurile
1 - Klõpsake Arduino valikul Fail >> Eelistused
2- Kopeerige väljale "Täiendavate tahvlite halduri URL-id" järgmine link:
Samm: Arduino tarkvara - ESP32 toe lisamine - 2. samm
Nüüd, kui Arduino tarkvara "teab" rohkem tahvleid, installime oma ESP32 toe
Samm: ESP32 toe installimine
1 - Valige ülemises menüüs: Tools >> Board >> Boards Manager
2 - Ilmub aken. Kasutage "ESP32" leidmiseks paremas ülanurgas asuvat otsingukasti.
3 - otsige üles espressif. Installige see. (Vaata pilti)
Samm 11: Arduino tarkvara - ESP32 toe lisamine - 3. samm
Nüüd, kui Arduino tarkvara saab meie ESP32 -ga suhelda, ühendame selle arvutiga ja kontrollime, kas kõik töötab.
1 - Veenduge, et töötame platvormil ESP32:
Klõpsake Tools >> Board >> ESP32 Dev Module
1- Veendume, et Arduino tarkvara teab, kuidas meie ESP-ga suhelda:
Klõpsake Tools >> Port ja valige see, mis avaneb selle kaabli ühendamisel.
Tähtis:
Kui teil on koodi ESP -sse üleslaadimisel probleeme, kontrollige kõigepealt neid kahte menüüd. Kui port pole linnukesega valitud, ei suhtle Arduino tarkvara sellega.
Samm: raamatukogude lisamine Arduino IDE -sse
Nüüd lisame raamatukogu, mis võimaldab meil oma LED -seina testida!
1- Klõpsake Tööriistad >> Raamatukogude haldamine.
2- Otsige paremas ülanurgas NeoPixelBus. Leidke "NeunaPixelBus by Makuna", installige see (vt pilti)
Võimalikud muud huvitavad raamatukogud: (pole selle õpetuse jaoks vajalik)
- NeoMatrix
- FastLed
- Artnet
- GFX
13. samm: esimene kood: kiudude test
Meie esimene kood on näide raamatukogust.
Võite kopeerida / kleepida alloleva koodi või klõpsata:
Fail >> Näited >> Adafruit NeoPixelBus >> Strandtest
Palun muutke oma LED_PIN kindlasti selliseks, mida kasutasite oma valgusdioodide füüsiliseks ühendamiseks. Selle õpetuse jooksul kasutasime 13.
Kindlasti kohandage ka ahela suurust muutujaga LED_COUNT.
// Põhiline igapäevane LED Striptest programm.
#include #ifdef _AVR_ #include // Nõutav 16 MHz Adafruit nipsasja jaoks #endif // Milline Arduino tihvt on NeoPixelitega ühendatud? #define LED_PIN 13 // Mitu NeoPikslit on Arduino külge kinnitatud? #define LED_COUNT 500 // Deklareerige meie NeoPixel riba objekt: Adafruit_NeoPixel riba (LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800); // Argument 1 = pikslite arv NeoPixel ribal // Argument 2 = Arduino pin number (enamik on kehtivad) // Argument 3 = Pixel type lipud, lisage vastavalt vajadusele: // NEO_KHZ800 800 KHz bitivoog (enamik NeoPixeli tooteid WS2812 LEDid) // NEO_KHZ400 400 KHz (klassikaline 'v1' (mitte v2) FLORA pikslid, WS2811 draiverid) // NEO_GRB Pikslid on ühendatud GRB bitivooga (enamik NeoPixeli tooteid) // NEO_RGB pikslid on ühendatud RGB bitivooga (v1 FLORA pikslit), mitte v2) // NEO_RGBW Pikslid on ühendatud RGBW bitivooga (NeoPixel RGBW tooted) // setup () funktsioon-töötab käivitamisel üks kord -------------------- ------------ void setup () {// Need read on mõeldud spetsiaalselt Adafruit Trinket 5V 16 MHz toetamiseks. // Mis tahes muu tahvli saate selle osa eemaldada (kuid selle jätmine ei kahjusta): #if defineeritud (_ AVR_ATtiny85_) && (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif // END Trinket-spetsiifilisest koodist. riba.algus (); // INITIALIZE NeoPixel strip object (REQUIRED) strip.show (); // Lülita kõik pikslid ASAP riba välja. SetBrightness (50); // Seadke heledus umbes 1/5 (max = 255)} // loop () funktsioon-töötab korduvalt seni, kuni plaat on sisse lülitatud --------------- void loop () {// Täitke riba pikkuses erinevates värvides… colorWipe (strip. Color (255, 0, 0), 50); // Punane värvPühkige (riba. Värv (0, 255, 0), 50); // Roheline värvPühkige (riba. Värv (0, 0, 255), 50); // Sinine // Tehke teatriefekti erinevates värvides… TheaterChase (strip. Color (127, 127, 127), 50); // Valge, poole heledusega teaterChase (riba. Värv (127, 0, 0), 50); // Punane, poole heledusega teaterChase (riba. Värv (0, 0, 127), 50); // Sinine, poole heledusega vikerkaar (10); // Voolav vikerkaaretsükkel mööda kogu ribateatritChaseRainbow (50); // Vikerkaarega täiustatud teaterChase variant} // Mõned meie funktsioonid animeeritud efektide loomiseks ----------------- // Täitke riba pikslid üksteise järel värviga. Riba EI kustutata // esimene; kõik seal kaetakse piksli haaval. Edasta värviliselt // (ühe "pakitud" 32-bitise väärtusena, mille saate helistades // ribale. Värv (punane, roheline, sinine), nagu on näidatud ülaltoodud loop () funktsioonis), // ja viivitusaeg (millisekundites) pikslite vahel. void colorWipe (uint32_t color, int wait) {for (int i = 0; i strip.setPixelColor (i, color); // Määra piksli värv (RAM -is) strip.show (); // Värskenda riba viivitusega (oota); // Paus hetkeks}}} // Teatritelgi stiilis jahtvalgustid. Edastage värv (32-bitine väärtus, // a la riba. Värv (r, g, b), nagu eespool mainitud), ja viivitusaeg (ms) // kaadrite vahel. void TheaterChase (uint32_t color, int wait) {for (int a = 0; a <10; a ++) {// Korda 10 korda… (int b = 0; b <3; b ++) {// 'b' loeb 0 kuni 2… strip.clear (); // Määrake kõik RAM -i pikslid väärtuseks 0 (väljas) // 'c' loeb üles 'b' kuni lõpuni riba sammuga 3… for (int c = b; c strip.setPixelColor (c, color); // Määra pikslile "c" väärtus "color"} strip.show (); // Värskenda riba uue sisuga viivitusega (oota); // Paus hetkeks}}}} // Vikerkaare tsükkel piki tervet riba. Kaadrite vaheline viivitusaeg (ms). tühi vikerkaar (int wait) {// Esimese piksli toon läbib 5 täielikku silmust värviratas. // Värviratta vahemik on 65536, kuid see on OK, kui me ümber pöörame, siis // lihtsalt loendage 0 kuni 5*65536. 256 lisamine firstPixelHue'i iga kord // tähendab, et teeme 5*65536/256 = 1280 selle välimise ahela: for (long firstPixelHue = 0; firstPixelHue <5*65536; firstPixelHue += 256) {for (int i = 0; I. i * 65536L / strip.numPixels ()); // strip. ColorHSV () võib võtta 1 või 3 argumenti: toon (0 kuni 65535) või // soovi korral lisada küllastus ja väärtus (heledus) (igaüks 0 kuni 255). // Siin kasutame ainult ühe argumendiga tooni varianti. Tulemus // edastatakse läbi riba.gamma32 (), et pakkuda tõesemaid värve // enne igale pikslile määramist: strip.setPixelColor (i, strip.gamma32 (strip. ColorHSV (pixelHue))));} strip.show (); // Värskendage riba uue sisuga viivitusega (oodake); // Paus hetkeks}} // Vikerkaarega täiustatud teatritelk. Viivituse aeg (in ms) kaadrite vahel. void TheaterChaseRainbow (int wait) {i nt firstPixelHue = 0; // Esimene piksel algab punaselt (toon 0) (int a = 0; a <30; a ++) {// Korda 30 korda… (int b = 0; b RGB riba jaoks. SetPixelColor (c, värv); / / Määra piksli "c" väärtuseks "värv"} riba.show (); // Värskenda riba uue sisuga viivitusega (oota); // Esmalt hetkeks paus PixelHue += 65536 /90; // Üks värviratta tsükkel üle 90 kaadri}}}
14. samm: SHU proovikood
Meie kood lülitab kõik LED -id ükshaaval sisse, et veenduda nende toimimises:
// See näide vahetab 500 pikslit punase kujul
#includeconst uint16_t PixelCount = 500; // see näide eeldab 4 pikslit, väiksemaks muutmine põhjustab tõrke const uint8_t PixelPin = 13; // määrake see kindlasti õigele tihvtile, ignoreeritakse Esp8266 puhul
#define colorSaturation 128 // kolm elemendipikslit erinevas järjekorras ja kiirusel
NeoPixelBus riba (PixelCount, PixelPin);
// NeoPixelBus riba (PixelCount, PixelPin); RgbVärv punane (0, värviküllastus, 0); RgbVärv roheline (värviküllastus, 0, 0); RgbVärv sinine (0, 0, värviküllastus); RgbVärv valge (värviküllastus); RgbVärv must (0); HslColor hslRed (punane); HslColor hslGreen (roheline); HslColor hslBlue (sinine); HslColor hslWhite (valge); HslColor hslBlack (must); void setup () {Serial.begin (115200) while (! Serial); // oota seeria lisamist Serial.println (); Serial.println ("Initsialiseerimine …"); Serial.flush (); // see lähtestab kõik neopikslid väljalülitatud oleku ribale. Begin (); riba. Show (); Serial.println (); Serial.println ("Töötab …"); } void loop () {delay (100); Serial.println ("Värvid R, G, B, W…"); jaoks (int i = 0; i <= 499; i ++) {// määrake värvid, // kui need ei sobi järjekorras, peate kasutama funktsiooniriba NeoGrbFeature. SetPixelColor (i, red); strip. Show (); viivitus (100); riba. SetPixelColor (i, hslRed); riba. Show (); viivitus (100); }}
Samm: koodi üleslaadimine ESP32 -sse
Tähtis:
Koodi mis tahes mikrokontrollerile üleslaadimiseks peab see olema programmeerimisrežiimis. Enamik teeb seda automaatselt ja kõik, mida peate tegema, on klõpsata tarkvara üleslaadimisel.
Meie ESP32 nõuab koodi saatmise ajal programmeerimisnupu all hoidmist. Samuti peate selle lähtestama pärast koodi üleslaadimist, vajutades üks kord lähtestamisnuppu.
Meie ESP32 programmeerimisnupp asub vasakul, lähtestamisnupp paremal. Kui teil on teine mikrokontroller, lugege palun oma kasutusjuhendit.
16. samm: tsitaadid
See juhend oli tehtud järgmiste õpetuste abil:
randomnerdtutorials.com/installing-the-esp…
Kasutatakse ESP32 installimiseks Arduino IDE -sse.
Autorid:
Nathaniel Barone, Gabriel Castro
Toimetaja:
Cedric Bleimling
Soovitan:
DIY seina jälgimisrobot: 9 sammu
DIY seina jälgimisrobot: selles juhendis selgitame, kuidas kavandada takistuste tuvastamise ja vältimise süsteem, kasutades GreenPAK ™ -i koos mõne välise ultraheli- ja infrapuna (IR) anduriga. See disain tutvustab mõningaid teemasid, mis on vajalikud autonoomseks
Puudutage mahtuvusliku seina paigaldamist: 3 sammu
Puutetundliku seina paigaldamine: Paar suve tagasi nägin ma seda soont seinapaigaldust SparkFun Electronics'i ringkäigu ajal: seinaga, mis oli täis juhtivaid värve sisaldavaid ikoonilisi pilte, mis kõik olid ühendatud vaskpaelaga juhtmevaba puuteplaadiga. Puudutamisel võrdub
3D -trükitud LED -seina märk: 3 sammu
3D -trükitud LED -seina märk: selles juhendis õpetan teile, kuidas ma lõin 3D -trükitud LED -märgi! Kui teil on 3D -printer, ei maksa tarvikud rohkem kui 20 dollarit
Seina vältiv ultraheli robot: 11 sammu
Seina vältiv ultraheli robot: see on õpetus, kuidas teha põhiline seina vältiv robot. See projekt nõuab mõningaid komponente ning natuke pühendumist ja aega. See aitaks, kui teil on vähe teadmisi elektroonika kohta, kuid kui olete täiesti algaja, siis nüüd
LED -seina märk: 6 sammu
LED -seina märk: lihtne ja lõbus projekt, mida vabal ajal teha