Sisällysluettelo:

Monikanavainen Wifi-jännite- ja virtamittari: 11 vaihetta (kuvilla)
Monikanavainen Wifi-jännite- ja virtamittari: 11 vaihetta (kuvilla)

Video: Monikanavainen Wifi-jännite- ja virtamittari: 11 vaihetta (kuvilla)

Video: Monikanavainen Wifi-jännite- ja virtamittari: 11 vaihetta (kuvilla)
Video: Как связать промышленные датчики 4–20 мА с ПЛК Raspberry Pi Pico | ПЛК Мицубиси FX1N 2024, Heinäkuu
Anonim
Monikanavainen Wifi-jännite- ja virtamittari
Monikanavainen Wifi-jännite- ja virtamittari

Leipälautailussa on usein seurattava piirin eri osia kerralla.

Välttääkseni kipua joutua kiinnittämään yleismittarianturit paikasta toiseen, halusin suunnitella monikanavaisen jännite- ja virtamittarin.

Adafruutin Ina260 -levy on erittäin tehokas ja tehokas tapa tehdä niin. Se sisältää erittäin tarkan jännite- ja virtamittarin, jossa on integroitu I2C -silta (säästää paljon nastoja, kun yhdistät niistä kolme!).

Ainoa mitä puuttui, oli näyttö. Tästä syystä päätös liittää levyt ESP32 -kehityskorttiin, joka voi helposti kuljettaa verkkopalvelimen, joka esittelee mitatut kohteet PC/matkapuhelimen näytöllä.

Tarvikkeet

3 x Ina260 adafruit -lauta

3 x otsatapit ja pitkät nastat

Vähintään 6 hyppyjohtoa

1 x ESP32 Wrover-B (tai mikä tahansa muu Wifi-kortti, jossa on I2C-tuki)

2 x 19 -nastainen nastainen liitin (tarvittaessa)

1 x PCB tai Perfboard

1 x 3,3 V virtalähde

Vaihe 1: Juottaa kolme INA -levyä

Juotos kolme INA -levyä
Juotos kolme INA -levyä

Ensimmäinen askel on koota kolme INA260 -levyä.

Erittäin hyvä ohje löytyy Adafruit -verkkosivustolta. Noudata Adafruit -asennusohjeita.

Jotta voit pinota ne päällekkäin, käytä pitkiä tapituotteita toimitettujen tapiliuskojen sijaan!

Vaihe 2: Määritä kolme erilaista I2C -osoitetta

Määritä kolme erilaista I2C -osoitetta
Määritä kolme erilaista I2C -osoitetta
Määritä kolme erilaista I2C -osoitetta
Määritä kolme erilaista I2C -osoitetta
Määritä kolme erilaista I2C -osoitetta
Määritä kolme erilaista I2C -osoitetta
Määritä kolme erilaista I2C -osoitetta
Määritä kolme erilaista I2C -osoitetta

I2C on sarjaliikenneprotokolla kaksijohtimiselle liittymälle, jolla voidaan yhdistää pienen nopeuden laitteita lyhyille etäisyyksille. Yksi voi yhdistää jopa 127 orjaa. Yhdellä väylällä jokainen laite on tunnistettava yksilöllisellä I2C -osoitteella. Laitteen I2C -osoite on usein kiinteästi kytketty laitteen siruun. Samojen laitteiden yhdistämiseksi yhteen väylään valmistaja jättää usein mahdollisuuden muuttaa I2C -osoitetta juottamalla nastat yhteen.

Tämä koskee myös kolmea INA260 -korttia. Laitteessa on kaksi osoitetappia, A0 ja A1, jotka voidaan liittää GND-, VS-, SCL- tai SDA -laitteisiin halutun osoitteen asettamiseksi. Teksas -instrumenttien INA260 -sirun tietolomakkeesta löytyy luettelo nastayhteyksistä kullekin 16 mahdolliselle osoitteelle.

Adafruit -lauta rajoittaa tämän neljään lautaan paljastamalla kaksi tyynyä, joilla voidaan vetää A0 ja/tai A1 VS: ään. INA260 -kortin oletusosoite on 0x40.

Suoritat tämän vaiheen määrittämällä kahdelle muulle levylle eri osoitteet:

Juottamalla toisen levyn A0 -tyynyn asetat hänen osoitteensa: 0x41 (tai 1000001 BIN)

Juottamalla kolmannen levyn A1 -tyynyn osoitat osoitteen: 0x44 (tai 1000100 BIN)

Vaihe 3: Liitä Ina -levyt ESP32 -laitteeseen

Liitä Ina -levyt ESP32 -laitteeseen
Liitä Ina -levyt ESP32 -laitteeseen

Nyt kun olemme määrittäneet kullekin INA -kortille eri I2C -osoitteet, on aika liittää ne ESP32 -korttiin!

Yhdistä yllä olevan kuvan mukaisesti

1) VCC -nasta 3,3 V: n napaan

2) GND -nasta GND -nastaan

3) SDA -nasta GPIO -nastaan 21

4) SCL -nasta GPIO -nastaan 22

Olen käyttänyt PCB -muotoilua liitäntöjen tekemiseen, koska se on osa suurempaa projektia (WiFi -säädettävä jännitesyöttö, jossa on säädettävä virranrajoitus - toivottavasti voit tehdä ohjattavan myös tälle).

Voit käyttää mitä tahansa muuta tapaa muodostaa yhteys, tämä voi olla juotosrei'itetty lauta tai leipälauta. Molemmat toimivat myös hyvin.

Vaihe 4: Asenna ESP32 -kortti Arduino IDE: hen

Asenna ESP32 -kortti Arduino IDE: hen
Asenna ESP32 -kortti Arduino IDE: hen

Nyt kun olemme liittäneet levyt toisiinsa, on aika tarkistaa yhteys.

Teemme sen keräämällä Ina -korttien I2C -osoitteet.

ESP32 -levy toimii täydellisesti Arduino IDE: n kanssa.

Asennetaan siis ESP32 -kortti Arduinoon hallituksen hallinnan avulla.

Vaihe 5: Tarkista Ina - ESP32 -yhteys I2C -skannerilla

Tarkista Ina -ESP32 -yhteys I2C -skannerilla
Tarkista Ina -ESP32 -yhteys I2C -skannerilla

Käytämme yksinkertaista I2C -osoiteskanneria varmistaaksemme yhteyden ESP32- ja Ina260 -korttien välillä.

I2C -osoitteenskannauskoodi voidaan kopioida ja liittää tyhjään Arduino -projektiin.

Koodi on otettu Arduino cc -sivustolta:

// -------------------------------------- // i2c_scanner // // Versio 1/ / Tämä ohjelma (tai sen näköinen koodi) // löytyy monista paikoista. // Esimerkiksi Arduino.cc -foorumilla. // Alkuperäinen kirjoittaja ei ole tiedossa. // Versio 2, kesäkuu 2012, Arduino 1.0.1: n käyttö // Arduino.cc -käyttäjä Krodal on mukauttanut mahdollisimman yksinkertaiseksi // Versio 3, 26.2.2013 // lo3: n versio V3 // Versio 4, 3. maaliskuuta 2013, Käyttämällä Arduino 1.0.3 //: ta, kirjoittanut Arduino.cc -käyttäjä Krodal. // Louarnoldin tekemät muutokset poistettu. // Skannausosoitteet muutettiin arvosta 0… 127 arvoon 1… 119, // Nick Gammonin i2c -skannerin mukaan // https://www.gammon.com.au/forum/?id=10896 // Versio 5, maaliskuu 28, 2013 // Versiona 4, mutta osoite skannaa nyt 127. // Anturi näyttää käyttävän osoitetta 120. // Versio 6, 27. marraskuuta 2015. // Lisätty odottamaan Leonardo -sarjaliikennettä. // // // Tämä luonnos testaa 7-bittiset vakio-osoitteet // Laitteet, joilla on suurempi bittiosoite, eivät ehkä näy kunnolla. // #include void setup () {Wire.begin (); Sarja.alku (9600); while (! Sarja); // Leonardo: odota sarjamonitoria Serial.println ("\ nI2C -skanneri"); } void loop () {tavuvirhe, osoite; int nLaitteet; Serial.println ("Skannaus…"); nLaitteet = 0; for (address = 1; address <127; address ++) {// i2c_scanner käyttää // Write.endTransmisstionin palautusarvoa selvittääkseen, // onko laite hyväksynyt osoitteen. Wire.beginTransmission (osoite); virhe = Wire.endTransmission (); jos (virhe == 0) {Serial.print ("I2C -laite löydetty osoitteesta 0x"); if (osoite <16) Serial.print ("0"); Serial.print (osoite, HEX); Serial.println ("!"); nLaitteet ++; } muu jos (virhe == 4) {Serial.print ("Tuntematon virhe osoitteessa 0x"); if (osoite <16) Serial.print ("0"); Serial.println (osoite, HEX); }} if (nLaitteet == 0) Serial.println ("I2C -laitteita ei löydy / n"); else Serial.println ("valmis / n"); viive (5000); // odota 5 sekuntia seuraavaan skannaukseen}

Vaihe 6: HTML -verkkopalvelinkansion luominen

HTML -verkkopalvelinkansion luominen
HTML -verkkopalvelinkansion luominen

ESP32 tarjoaa mahdollisuuden käyttää verkkopalvelinta. Se tarjoaa myös melko suuren RAM -muistin joidenkin verkkosivujen säilyttämiseen. (Se pakkaa automaattisesti verkkosivutiedostot).

Arduino IDE tarjoaa toiminnot luotujen verkkosivujen lataamiseen suoraan ESP32: n RAM -muistiin.

Tätä varten sinun on luotava kansio 'data' Arduino -projektin kansion alle. Minun tapauksessani tämä on / Arduino / esp32_Power_supply_v1_implemented / data.

On tärkeää nimetä kansio täsmälleen 'dataksi', koska se on kansionimi, jota Arduino etsii ladatessaan verkkosivutiedostoja ESP: hen.

Vaihe 7: Luo Power Monitor -verkkosivu

HMTL on kieli, joka mahdollistaa tekstin esittämisen verkkoselaimessa. HTML -tiedosto tallennetaan tunnisteella htm (l). Verkkosivun muotoilu sijoitetaan yleensä erilliseen tiedostoon (esim. Css -tiedosto). Verkkosivun tarjoamat ohjelmatoiminnot sijoitetaan yleensä toiseen tiedostoon (esim. Js -tiedosto, javascript).

Sisällysin HTML -dokumenttiin tekstin, muotoilun ja Javascriptin yhdeksi tiedostoksi. Se ei siis ole hyvä esimerkki verkkosivun tekemisestä, mutta se palvelee tarkoituksia. Nimesin HTML -asiakirjan "Index.htm".

Toinen tiedosto sisältyy datakansioon, ts. PicoGraph.js. PicoGraph -kirjaston tarjoaa RainingComputersin Vishnu Shankar B, ja se mahdollistaa hyvin yksinkertaisen, mutta tehokkaan ja joustavan tavan esittää kaavioita verkkosivulle. Muokkasin koodia hieman, jotta se palvelisi paremmin tarkoitustani.

Huomaat, että HTML -verkkosivu sisältää myös koodin PCB -kortin jännitelähteiden ohjaamiseen. Jännitesyöttökoodi ohjaa 5 I/O -nastan jännitetasoa. Voit poistaa koodin muuttamalla koodin tai jättää sen sisään, jos se ei vaikuta.

HTML -koodi on liitetty tähän vaiheeseen txt -tiedostona (koska ohjeet eivät salli htm -koodin lataamista).

Jotta voit käyttää HTML -koodia, kopioi ja liitä se tekstieditoriin (käytän Notepad ++: ta) ja tallenna se nimellä Index.htm "Data" -kansioon. Teet saman picograph.txt -tiedostolle, mutta nimeät sen uudelleen nimelle picograph.js

Mitä tulee HTML -tiedostoon:

Toimintoa SndUpdate käytetään lähettämään viestejä edestakaisin ESP: stä verkkosivulle.

ESP: stä lähetetyt viestit palvelevat virtalähteen toimintoja, eivätkä ne kuulu tämän ohjeen soveltamisalaan. viestit ESP: lle palvelevat Ina260 -kortin mittauksia.

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

Yllä oleva koodi lukee 6 numeroa ESP32 -kortilta, ts. jännitteen mittaus, virran mittaus ensimmäiseltä levyltä, jota seuraa kaksi mittausta toiselta ja niin edelleen.

Kaaviot on upotettu ns. Flex-säiliöihin, jotka mahdollistavat verkkosivun joustavan koon muuttamisen.

.flex-container {näyttö: flex; taustaväri: cadetblue; flex-wrap: kääri; }.flex-container> div {background-color: #f1f1f1; marginaali: 10 kuvapistettä; pehmuste: 20px; fontin koko: 20px; font-family: "Seven Segment"; fontin paino: lihavoitu; }

Kunkin flex -säiliön sisältö laaditaan seuraavasti, mukaan lukien upotetut kaaviot.

(Huomaa, että jos poistettu)

div label for "" 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; " /kangas

!-div legendeille/tarroille-

div /div div /div /div

HTML -tiedoston viimeinen tärkeä osa toimii PicoGraph -kirjaston kanssa numeroiden esittämiseksi:

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äivitä arvot joka sekunti */ setInterval (updateEverySecond, 1000); function updateEverySecond () { / * Hae uusia arvoja * / SndUpdate ();

/ * Päivitä kaavio */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"). Arvo)+ parseInt (byID ("PG2_scale"). Arvo)/10, "#e52b50"); PG3_demograph.update ([PG3_yrand0], parseInt (byID ("PG3_scale"). Arvo)+ parseInt (byID ("PG3_scale"). Arvo)/10, "#008000"); PG4_demograph.update ([PG4_yrand0], parseInt (byID ("PG4_scale"). Arvo)+ parseInt (byID ("PG4_scale"). Arvo)/10, "#008000"); // PG5_demograph.update ([PG5_yrand0], parseInt (byID ("PG5_scale"). Arvo)+ // parseInt (byID ("PG5_scale"). Arvo)/10, "#0000ff"); PG6_demograph.update ([PG6_yrand0], parseInt (byID ("PG6_scale"). Arvo)+ parseInt (byID ("PG6_scale"). Arvo)/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);

Tutkiessasi koodia huomaat, että käytän tarkoitukseeni vain 5 kaaviota kuudesta. Jos oikeiden rivien kommentit poistetaan, kuudes kuvaaja otetaan käyttöön.

Niille, joilla ei ole kokemusta html: stä, tämä vaihe voi tulla yhtä vaikeaksi. Se voi kuitenkin olla mukava johdanto HTML -maailmaan. Tiedän, koska tämä oli ensimmäinen sivuni, jonka olen koskaan luonut. Joten älä pelkää. Olkaa anteeksiantavia niille, jotka ovat kokeneet allamme.

Verkkosivulla tekemäsi työn tulokset voidaan tarkistaa avaamalla html -tiedosto, se latautuu selaimeesi ja näyttää sen ulkonäön. Voit tarkistaa mahdolliset virheet painamalla selaimesi F12 -näppäintä, jolloin virheenkorjausikkuna tulee näkyviin. Täydellinen selvitys virheenkorjauksesta ei kuulu tämän ohjeen soveltamisalaan, mutta verkkosivusta voi olla apua ensimmäisenä vaiheena verkkosivun / javascript -virheenkorjauksessa.

Seuraava vaihe on ladata luodut verkkosivut ESP32: een.

Vaihe 8: Lataa verkkosivu ESP32: een

Lataa verkkosivu ESP32: een
Lataa verkkosivu ESP32: een

Tyydyttävän tuloksen jälkeen on aika ladata verkkosivu ESP32 -laitteeseen.

Voit tehdä tämän tallentamalla "Index.htm" (verkkosivusi) ja "PicoGraph.js" Arduino -projektisi "data" -kansioon.

Seuraava vaihe on liittää ESP32 -kortti tietokoneeseen. Kun olet valinnut oikean kortin ja COM -portin, valitse ESP32 -luonnosdatan lataus Arduino IDE: n Työkalut -valikosta.

Näet, että IDE aloittaa latausprosessin, jonka pitäisi johtaa onnistuneeseen lataukseen.

Tämän vaiheen vieressä on ESP32 -mikrokontrollerin määrittäminen verkkopalvelimeksi.

Vaihe 9: Määritä ESP32 verkkopalvelimeksi

Liitteenä on Arduino Ino -luonnos, joka määrittää ESP32: n verkkopalvelimeksi.

Sinun on korvattava SSID ja siihen liittyvä salasana reitittimen salasanalla.

Kuten jo mainittiin, tämä luonnos sisältää myös koodin verkkosivun konfiguroimiseksi piirilevyn virtalähteen puolen ohjaimena (itse asiassa 5 IO -nastan määrittäminen PWM -nastoiksi ja niiden ohjaaminen verkkosivun viestivirran kautta).

Luonnos perustuu Hristo Gochkovin kehittämään vakiomuotoiseen Webserver -luonnokseen.

Jotain selitystä koodiin.

Kaikki seuraavat toiminnot liittyvät verkkopalvelimen käyttöönottoon.

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

Myös setup () -toiminnon ensimmäinen koodi liittyy PWM- ja Web -palvelimen asetuksiin.

Seuraava koodi asettaa keskeytystoiminnon, joka palvelee viestivirtoja verkkosivulle ja sieltä:

(sinun pitäisi tunnistaa tunnisteet verkkosivun luomisesta)

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

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

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

Tämä käynnistää palvelimen:

server.begin ();

Seuraava koodilohko alustaa INA260 -levyt:

// INA260 -alustus, jos (! Ina260_0x40.begin (0x40)) {Serial.println (F ("INA260 0x40 -sirua ei löytynyt")); // while (1); } Serial.println (F ("Löytyi INA260 -siru 0x40")); if (! ina260_0x41.begin (0x41)) {Serial.println (F ("Ei löytynyt 0x41 INA260 -sirua")); // while (1); } Serial.println (F ("Löytyi INA260 0x41 -siru")); if (! ina260_0x44.begin (0x44)) {Serial.println (F ("INA260 0x44 -sirua ei löytynyt")); // while (1); } Serial.println (F ("Löytyi INA260 -siru 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);

Loop -koodissa seuraava lauseke varmistaa keskeytyskoodin käsittelyn:

server.handleClient ();

Seuraava silmukkalausekkeen koodi liittyy virtalähteen toimintoihin.

Seuraava silmukan () koodi on jälleen mielenkiintoinen:

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

Nämä lausunnot keräävät ja valmistavat mittaukset siirrettäväksi verkkosivulle palvelimen kautta. Keskeytyspuheluissa (esiintyy 1000 ms: n välein, määritetään verkkosivun html -java -komentosarjassa).

Vaihe 10: Olet valmis

Olet valmis!
Olet valmis!

Luonnoksen lataaminen ESP32 -levylle pitäisi viimeistellä asennus ja Power monitorin pitäisi olla lopullinen!

Olet ehkä huomannut, että ESP32: n virransyöttö tapahtuu nyt USB -portin kautta, mikä nostaa suuren osan WiFi -pohjaisen yhteyden eduista jännite- / virtamittarisi kanssa. Siksi olen tehnyt yksinkertaisen LM317 -pohjaisen jännitesäädetyn virtalähteen ESP32: lle. Pidin sen tämän ohjeen soveltamisalan ulkopuolella, mutta jos on kiinnostusta, siitä voi tulla seuraava ohje.

Seuraavassa vaiheessa olen jo toimittanut virtalähteen elektronisen piirin, joka voisi toimia inspiraationa.

Vaihe 11: Käynnistä ESP32

Virtaa ESP32
Virtaa ESP32

Tästä inspiraatiota rakentaa erillinen voimanlähde ESP32 -laitteellesi, jos sinulla ei ole sitä makaamassa.

Virtapiiri toimii kannettavan 19 V: n virtalähteen kanssa. Tämä vaatii kaksivaiheista jänniteaskelta, jotta LM317 -laitteiden virrantuotto pysyy hallinnassa. (Vaikka jäähdytyselementit!). Älä myöskään unohda sisällyttää 100uF: n kondensaattoria VCC_ESP -linjan eteen, koska niillä mikrokontrollereilla on suuret virranvaihtelut, kun WiFi -yhteys käynnistetään.

Huomaa, että älä käytä ESP32 -laitetta useammalla kuin yhdellä virtalähteellä kerrallaan!

Lisäksi tavanomaiset vastuuvapauslausekkeet, mutta ennen kaikkea

Pidä hauskaa!

Kaikki tiedostot löytyvät GitHubistani:

Suositeltava: