Sisukord:

500 LED -i seina koos ESP32 -ga: 16 sammu
500 LED -i seina koos ESP32 -ga: 16 sammu

Video: 500 LED -i seina koos ESP32 -ga: 16 sammu

Video: 500 LED -i seina koos ESP32 -ga: 16 sammu
Video: How to install the led headlight bulb model H7 by yourself? 2024, November
Anonim
500 LED -i seina koos ESP32 -ga
500 LED -i seina koos ESP32 -ga

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

Tarvikud
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

Image
Image

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

Toide ESP32S -ile
Toide ESP32S -ile

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

LED -valgusribade toide
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

Arduino tarkvara - ESP32 toe lisamine - 1. samm
Arduino tarkvara - ESP32 toe lisamine - 1. samm
Arduino tarkvara - ESP32 toe lisamine - 1. 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

Arduino tarkvara - ESP32 toe lisamine - 2. samm
Arduino tarkvara - ESP32 toe lisamine - 2. samm
Arduino tarkvara - ESP32 toe lisamine - 2. 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

Arduino tarkvara - ESP32 toe lisamine - samm 3
Arduino tarkvara - ESP32 toe lisamine - samm 3

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

Raamatukogude lisamine Arduino IDE -sse
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

Image
Image

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: