Përmbajtje:

Tensioni Wifi me shumë kanale dhe njehsori aktual: 11 hapa (me fotografi)
Tensioni Wifi me shumë kanale dhe njehsori aktual: 11 hapa (me fotografi)

Video: Tensioni Wifi me shumë kanale dhe njehsori aktual: 11 hapa (me fotografi)

Video: Tensioni Wifi me shumë kanale dhe njehsori aktual: 11 hapa (me fotografi)
Video: Doni të kurseni ernergji elektrike? 5 menyra që fatura te vijë dy herë me e ulet 2024, Korrik
Anonim
Tensioni Wifi me shumë kanale dhe njehsori aktual
Tensioni Wifi me shumë kanale dhe njehsori aktual

Kur ngrini bukën, shpesh duhet të monitoroni pjesë të ndryshme të qarkut menjëherë.

Për të shmangur dhimbjen që duhen ngjitur sondat e multimetrit nga një vend në tjetrin, doja të krijoja një matës të tensionit dhe rrymës me shumë kanale.

Bordi Ina260 nga Adafruit ofron një mënyrë shumë efektive dhe efikase për ta bërë këtë. Ai përmban një matës tensioni dhe rryme shumë të saktë me një urë të integruar I2C (duke kursyer shumë kunja kur kombinoni 3 prej tyre!).

E vetmja gjë që mungonte ishte një ekran. Prandaj vendimi për të lidhur bordet në një bord zhvillimi ESP32, i cili lehtë mund të mbajë një server në internet për të paraqitur artikujt e matur në një ekran PC/celular.

Furnizimet

3 x Tabela adafruit Ina260

3 kunja të kokës me kunja të gjata

Min 6 tela kërcyes

1 x ESP32 Wrover-B (ose ndonjë bord tjetër Wifi me mbështetje I2C)

Koka me pin 2 x 19 pin (nëse ka)

1 x PCB ose Perfboard

Furnizimi me energji 1 x 3.3 V

Hapi 1: Bashkoni Tre Tabelat INA

Bashkoni Tre Bordet INA
Bashkoni Tre Bordet INA

Hapi i parë është mbledhja e tre bordeve INA260.

Një udhëzim shumë i mirë mund të gjendet në faqen e internetit të Adafruit. Ndiqni udhëzimet e montimit të Adafruit.

Për të qenë në gjendje t'i grumbulloni ato njëra mbi tjetrën, përdorni titujt e gjatë të kunjave në vend të shiritave të dorëzuar!

Hapi 2: Konfiguroni tre Adresa të ndryshme I2C

Konfiguroni tre Adresa të ndryshme I2C
Konfiguroni tre Adresa të ndryshme I2C
Konfiguroni tre Adresa të ndryshme I2C
Konfiguroni tre Adresa të ndryshme I2C
Konfiguroni tre Adresa të ndryshme I2C
Konfiguroni tre Adresa të ndryshme I2C
Konfiguroni tre Adresa të ndryshme I2C
Konfiguroni tre Adresa të ndryshme I2C

I2C është një protokoll serik për një ndërfaqe me dy tela për të lidhur pajisje me shpejtësi të ulët në distanca të shkurtra. Dikush mund të lidhë deri në 127 skllevër. Në një autobus çdo pajisje duhet të identifikohet nga një adresë unike I2C. Adresa I2C e një pajisjeje shpesh lidhet fort me çipin e një pajisjeje. Për të lidhur të njëjtat pajisje në një autobus, prodhuesi shpesh lë mundësinë për të ndryshuar adresën I2C duke bashkuar një konfigurim të kunjave së bashku.

Ky është gjithashtu rasti për tre bordet INA260. Pajisja ka dy kunja adresash, A0 dhe A1 që mund të lidhen me GND, VS, SCL ose SDA për të vendosur adresën e dëshiruar. Në fletën e të dhënave të çipit INA260 nga instrumentet texas, mund të gjeni listën e lidhjeve pin për secilën nga 16 adresat e mundshme.

Bordi adafruit e kufizon këtë në 4 dërrasa duke ekspozuar dy jastëkë të cilët mund të përdoren për të tërhequr A0 dhe/ose A1 në VS. Adresa e paracaktuar e bordit INA260 është 0x40.

Ju e përfundoni këtë hap duke caktuar adresa të ndryshme në dy bordet e tjera:

Duke bashkuar jastëkun A0 të tabelës së dytë, vendosni adresën e tij në: 0x41 (ose 1000001 BIN)

Duke bashkuar jastëkun A1 të tabelës së tretë ju caktoni adresën në: 0x44 (ose 1000100 BIN)

Hapi 3: Lidhni bordet Ina me ESP32

Lidhni bordet Ina me ESP32
Lidhni bordet Ina me ESP32

Tani që i kemi caktuar adresa të ndryshme I2C secilës prej bordeve INA, është koha t'i lidhim ato me bordin ESP32!

Sipas figurës së mësipërme, lidheni

1) kunja VCC në kunjin 3.3V

2) kunja GND në kunjin GND

3) kunja SDA në pin GPIO 21

4) kunja SCL në pin GPIO 22

Unë kam përdorur një dizajn PCB për të bërë lidhjet pasi është pjesë e një projekti më të madh (një furnizim me tension të rregullueshëm WiFi me kufizim të rrymës së rregullueshme - shpresoj të bëj një udhëzues edhe për këtë).

Ju mund të përdorni ndonjë mënyrë tjetër për t'u lidhur, kjo mund të jetë një dërrasë e ngjitur që lidhni ose përdorni një dërrasë buke. Të dyja do të punojnë mirë gjithashtu.

Hapi 4: Instaloni Bordin ESP32 në Arduino IDE

Instaloni Bordin ESP32 në Arduino IDE
Instaloni Bordin ESP32 në Arduino IDE

Tani që i kemi lidhur bordet me njëri -tjetrin, është koha për të kontrolluar lidhjen.

Ne do ta bëjmë këtë duke mbledhur adresat I2C të tabelave Ina.

Bordi ESP32 punon në mënyrë perfekte me Arduino IDE.

Pra, le të instalojmë bordin ESP32 në Arduino duke përdorur menaxherin e Bordit.

Hapi 5: Kontrolloni lidhjen Ina me ESP32 duke përdorur skanerin I2C

Kontrolloni lidhjen Ina me ESP32 duke përdorur skanerin I2C
Kontrolloni lidhjen Ina me ESP32 duke përdorur skanerin I2C

Ne do të përdorim një skaner të thjeshtë të adresave I2C për të siguruar lidhjen midis bordeve ESP32 dhe Ina260.

Kodi i skanerit të adresave I2C mund të kopjohet i ngjitur në një projekt bosh Arduino.

Kodi është marrë nga faqja e internetit Arduino cc:

// -------------------------------------- // i2c_scanner // // Versioni 1/ / Ky program (ose kodi që duket) // mund të gjendet në shumë vende. // Për shembull në forumin Arduino.cc. // Autori origjinal nuk dihet. // Versioni 2, Qershor 2012, Duke përdorur Arduino 1.0.1 // Përshtatur për të qenë sa më e thjeshtë nga përdoruesi Arduino.cc Krodal // Versioni 3, 26 Shkurt 2013 // V3 nga louarnold // Versioni 4, 3 Mars, 2013, Duke përdorur Arduino 1.0.3 // nga përdoruesi Arduino.cc Krodal. // Ndryshimet nga louarnold u hoqën. // Adresat e skanimit ndryshuan nga 0… 127 në 1… 119, // sipas skanerit i2c nga Nick Gammon // https://www.gammon.com.au/forum/?id=10896 // Versioni 5, Mars 28, 2013 // Si versioni 4, por adresa skanon tani në 127. // Një sensor duket se përdor adresën 120. // Versioni 6, 27 nëntor 2015. // Shtuar duke pritur për komunikimin serik të Leonardo. // // // Ky skicë teston adresat standarde 7-bit // Pajisjet me adresë më të lartë të bitit mund të mos shihen siç duhet. // #include void setup () {Wire.begin (); Serial.filloj (9600); ndërsa (! Serial); // Leonardo: prisni për serial monitor Serial.println ("\ nI2C Scanner"); } void loop () {byte gabim, adresa; int nPajisjet; Serial.println ("Skanimi …"); nPajisjet = 0; për (adresa = 1; adresa <127; adresa ++) {// Skanuesi i2c_ përdor vlerën e kthimit të // the Write.endTransmisstion për të parë nëse // një pajisje e ka pranuar adresën. Wire.beginTransmetimi (adresa); gabim = Wire.endTransmission (); nëse (gabim == 0) {Serial.print ("Pajisja I2C gjendet në adresën 0x"); nëse (adresa <16) Serial.print ("0"); Serial.print (adresa, HEX); Serial.println ("!"); nPajisjet ++; } else if (gabim == 4) {Serial.print ("Gabim i panjohur në adresën 0x"); nëse (adresa <16) Serial.print ("0"); Serial.println (adresa, HEX); }} if (nDevices == 0) Serial.println ("Asnjë pajisje I2C nuk u gjet / n"); tjetër Serial.println ("bërë / n"); vonesa (5000); // prisni 5 sekonda për skanimin tjetër}

Hapi 6: Krijimi i Dosjes së Uebfaqeve HTML

Krijimi i Dosjes së Uebfaqeve HTML
Krijimi i Dosjes së Uebfaqeve HTML

ESP32 siguron mundësinë për drejtimin e një serveri në internet. Ai gjithashtu siguron një memorie mjaft të madhe RAM për të mbajtur disa faqe në internet. (Kompreson automatikisht skedarët e faqes në internet).

Arduino IDE siguron funksionalitetin për ngarkimin e uebfaqeve të krijuara direkt në RAM -in e ESP32.

Për ta bërë këtë, duhet të krijoni një dosje "të dhëna" nën dosjen e projektit Arduino. Në rastin tim, këto janë / Arduino / esp32_Power_supply_v1_implemented / të dhëna.

Isshtë e rëndësishme të emërtoni dosjen saktësisht "të dhëna" pasi është emri i dosjes që Arduino do të kërkojë kur ngarkoni skedarët e faqeve të internetit në ESP.

Hapi 7: Krijoni uebfaqen e Power Monitor

HMTL është një gjuhë që ju lejon të paraqisni një tekst në një shfletues uebi. Një skedar HTML ruhet nën shtesën htm (l). Formatimi i një faqeje në internet zakonisht vendoset në një skedar të veçantë (p.sh. skedari css). Funksionaliteti i programit që duhet të ofrojë një faqe në internet zakonisht vendoset në një skedar tjetër (p.sh. skedari js, për javascript).

Në dokumentin tim HTML kam përfshirë tekstin, formatimin dhe Javascript në një skedar. Prandaj nuk është një shembull i mirë se si të bëni një faqe në internet, por i shërben qëllimeve. Unë e quaj dokumentin HTML 'Index.htm'.

Një skedar i dytë përfshihet në dosjen time të të dhënave, dmth. PicoGraph.js. Biblioteka PicoGraph sigurohet nga Vishnu Shankar B nga RainingComputers dhe lejon një mënyrë shumë të thjeshtë, por efektive dhe fleksibël për paraqitjen e grafikëve në një faqe në internet. Unë e ndryshova pak kodin për t'i shërbyer më mirë qëllimit tim.

Ju do të vini re se faqja në internet HTML përfshin gjithashtu kodin për kontrollin e furnizimeve të tensionit në tabelën time PCB. Kodi i furnizimit me tension kontrollon nivelin e tensionit të 5 kunjave I/O. Ju mund ta ndryshoni kodin për ta përjashtuar këtë ose mund ta lini nëse nuk ka ndikim.

Kodi html i bashkëngjitet këtij hapi si një skedar txt (pasi udhëzimet nuk lejojnë ngarkimin e kodit htm).

Për të përdorur kodin HTML e kopjoni dhe ngjisni në një redaktues teksti (unë përdor Notepad ++) dhe e ruani si 'Index.htm' nën dosjen 'Data'. Ju bëni të njëjtën gjë për skedarin picograph.txt por e riemërtoni atë në picograph.js

Në lidhje me skedarin HTML:

Një funksion SndUpdate përdoret për të dërguar mesazhe mbrapa dhe përpara nga ESP në uebfaqe.

Mesazhet e dërguara nga ESP po i shërbejnë funksionalitetit të furnizimit me energji dhe është jashtë qëllimit për këtë udhëzues. mesazhet për ESP po i shërbejnë matjeve të tabelës Ina260.

var Msg = JSON.parse (xh.responseText); PG1_yrand0 = Msg. PG1_yrand0; PG2_yrand0 = Msg. PG2_yrand0; PG3_yrand0 = Msg. PG3_yrand0; PG4_yrand0 = Msg. PG4_yrand0; PG5_yrand0 = Msg. PG5_yrand0; PG6_yrand0 = Msg. PG6_yrand0;

Kodi i mësipërm lexon 6 numra nga tabela ESP32, dmth. matja e tensionit, matja aktuale nga tabela e parë, e ndjekur nga dy matjet nga e dyta e kështu me radhë.

Grafikët janë ngulitur në të ashtuquajturit kontejnerë fleksibël, të cilët lejojnë ndryshimin e madhësisë fleksibël të faqes në internet.

.flex-container {ekran: flex; sfond-ngjyra: kadetblue; flex-wrap: përfundojë; }.flex-container> div {background-color: #f1f1f1; diferenca: 10px; mbushje: 20px; font-size: 20px; font-family: "Seven Segment"; font-weight: bold; }

Përmbajtja e secilit prej kontejnerëve fleksibël përbëhet si më poshtë, duke përfshirë grafikët e ngulitur.

(vini re se aty ku është hequr)

div label për = "PG1_scale" Scale:/label input name = "PG1_scale" value = "10" brbr!-Canvas for thr graph-canvas style = "height: 100px; border: 2px solid #000000; background-color: #fafafa; " /kanavacë

!-div për legjendat/etiketat-

div /div div /div /div

Seksioni i fundit me rëndësi në skedarin HTML punon me bibliotekën PicoGraph për të paraqitur numrat:

var PG1_demograph = createGraph ("PG1_graphDemo", ["Ch1"], "V", "PG1_graphLabels", 20, 11, false, false, 11, "#e52b50"); var PG2_demograph = createGraph ("PG2_graphDemo", ["Ch1"], "mA", "PG2_graphLabels", 20, 11, false, false, 11, "#e52b50"); var PG3_demograph = createGraph ("PG3_graphDemo", ["Ch2"], "V", "PG3_graphLabels", 20, 11, false, false, 11, "#008000"); var PG4_demograph = createGraph ("PG4_graphDemo", ["Ch2"], "mA", "PG4_graphLabels", 20, 11, false, false, 11, "#008000"); // var PG5_demograph = createGraph ("PG5_graphDemo", ["Ch3"], "V", "PG5_graphLabels", 20, 11, false, false, 11, "#0000ff"); var PG6_demograph = createGraph ("PG6_graphDemo", ["Ch3"], "mA", "PG6_graphLabels", 20, 11, false, false, 11, "#0000ff"); / * Përditësoni vlerat çdo sekondë */ setInterval (updateEverySecond, 1000); funksioni updateEverySecond () { / * Merr vlera të reja * / SndUpdate ();

/ * Grafiku i përditësimit */PG1_demograph.update ([PG1_yrand0], parseInt (byID ("PG1_scale"). Vlera)+ parseInt (byID ("PG1_scale"). Vlera)/10, "#e52b50")); PG2_demograph.update ([PG2_yrand0], parseInt (byID ("PG2_scale"). Vlera)+ parseInt (byID ("PG2_scale"). Vlera)/10, "#e52b50")); PG3_demograph.update ([PG3_yrand0], parseInt (byID ("PG3_scale"). Vlera)+ parseInt (byID ("PG3_scale"). Vlera)/10, "#008000")); PG4_demograph.update ([PG4_yrand0], parseInt (byID ("PG4_scale"). Vlera)+ parseInt (byID ("PG4_scale"). Vlera)/10, "#008000")); // PG5_demograph.update ([PG5_yrand0], parseInt (byID ("PG5_scale"). Vlera)+ // parseInt (byID ("PG5_scale"). Vlera)/10, "#0000ff")); PG6_demograph.update ([PG6_yrand0], parseInt (byID ("PG6_scale"). Vlera)+ parseInt (byID ("PG6_scale"). Vlera)/10, "#0000ff")); var Watts = Math.round (PG1_yrand0 * PG2_yrand0 * 100)/100; byID ("PG1_wattLabel"). innerHTML = `WATT: $ {Watts} mW`; var Watts = Math.round (PG3_yrand0 * PG4_yrand0 * 100)/100; byID ("PG3_wattLabel"). innerHTML = `WATT: $ {Watts} mW`; // var Watts = Math.round (PG5_yrand0 * PG6_yrand0 * 100)/100; // byID ("PG5_wattLabel"). innerHTML = `WATT: $ {Watts} mW`; byID ("PG1_scale"). vlera = Math.floor (parseInt (byID ("PG1_scale"). vlera)/2+PG1_yrand0); byID ("PG2_scale"). vlera = Math.floor (parseInt (byID ("PG2_scale"). vlera)/2+PG2_yrand0); byID ("PG3_scale"). vlera = Math.floor (parseInt (byID ("PG3_scale"). vlera)/2+PG3_yrand0); byID ("PG4_scale"). vlera = Math.floor (parseInt (byID ("PG4_scale"). vlera)/2+PG4_yrand0); // byID ("PG5_scale"). vlera = Math.floor (parseInt (byID ("PG5_scale"). vlera)/2+PG5_yrand0); byID ("PG6_scale"). vlera = Math.floor (parseInt (byID ("PG6_scale"). vlera)/2+PG6_yrand0);

Duke studiuar kodin që do të vini re, unë jam duke përdorur vetëm 5 grafikë nga 6 për qëllimin tim. Mos-komentimi i linjave të duhura do të mundësojë grafikun e 6-të.

Për ata që nuk kanë përvojë me html, ky hap mund të jetë aq i vështirë. Sidoqoftë, mund të shërbejë si një hyrje e bukur në botën e HTML. E di sepse kjo ishte faqja e parë që kam krijuar ndonjëherë. Pra, mos kini frikë. Për ata që kanë përvojë nën ne, jini falës.

Rezultati i punës suaj në faqen në internet mund të rishikohet duke hapur html -in tuaj, ai do të ngarkohet në shfletuesin tuaj dhe do të tregojë pamjen e tij. Ju mund të kontrolloni për gabimet e mundshme duke shtypur butonin F12 në shfletuesin tuaj, dritarja e korrigjimit do të shfaqet. Shpjegimi i plotë se si të korrigjoni gabimet është jashtë fushës së këtij udhëzimi, por faqja në internet mund të jetë e dobishme si hapi i parë për korrigjimin e faqes / javascript.

Hapi tjetër është ngarkimi i uebfaqeve të krijuara në ESP32.

Hapi 8: Ngarko faqen në internet në ESP32

Ngarko faqen në ESP32
Ngarko faqen në ESP32

Pasi të keni marrë një rezultat të kënaqshëm, është koha për të ngarkuar faqen në ESP32.

Ju e bëni këtë duke ruajtur 'Index.htm' (uebfaqja juaj) dhe 'PicoGraph.js' në dosjen 'të dhëna' nën projektin tuaj Arduino.

Hapi tjetër është lidhja e bordit ESP32 me kompjuterin. Pasi të keni zgjedhur tabelën e duhur dhe portën COM, zgjidhni ESP32 Sketch Data Upload nën menunë Tools në Arduino IDE.

Do të shihni që IDE do të fillojë procesin e ngarkimit, i cili duhet të çojë në një ngarkesë të suksesshme.

Pranë këtij hapi është konfigurimi i mikrokontrolluesit ESP32 si një server në internet.

Hapi 9: Konfiguroni ESP32 si server në internet

Bashkangjitur gjeni skicën Arduino Ino që do të konfigurojë ESP32 si një server në internet.

Ju do të duhet të zëvendësoni SSID dhe fjalëkalimin e lidhur me fjalëkalimin e ruterit tuaj.

Siç është përmendur tashmë, kjo skicë gjithashtu përmban kodin për të konfiguruar faqen në internet si kontrollues për anën e furnizimit me energji të PCB (në fakt, konfigurimi i 5 kunjave IO si kunja PWM dhe kontrollimi i tyre përmes rrjedhës së mesazheve nga uebfaqja).

Skica bazohet në skicën standarde të Webserver të zhvilluar nga Hristo Gochkov.

Disa shpjegime për kodin.

Funksionet e mëposhtme lidhen të gjitha me konfigurimin e serverit në internet.

String formatBytes (size_t bytes) String getContentType (String filename) bool ekziston (String path) bool handleFileRead (String path) void handleFileUpload () void handleFileDelete () void handleFileCreate () void handleFileList ()

Gjithashtu kodi i parë në funksionin setup () lidhet me konfigurimin PWM dhe Webserver.

Kodi i mëposhtëm vendos funksionin Ndërprerje që i shërben rrjedhave të mesazheve nga dhe në faqen në internet:

(duhet të njihni identifikuesit nga krijimi i faqes në internet)

server.on ("/SndUpdate", HTTP_GET, () {

String Msg = "{"; Msg+ = "\" PG1_yrand0 / ":"+ (Varg) Vina [1]; Msg+ = ", \" PG2_yrand0 / ":"+ (Varg) Iina [1]; Msg+ = ", \" PG3_yrand0 / ":"+ (Varg) Vina [0]; Msg+ = ", \" PG4_yrand0 / ":"+ (Varg) Iina [0]; Msg+ = ", \" PG5_yrand0 / ":"+ (Varg) Vina [2]; Msg+ = ", \" PG6_yrand0 / ":"+ (Varg) Iina [2]; Msg+= "}";

server.send (200, "text/json", Msg);

Kjo fillon serverin:

server.filloj ();

Blloku tjetër i kodit, inicializon bordet INA260:

// Inicializimi INA260 nëse (! Ina260_0x40.begin (0x40)) {Serial.println (F ("Nuk mund të gjej çipin INA260 0x40")); // ndërsa (1); } Serial.println (F ("U gjet INA260 çip 0x40")); if (! ina260_0x41.filloj (0x41)) {Serial.println (F ("Nuk mund të gjej 0x41 INA260 çip")); // ndërsa (1); } Serial.println (F ("Çipi i gjetur INA260 0x41")); if (! ina260_0x44.begin (0x44)) {Serial.println (F ("Nuk mund të gjej çipin INA260 0x44")); // ndërsa (1); } Serial.println (F ("Gjetur çipin INA260 0x44"));

ina260_0x40.setAveragingCount (INA260_COUNT_256);

ina260_0x40.setVoltageConversionTime (INA260_TIME_1_1_ms); ina260_0x40.setCurrentConversionTime (INA260_TIME_1_1_ms); ina260_0x40.setMode (INA260_MODE_CONTINUOUS); ina260_0x41.setAveragingCount (INA260_COUNT_256); ina260_0x41.setVoltageConversionTime (INA260_TIME_1_1_ms); ina260_0x41.setCurrentConversionTime (INA260_TIME_1_1_ms); ina260_0x41.setMode (INA260_MODE_CONTINUOUS); ina260_0x44.setAveragingCount (INA260_COUNT_256); ina260_0x44.setVoltageConversionTime (INA260_TIME_1_1_ms); ina260_0x44.setCurrentConversionTime (INA260_TIME_1_1_ms); ina260_0x44.setMode (INA260_MODE_CONTINUOUS);

Në kodin Loop, deklarata e mëposhtme siguron trajtimin e kodit të ndërprerjes:

server.handleClient ();

Kodi i mëposhtëm në deklaratën e lakut lidhet me funksionalitetin e furnizimit me energji.

Kodi i mëposhtëm në lak () është përsëri interesant:

Vina [0] = ina260_0x40.readBusVoltage ()/1000.0f; Iina [0] = ina260_0x40.readCurrent (); Vina [1] = ina260_0x41.readBusVoltage ()/1000.0f; Iina [1] = ina260_0x41.readCurrent (); Vina [2] = ina260_0x44.readBusVoltage ()/1000.0f; Iina [2] = ina260_0x44.readCurrent ();

Këto deklarata mbledhin dhe vendosin gati matjet për transferim në uebfaqe përmes serverit. Në thirrjet e ndërprera (që ndodhin çdo 1000ms, të vendosura në skenarin html java të faqes në internet).

Hapi 10: Ju jeni bërë

Ju jeni bërë!
Ju jeni bërë!

Ngarkimi i skicës në tabelën ESP32, duhet të përfundojë konfigurimin dhe monitori juaj i energjisë duhet të jetë përfundimtar!

Ju mund të keni vënë re se fuqizimi i ESP32 tani bëhet përmes portës USB, kjo ngre një pjesë të madhe të avantazheve të lidhjes së bazuar në WiFi me matësit tuaj të tensionit / rrymës. Prandaj, unë kam bërë një furnizim me energji të rregulluar me tension të thjeshtë të bazuar në LM317 për ESP32. E mbajta jashtë fushëveprimit të këtij udhëzimi, por nëse ka interes mund të bëhet një udhëzues tjetër.

Në hapin tjetër, unë tashmë kam siguruar qarkun elektronik për furnizimin me energji, i cili mund të shërbejë si frymëzim.

Hapi 11: Fuqizimi i ESP32

Furnizimi me energji ESP32
Furnizimi me energji ESP32

Me këtë frymëzim për të ndërtuar një burim të vetëm energjie për ESP32 tuaj, nëse nuk e keni atë të shtrirë përreth.

Qarku i energjisë funksionon në një furnizim me energji të laptopit 19V. Kjo kërkon një ulje të tensionit me dy faza për të mbajtur nën kontroll shpërndarjen e energjisë të LM317. (Edhe me lavamanët!). Gjithashtu mos harroni të përfshini një kondensator 100uF para vijës VCC_ESP pasi ata mikrokontrollues kanë luhatje të mëdha aktuale sigurisht kur filloni lidhjen WiFi.

Vini re se mos e furnizoni ESP32 me më shumë se një burim energjie në të njëjtën kohë!

Më tej mohimet e zakonshme të përgjegjësisë, por mbi të gjitha

Argëtohu!

Të gjithë skedarët mund të gjenden në GitHub tim:

Recommended: