Turinys:

Kelių kanalų „Wifi“įtampos ir srovės matuoklis: 11 žingsnių (su nuotraukomis)
Kelių kanalų „Wifi“įtampos ir srovės matuoklis: 11 žingsnių (su nuotraukomis)

Video: Kelių kanalų „Wifi“įtampos ir srovės matuoklis: 11 žingsnių (su nuotraukomis)

Video: Kelių kanalų „Wifi“įtampos ir srovės matuoklis: 11 žingsnių (su nuotraukomis)
Video: Išmanusis žvaigždžių galaktikų WiFi projektorius su lazeriu ir šviesos muzika TUYA SMART 2024, Lapkritis
Anonim
Daugiakanalis „Wifi“įtampos ir srovės matuoklis
Daugiakanalis „Wifi“įtampos ir srovės matuoklis

Lentynos metu dažnai reikia vienu metu stebėti skirtingas grandinės dalis.

Norėdami išvengti skausmo, kad multimetro zondai būtų priklijuoti iš vienos vietos į kitą, norėjau sukurti daugiakanalį įtampos ir srovės matuoklį.

„Adafruit“plokštė „Ina260“yra labai efektyvus ir efektyvus būdas tai padaryti. Jame yra labai tikslus įtampos ir srovės matuoklis su integruotu I2C tiltu (sutaupant daug kaiščių, kai derinami 3 iš jų!).

Trūko tik ekrano. Taigi sprendimas prijungti plokštes prie ESP32 kūrimo plokštės, kuri gali lengvai turėti žiniatinklio serverį, kad būtų galima išmatuotus elementus pateikti kompiuterio/mobiliojo telefono ekrane.

Prekės

3 x „Ina260 adafruit“lenta

3 x antgaliai su ilgais kaiščiais

Mažiausiai 6 jungiamieji laidai

1 x ESP32 „Wrover-B“(arba bet kuri kita „Wifi“plokštė su I2C palaikymu)

2 x 19 kontaktų kaiščio antraštė (jei taikoma)

1 x PCB arba perfboard

1 x 3,3 V maitinimo šaltinis

1 žingsnis: lituokite tris INA plokštes

Lituokite tris INA plokštes
Lituokite tris INA plokštes

Pirmiausia reikia surinkti tris INA260 plokštes.

Labai gerą instrukciją rasite „Adafruit“svetainėje. Vykdykite „Adafruit“surinkimo instrukcijas.

Norėdami sudėti juos vienas ant kito, naudokite ilgas kaiščių antraštes, o ne pristatytas kaiščių juostas!

2 veiksmas: sukonfigūruokite tris skirtingus I2C adresus

Konfigūruokite tris skirtingus I2C adresus
Konfigūruokite tris skirtingus I2C adresus
Konfigūruokite tris skirtingus I2C adresus
Konfigūruokite tris skirtingus I2C adresus
Konfigūruokite tris skirtingus I2C adresus
Konfigūruokite tris skirtingus I2C adresus
Konfigūruokite tris skirtingus I2C adresus
Konfigūruokite tris skirtingus I2C adresus

„I2C“yra dviejų laidų sąsajos nuoseklusis protokolas, skirtas mažo greičio įrenginiams prijungti nedideliu atstumu. Galima prijungti iki 127 vergų. Viename magistralėje kiekvienas įrenginys turi būti identifikuotas pagal unikalų I2C adresą. Įrenginio I2C adresas dažnai yra prijungtas prie įrenginio lusto. Norėdami prijungti tuos pačius įrenginius prie vienos magistralės, gamintojas dažnai palieka galimybę pakeisti I2C adresą, lituodamas kaiščių konfigūraciją.

Taip yra ir su trimis INA260 plokštėmis. Prietaisas turi du adresų kaiščius, A0 ir A1, kuriuos galima prijungti prie GND, VS, SCL arba SDA norimam adresui nustatyti. „Texas“instrumentų INA260 mikroschemos duomenų lape galite rasti kiekvieno iš 16 galimų adresų kontaktų sąrašą.

„Adafruit“lenta apriboja iki 4 lentų, parodydama dvi pagalvėles, kuriomis galima traukti A0 ir (arba) A1 į VS. Numatytasis INA260 plokštės adresas yra 0x40.

Jūs atliksite šį veiksmą priskirdami skirtingus adresus kitoms dviem lentoms:

Lituodami antrosios plokštės A0 bloknotą, jo adresą nustatote į: 0x41 (arba 1000001 BIN)

Lituodami trečiosios lentos A1 bloknotą, priskiriate adresą: 0x44 (arba 1000100 BIN)

3 veiksmas: prijunkite „Ina“plokštes prie ESP32

Prijunkite „Ina“plokštes prie ESP32
Prijunkite „Ina“plokštes prie ESP32

Dabar, kai kiekvienai INA plokštei priskyrėme skirtingus I2C adresus, laikas juos prijungti prie ESP32 plokštės!

Kaip parodyta aukščiau esančiame paveikslėlyje, prijunkite

1) VCC kaištis prie 3.3V kaiščio

2) GND kaištis prie GND kaiščio

3) SDA kaištis į GPIO kaištį 21

4) SCL kaištis į GPIO kaištį 22

Aš naudoju PCB dizainą, kad sujungčiau, nes tai yra didesnio projekto dalis („WiFi“reguliuojama įtampa su reguliuojamu srovės ribojimu - tikiuosi, kad tai taip pat bus pamokoma).

Galite naudoti bet kurį kitą prisijungimo būdą, tai gali būti lydmetalio plokštė arba duonos lentos naudojimas. Abu jie taip pat veiks gerai.

4 veiksmas: įdiekite ESP32 plokštę į „Arduino IDE“

Įdiekite ESP32 plokštę į „Arduino IDE“
Įdiekite ESP32 plokštę į „Arduino IDE“

Dabar, kai sujungėme plokštes, atėjo laikas patikrinti ryšį.

Tai padarysime surinkę „Ina“plokščių I2C adresus.

ESP32 plokštė puikiai veikia su „Arduino IDE“.

Taigi įdiekime ESP32 plokštę „Arduino“naudodami lentos tvarkyklę.

5 veiksmas: patikrinkite „Ina“ir „ESP32“ryšį naudodami „I2C“skaitytuvą

Patikrinkite „Ina“ir „ESP32“ryšį naudodami „I2C“skaitytuvą
Patikrinkite „Ina“ir „ESP32“ryšį naudodami „I2C“skaitytuvą

Norėdami užtikrinti ryšį tarp ESP32 ir „Ina260“plokščių, naudosime paprastą I2C adresų skaitytuvą.

I2C adresų skaitytuvo kodą galima nukopijuoti įklijuoti į tuščią „Arduino“projektą.

Kodas paimtas iš „Arduino cc“svetainės:

// -------------------------------------- // „i2c_scanner“// 1 versija/ / Šią programą (arba kodą, kuris atrodo taip) // galima rasti daugelyje vietų. // Pavyzdžiui, Arduino.cc forume. // Originalus autorius nežinomas. // 2 versija, 2012 m. Birželio mėn., „Arduino 1.0.1“naudojimas, Naudojant „Arduino 1.0.3 //“// pateikė „Arduino.cc“vartotojas Krodal. // Louarnold pakeitimai pašalinti. // Nuskaitymo adresai pakeisti iš 0… 127 į 1… 119, // pagal Nick Gammon i2c skaitytuvą // https://www.gammon.com.au/forum/?id=10896 // 5 versija, kovo mėn. 2013 m. 28 // Kaip 4 versija, bet adresas nuskaitomas iki 127. // Atrodo, kad jutiklis naudoja adresą 120. // 6 versija, 2015 m. Lapkričio 27 d. // Pridėta laukiant serijinio „Leonardo“ryšio. // // // Šis eskizas išbando standartinius 7 bitų adresus // Įrenginiai, turintys didesnį bitų adresą, gali būti netinkamai matomi. // #include void setup () {Wire.begin (); Serial.begin (9600); while (! Serial); // Leonardo: laukti serijinio monitoriaus Serial.println ("\ nI2C skaitytuvas"); } void loop () {baito klaida, adresas; int nĮrenginiai; Serial.println („Nuskaitymas …“); nĮrenginiai = 0; for (adresas = 1; adresas <127; adresas ++) {// „i2c_scanner“naudoja // „Write.endTransmisstion“grąžinimo vertę, kad sužinotų, ar // įrenginys patvirtino adresą. Wire.beginTransmission (adresas); klaida = Wire.endTransmission (); if (klaida == 0) {Serial.print ("I2C įrenginys rastas adresu 0x"); if (adresas <16) Serial.print ("0"); Serial.print (adresas, HEX); Serial.println ("!"); nĮrenginiai ++; } else if (klaida == 4) {Serial.print ("Nežinoma klaida adresu 0x"); if (adresas <16) Serial.print ("0"); Serial.println (adresas, HEX); }} if (nDevices == 0) Serial.println ("Nerasta I2C įrenginių / n"); else Serial.println ("padaryta / n"); vėlavimas (5000); // palaukite 5 sekundes kito nuskaitymo}

6 veiksmas: HTML žiniatinklio serverio aplanko kūrimas

HTML žiniatinklio serverio aplanko kūrimas
HTML žiniatinklio serverio aplanko kūrimas

ESP32 suteikia galimybę paleisti žiniatinklio serverį. Ji taip pat suteikia gana didelę RAM atmintį kai kuriems tinklalapiams laikyti. (Jis automatiškai suspaudžia tinklalapio failus).

„Arduino IDE“suteikia galimybę tiesiogiai įkelti sukurtus tinklalapius į ESP32 RAM.

Norėdami tai padaryti, po „Arduino“projekto aplanku turite sukurti aplanką „duomenys“. Mano atveju tai yra / Arduino / esp32_Power_supply_v1_implemented / data.

Svarbu pavadinti aplanką tiksliai „duomenimis“, nes tai yra aplanko pavadinimas, kurio Arduino ieškos įkeldamas tinklalapio failus į ESP.

7 veiksmas: sukurkite „Power Monitor“tinklalapį

HMTL yra kalba, leidžianti pateikti tekstą žiniatinklio naršyklėje. HTML failas išsaugomas plėtiniu htm (l). Tinklalapio formatavimas paprastai dedamas į atskirą failą (pvz., Css failą). Programos funkcijos, kurias turi pasiūlyti tinklalapis, paprastai dedamos į kitą failą (pvz., „Js“failas, skirtas „JavaScript“).

Į savo HTML dokumentą įtraukiau tekstą, formatavimą ir „Javascript“į vieną failą. Todėl tai nėra geras tinklalapio kūrimo pavyzdys, tačiau jis tarnauja tikslams. HTML dokumentą pavadinau „Index.htm“.

Antrasis failas yra įtrauktas į mano duomenų aplanką, ty. PicoGraph.js. „PicoGraph“biblioteką teikia Vishnu Shankar B iš „RainingComputers“ir ji leidžia labai paprastai, tačiau efektyviai ir lanksčiai pateikti grafikus tinklalapyje. Aš šiek tiek pakeičiau kodą, kad geriau atitikčiau savo tikslą.

Jūs pastebėsite, kad HTML tinklalapyje taip pat yra kodas, skirtas valdyti įtampos tiekimą mano PCB plokštėje. Įtampos tiekimo kodas kontroliuoja 5 įvesties/išvesties kaiščių įtampos lygį. Galite pakeisti kodą, kad tai neįtrauktumėte, arba galite jį palikti, jei neturite jokio poveikio.

HTML kodas prie šio veiksmo pridedamas kaip txt failas (nes instrukcijos neleidžia įkelti htm kodo).

Norėdami naudoti HTML kodą, nukopijuokite ir įklijuokite jį į teksto rengyklę (naudoju „Notepad ++“) ir išsaugokite jį kaip „Index.htm“aplanke „Duomenys“. Jūs darote tą patį su picograph.txt failu, bet pervadinate jį į picograph.js

Kalbant apie HTML failą:

Funkcija „SndUpdate“naudojama pranešimams siųsti ir persiųsti iš ESP į tinklalapį.

Pranešimai, siunčiami iš ESP, atlieka maitinimo šaltinio funkcijas ir neatitinka šios instrukcijos. pranešimai ESP naudojami „Ina260“plokštės matavimams.

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

Aukščiau pateiktas kodas nuskaito 6 skaičius iš ESP32 plokštės, t. įtampos matavimas, srovės matavimas iš pirmosios plokštės, po to du matavimai iš antrosios ir pan.

Grafikai yra įterpti į vadinamuosius lanksčius konteinerius, kurie leidžia lanksčiai keisti tinklalapio dydį.

.flex-container {ekranas: lankstus; fono spalva: cadetblue; flex-wrap: apvyniojimas; }.flex-container> div {background-color: #f1f1f1; paraštė: 10 taškų; paminkštinimas: 20 taškų; šrifto dydis: 20 taškų; font-family: "Septyni segmentai"; šrifto svoris: paryškintas; }

Kiekvieno lankstaus konteinerio turinys sudaromas taip, kaip nurodyta, įskaitant įterptus grafikus.

(atkreipkite dėmesį, kad pašalinimo vieta)

div label for "" PG1_scale "Scale:/label input name =" PG1_scale "value =" 10 "brbr!-Drobė, skirta diagramai-drobės stilius =" aukštis: 100 taškų; kraštinė: 2 piks. vientisas #000000; fono spalva: #fafafa; " /drobė

!-div legendoms/etiketėms-

div /div div /div /div

Paskutinis HTML failo svarbos skyrius veikia su „PicoGraph“biblioteka, kad būtų pateikti skaičiai:

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"); / * Atnaujinkite vertes kas sekundę */ setInterval (updateEverySecond, 1000); function updateEverySecond () { / * Gaukite naujų verčių * / SndUpdate ();

/ * Atnaujinti diagramą */PG1_demograph.update ([PG1_yrand0], parseInt (byID ("PG1_scale"). Value)+ parseInt (byID ("PG1_scale"). Value)/10, "#e52b50"; PG2_demograph.update ([PG2_yrand0], parseInt (byID ("PG2_scale"). Vertė)+ parseInt (byID ("PG2_scale"). Vertė)/10, "#e52b50"); PG3_demograph.update ([PG3_yrand0], parseInt (byID ("PG3_scale"). Vertė)+ parseInt (byID ("PG3_scale"). Vertė)/10, "#008000"); PG4_demograph.update ([PG4_yrand0], parseInt (byID ("PG4_scale"). Vertė)+ parseInt (byID ("PG4_scale"). Vertė)/10, "#008000"); // PG5_demograph.update ([PG5_yrand0], parseInt (byID ("PG5_scale"). Value)+ // parseInt (byID ("PG5_scale"). Value)/10, "#0000ff"); PG6_demograph.update ([PG6_yrand0], parseInt (byID ("PG6_scale"). Value)+ parseInt (byID ("PG6_scale"). Value)/10, "#0000ff"); var Watts = Math.round (PG1_yrand0 * PG2_yrand0 * 100)/100; byID ("PG1_wattLabel"). internalHTML = `WATT: $ {Watts} mW`; var Watts = Math.round (PG3_yrand0 * PG4_yrand0 * 100)/100; byID ("PG3_wattLabel"). internalHTML = `WATT: $ {Watts} mW`; // var Watts = Math.round (PG5_yrand0 * PG6_yrand0 * 100)/100; // byID ("PG5_wattLabel"). internalHTML = `WATT: $ {Watts} mW`; byID ("PG1_scale"). value = Math.floor (parseInt (byID ("PG1_scale"). value)/2+PG1_yrand0); byID ("PG2_scale"). value = Math.floor (parseInt (byID ("PG2_scale"). value)/2+PG2_yrand0); byID ("PG3_scale"). value = Math.floor (parseInt (byID ("PG3_scale"). value)/2+PG3_yrand0); byID ("PG4_scale"). value = Math.floor (parseInt (byID ("PG4_scale"). value)/2+PG4_yrand0); // byID ("PG5_scale"). value = Math.floor (parseInt (byID ("PG5_scale"). value)/2+PG5_yrand0); byID ("PG6_scale"). value = Math.floor (parseInt (byID ("PG6_scale"). value)/2+PG6_yrand0);

Studijuodami kodą pastebėsite, kad savo tikslui naudoju tik 5 grafikus iš 6. Atšaukus dešinių eilučių komentarus, bus įjungta 6-oji diagrama.

Tiems, kurie neturi patirties su html, šis žingsnis gali būti toks sunkus. Tačiau tai gali būti puikus įvadas į HTML pasaulį. Žinau, nes tai buvo pirmasis mano sukurtas puslapis. Taigi nebijok. Patyrusiems po mumis būkite atlaidūs.

Jūsų darbo tinklalapyje rezultatą galima peržiūrėti atidarius html, jis bus įkeltas į jūsų naršyklę ir parodys jo išvaizdą. Galimų klaidų galite patikrinti paspausdami klavišą F12 naršyklėje, pasirodys derinimo langas. Išsamus derinimo paaiškinimas nepatenka į šios instrukcijos taikymo sritį, tačiau tinklalapis gali būti naudingas kaip pirmasis žingsnis į tinklalapio / „JavaScript“derinimą.

Kitas žingsnis - įkelti sukurtus tinklalapius į ESP32.

8 veiksmas: įkelkite tinklalapį į ESP32

Įkelkite tinklalapį į ESP32
Įkelkite tinklalapį į ESP32

Gavus patenkinamą rezultatą, laikas įkelti tinklalapį į ESP32.

Tai galite padaryti išsaugodami „Index.htm“(savo tinklalapį) ir „PicoGraph.js“aplanke „duomenys“, esantį jūsų „Arduino“projekte.

Kitas žingsnis yra prijungti ESP32 plokštę prie kompiuterio. Pasirinkę tinkamą plokštę ir COM prievadą, „Arduino IDE“meniu Įrankiai pasirinkite ESP32 eskizo duomenų įkėlimą.

Pamatysite, kad IDE pradės įkėlimo procesą, o tai turėtų sukelti sėkmingą įkėlimą.

Šalia šio veiksmo reikia sukonfigūruoti ESP32 mikrovaldiklį kaip žiniatinklio serverį.

9 veiksmas: sukonfigūruokite ESP32 kaip žiniatinklio serverį

Pridedamas „Arduino Ino“eskizas, kuris sukonfigūruos ESP32 kaip žiniatinklio serverį.

Turėsite pakeisti SSID ir susijusį slaptažodį savo maršrutizatoriaus slaptažodžiu.

Kaip jau minėta, šiame eskize taip pat yra kodas, skirtas sukonfigūruoti tinklalapį kaip valdiklį PCB maitinimo pusėje (iš tikrųjų sukonfigūruoti 5 IO kaiščius kaip PWM kaiščius ir valdyti juos per pranešimų srautą iš tinklalapio).

Eskizas sukurtas remiantis standartiniu „WebServer“eskizu, kurį sukūrė Hristo Gochkovas.

Kažkoks kodo paaiškinimas.

Visos šios funkcijos yra susijusios su žiniatinklio serverio nustatymu.

Stygos formatasBytes (size_t baitai) Styga getContentType (eilutės failo pavadinimas) bool egzistuoja (String path) bool handleFileRead (String path) void handleFileUpload () void handleFileDelete () void handleFileCreate () void handleFileList ()

Taip pat pirmasis sąrankos () funkcijos kodas yra susijęs su PWM ir tinklalapio serverio sąranka.

Šis kodas nustato pertraukimo funkciją, kuri teikia pranešimų srautus į tinklalapį ir iš jo:

(turėtumėte atpažinti identifikatorius iš tinklalapio kūrimo)

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

Eilutė Msg = "{"; Msg+ = "\" PG1_yrand0 / ":"+ (eilutė) Vina [1]; Msg+ = ", \" PG2_yrand0 / ":"+ (Styga) Iina [1]; Msg+ = ", \" PG3_yrand0 / ":"+ (eilutė) Vina [0]; Msg+ = ", \" PG4_yrand0 / ":"+ (Styga) Iina [0]; Msg+ = ", \" PG5_yrand0 / ":"+ (Styginė) Vina [2]; Msg+ = ", \" PG6_yrand0 / ":"+ (Styga) Iina [2]; Žinutė+= "}";

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

Tai paleidžia serverį:

server.begin ();

Kitas kodo blokas inicijuoja INA260 plokštes:

// INA260 inicializacija if (! Ina260_0x40.begin (0x40)) {Serial.println (F ("Nepavyko rasti INA260 0x40 lusto")); // while (1); } Serial.println (F ("Rasta INA260 mikroschema 0x40")); if (! ina260_0x41.begin (0x41)) {Serial.println (F ("Nepavyko rasti 0x41 INA260 lusto")); // while (1); } Serial.println (F ("Rasta INA260 0x41 mikroschema")); if (! ina260_0x44.begin (0x44)) {Serial.println (F ("Nepavyko rasti INA260 0x44 lusto")); // while (1); } Serial.println (F ("Rasta INA260 mikroschema 0x44"));

ina260_0x40.setAveverageCount (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.setAveverageCount (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.setAveverageCount (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);

Ciklo kode šis teiginys užtikrina pertraukimo kodo tvarkymą:

server.handleClient ();

Toliau nurodytas ciklo sakinio kodas yra susijęs su maitinimo šaltinio funkcionalumu.

Šis kodas cikle () vėl įdomus:

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 ();

Šie teiginiai renka ir paruošia matavimus, kad juos būtų galima perkelti į tinklalapį per serverį. Pertraukiant skambučius (įvyksta kas 1000 ms, nustatoma tinklalapio html java scenarijuje).

10 žingsnis: baigta

Su tavimi baigta!
Su tavimi baigta!

Įkeliant eskizą į ESP32 plokštę, turėtų būti baigtas sąranka, o jūsų maitinimo monitorius turėtų būti galutinis!

Galbūt pastebėjote, kad ESP32 maitinamas dabar per USB prievadą, tai padidina didelę dalį „WiFi“ryšio su jūsų įtampos / srovės matuokliais privalumų. Taigi, aš sukūriau paprastą LM317 pagrįstą įtampos reguliuojamą maitinimo šaltinį ESP32. Aš to neįtraukiau į šį nurodymą, bet jei yra susidomėjimas, jis gali tapti kitu pamokomu dalyku.

Kitame žingsnyje aš jau pateikiau maitinimo šaltinio elektroninę grandinę, kuri galėtų būti įkvėpimas.

11 veiksmas: įjunkite ESP32

Maitinamas ESP32
Maitinamas ESP32

Tai įkvepia sukurti atskirą energijos šaltinį savo ESP32, jei jo neturite.

Maitinimo grandinė veikia 19 V nešiojamojo kompiuterio maitinimo šaltinyje. Tai reikalauja dviejų etapų įtampos mažinimo, kad būtų galima kontroliuoti LM317 energijos išsklaidymą. (Net ir su šilumos kriauklėmis!). Taip pat nepamirškite įterpti 100uF kondensatoriaus priešais VCC_ESP liniją, nes šie mikrovaldikliai tikrai turi didelius srovės svyravimus pradėdami „WiFi“ryšį.

Atminkite, kad ESP32 negalima maitinti vienu metu su daugiau nei vienu maitinimo šaltiniu!

Toliau įprasti atsakomybės atsisakymai, bet labiausiai

Pasilinksmink!

Visus failus galite rasti mano „GitHub“:

Rekomenduojamas: