Šiuolaikiniame pasaulyje apsižvalgę galime pastebėti, kad viskas, kas apima elektroniką, yra tam tikru mastu automatizuota. Namų automatikos sistemos arba išmanieji namai šiais laikais yra labai paplitę. Naudojant šias sistemas, skirtingus buitinius prietaisus galima automatizuoti naudojantis mobiliąja programa. Tačiau daugumoje šių sistemų nėra nieko, kas automatizuotų jūsų dujinę viryklę. Šiame straipsnyje mes sukursime sistemą, kuri leis jums valdyti savo dujinę viryklę naudodamiesi mobiliąja programa. Ši programa bus naudojama atidaryti arba uždaryti dujų vožtuvą nuo pagrindinio vožtuvo ir uždegti žvakę, kad sukeltų ugnį.
Išmanioji viryklė
Kaip automatizuoti dujinę viryklę per savo mobilųjį telefoną?
Dabar, kai žinome projekto santrauką, judėkime pirmyn ir rinkime kitą informaciją, kad galėtume pradėti dirbti. Pirmiausia sudarysime komponentų sąrašą, o tada surinksime visus komponentus, kad būtų sukurta veikianti sistema.
1 žingsnis: surinkti komponentus
Prieš pradėdami bet kokį projektą, jei norime išvengti baimės užstrigti projekto viduryje, turėtume turėti išsamų visų komponentų, kurių mums reikės dirbant projektą, sąrašą. Tai puikus būdas sutaupyti daug laiko ir pastangų. Išsamus visų šiame projekte naudojamų komponentų sąrašas pateiktas žemiau. Visi šie komponentai yra lengvai prieinami rinkoje.
- ESP32
- „Arduino“ dujų vožtuvas
- Šuolių laidai
- 5V relės modulis
- 2N2222 NPN tranzistorius
- 1k omų rezistorius
- 10k omų rezistorius
- 5V uždegimo žvakė
2 žingsnis: „Android“ programos kūrimas
Kadangi ketiname valdyti šią viryklę naudodami „Android“ programą, pirmiausia turime ją sukurti. Anksčiau mes sukūrėme keletą „Android“ programos. Anksčiau mes sukūrėme taikymas kurį sudaro tik vienas jame esantis mygtukas. Šis mygtukas naudojamas duomenims siųsti į duomenų bazę. Jei „1“ yra įterptas į duomenų bazę, relė bus įjungta ir jei „0“ į duomenų bazę, relė bus išjungta.
Šioje paraiškoje atliksime nedidelį pakeitimą. Laikydamiesi tos pačios procedūros, kurios buvo laikomasi atlikdami pirmąjį mygtuką ir prijungdami jį prie ugnies pagrindo, padarysime kitą mygtuką, kuris bus prijungtas prie ugnies pagrindo.
Vienas mygtukas bus naudojamas atidaryti ir uždaryti dujų vožtuvą, o antrasis mygtukas bus naudojamas kibirkšties sukūrimui, kuri bus atsakinga už uždegimas .
3 žingsnis: grandinės sudarymas
Kadangi dabar žinome pagrindinį šio projekto esmę, surenkime visus komponentus kartu, kad padarytume galutinę grandinę.
Paimkite duoną ir įdėkite ESP32 plokštė jame. Paimkite tiek tranzistorius, tiek rezistorius ir įdėkite juos į duoną taip, kad tranzistorius būtų galima naudoti kaip įjungtą. Vykdykite toliau pateiktą konfigūraciją, kad perjungdami nepadarytumėte klaidų.
Tranzistorius kaip jungiklis
Aukščiau pateiktame paveikslėlyje prijunkite Vynas uostas prie smeigtukų ESP32 , prijunkite prievadą Vcc prie išorinio 5 V maitinimo šaltinio ir prijunkite Vo prie relės modulio. Pagrindinė priežastis, kodėl tranzistorių naudojame kaip jungiklį, yra ta, kad relei veikti reikia 5 V, tačiau ESP32 gali tiekti tik 3,3 V įtampą. Taigi turime suteikti 5 V išorinę relės dalį.
Dabar mes prijungsime relės modulį prie tranzistorių. Įsitikinkite, kad pirmasis tranzistorius yra prijungtas prie ESP modulio pin34, o antrasis - prie ESP modulio pin35. Abu relės modulius naudosime įprastu režimu. Prijunkite dujų vožtuvą ir žvakę atitinkamai prie pirmojo ir antrojo relės modulio išėjimo gnybto. Įsitikinkite, kad prijungėte relės modulio užpakalį, parodytą žemiau esančiame paveikslėlyje.
Relės modulis
4 žingsnis: darbas
Šio projekto esmė yra ESP32, kuri yra mikrovaldiklio plokštė. Dujų vožtuvas ir žvakė yra prijungti prie ESP per relės modulius. Iš pradžių dujų vožtuvas uždarytas. Kai jis įjungiamas iš mobiliosios programos, įjungiamas dujų vožtuvas. Tas pats ir žvakės atveju. Jį galima išjungti arba išjungti per mobiliąją programą. Ši žvakė bus prijungta prie viryklės, kurioje išsiskiria dujos. Ši žvakė uždegs ugnį.
5 žingsnis: darbo su ESP32 pradžia
Jei anksčiau nedirbote su „Arduino IDE“, nesijaudinkite, nes žingsnis po žingsnio parodomas „Arduino IDE“ nustatymas.
- Atsisiųskite naujausią „Arduino IDE“ versiją iš Arduino.
- Prijunkite „Arduino“ plokštę prie kompiuterio ir atidarykite Valdymo skydą. Spustelėkite Aparatūra ir garsas. Dabar atidaryta Prietaisai ir spausdintuvas ir suraskite prievadą, prie kurio prijungta jūsų plokštė. Mano atveju taip yra COM14 bet skirtinguose kompiuteriuose yra skirtinga.
Rasti uostą
- Spustelėkite Failas, tada spustelėkite Nuostatos. Nukopijuokite šią nuorodą į Papildomas valdybos valdytojo URL. „ https://dl.espressif.com/dl/package_esp32_index.json '
Nuostatos
- Dabar, norėdami naudoti ESP32 su „Arduino IDE“, turime importuoti specialias bibliotekas, kurios leis mums įrašyti kodą ESP32 ir jį naudoti. šios dvi bibliotekos yra pridėtos žemiau pateiktoje nuorodoje. Norėdami įtraukti biblioteką, eikite Eskizas> Įtraukti biblioteką> Pridėti ZIP biblioteką . Pasirodys langelis. Kompiuteryje raskite aplanką ZIP ir spustelėkite Gerai, jei norite įtraukti aplankus.
Įtraukti biblioteką
- Dabar eik Eskizas> Įtraukti biblioteką> Tvarkyti bibliotekas.
Tvarkyti bibliotekas
- Bus atidarytas meniu. Paieškos juostoje įveskite Arduino JSON. Bus parodytas sąrašas. Diegti Benoit Blanchon „Arduino JSON“.
Arduino JSON
- Dabar spustelėkite Įrankiai. Bus parodytas išskleidžiamasis meniu. Nustatykite lentą į ESP „Dev“ modulis.
Nustatymo lenta
- Dar kartą spustelėkite meniu Įrankis ir nustatykite prievadą, kurį anksčiau pastebėjote valdymo skydelyje.
Uosto nustatymas
- Dabar įkelkite kodą, pridėtą žemiau esančioje nuorodoje, ir spustelėkite mygtuką „Įkelti“, kad įrašytumėte kodą ESP32 mikrovaldiklyje.
Įkelti
Taigi dabar, kai įkelsite kodą, gali įvykti klaida. Tai yra dažniausiai pasitaikanti klaida, kuri gali kilti, jei naudojate naują „Arduino IDE“ ir „Arduino JSON“ versiją. Toliau pateikiamos klaidos, kurias galite pamatyti ekrane.
Į failą, įtrauktą iš C: Users Pro Documents Arduino library IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, iš C: Users Pro Desktop smartHome code code.ino: 2: C : Users Pro Documents Arduino libraries IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: error: StaticJsonBuffer yra „ArduinoJson“ klasė. Norėdami sužinoti, kaip atnaujinti programą į „ArduinoJson“, žr. Arduinojson.org/upgrade. 6 versija „StaticJsonBuffer“ „jsonBuffer“; ^ Į failą, įtrauktą iš C: Users Pro Documents Arduino library IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, iš C: Users Pro Desktop smartHome code code.ino: 2: C: Users Pro Documents Arduino libraries IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: error: StaticJsonBuffer yra „ArduinoJson“ klasė 5. Norėdami sužinoti, kaip atnaujinti programą į, žr. Arduinojson.org/upgrade. „ArduinoJson“ 6 versija pateikia „StaticJsonBuffer“ (). ParseObject (_data); ^ Rasta kelios „WiFi.h“ bibliotekos. Naudota: C: Users Pro AppData Local Arduino15 package esp32 hardware esp32 1.0.2 library WiFi Nenaudojama: C: Program Files ( x86) Arduino libraries WiFi Naudojant bibliotekos „WiFi“ versiją 1.0 versijoje aplanke: C: Users Pro AppData Local Arduino15 package esp32 hardware esp32 1.0.2 bibliotekas WiFi Naudojant biblioteką IOXhop_FirebaseESP32-master aplanke: C: Users Pro Documents Arduino library IOXhop_FirebaseESP32-master (palikimas) Naudojant bibliotekos HTTPClient 1.2 versiją aplanke: C: Users Pro AppData Local Arduino15 package esp32 hardware esp32 1.0.2 bibliotekas HTTPClient bibliotekos „WiFiClientSecure“ naudojimas naudojant 1.0 versiją aplanke: C: Users Pro AppData Local Arduino15 package esp32 hardware esp32 1.0.2 library WiFiClientSecure Biblioteka „ArduinoJson“ naudojimas 6.12.0 versija aplanke: C: Users Pro Documents Arduino libraries ArduinoJson exit status 1 Klaida rengiant plokštės ESP32 „Dev“ modulį.
Nėra ko jaudintis, nes šias klaidas galime pašalinti atlikdami kelis paprastus veiksmus. Šios klaidos kyla dėl to, kad naujojoje „Arduino JSON“ versijoje vietoj klasės yra kita klasė „StaticJsonBuffer“. Tai yra „JSON 5“ klasė. Taigi mes galime paprasčiausiai pašalinti šią klaidą, sumažinę mūsų „Arduino IDE“ versiją „Arduino JSON“. Paprasčiausiai eikite į Eskizas> Įtraukti biblioteką> Tvarkyti bibliotekas. Ieškoti Benoit Blanchon „Arduino JSON“ kurį jau įdiegėte. Pirmiausia pašalinkite jį, tada nustatykite jo versiją 5.13.5. Dabar, kai nustatėme seną „Arduino JSON“ versiją, įdiekite ją dar kartą ir sukompiliuokite kodą. Šį kartą jūsų kodas bus sėkmingai sukompiliuotas.
Norėdami atsisiųsti kodą, spustelėkite čia.
6 žingsnis: kodas
Pridedamas kodas yra gana gerai komentuojamas, tačiau kai kurios jo dalys yra paaiškintos žemiau.
1. Pradžioje yra dvi bibliotekos, kad būtų įjungtas „WiFi“ ryšys ir ESP plokštė galėtų būti prijungta prie „Firebase“ duomenų bazės. Tada įtraukiama „Firebase“ kompiuteris, autentifikavimas, vietinio „Wi-Fi“ ryšio pavadinimas ir to paties „WiFi“ ryšio slaptažodis. Taip pat apibrėžkite ESP plokštės kaiščius, kurie bus naudojami išoriniams įrenginiams prijungti.
#include // įtraukti biblioteką, kad būtų galima naudoti „WiFi“ #include // įtraukti biblioteką, kad prisijungtumėte prie „Firebase“ #define FIREBASE_HOST 'xxxxxxxxxx' // pakeiskite xxxxxxxxxx savo „Firebase“ kompiuteriu čia #define FIREBASE_AUTH 'xxxxxxxxxx' // pakeiskite xxxxxxxxxx savo „Firebase“ patvirtinimu čia # apibrėžti WIFI_SSID 'xxxxxxxxxx' // pakeisti xxxxxxxxxx mūsų Wifi jungties pavadinimu #define WIFI_PASSWORD 'xxxxxxxxxx' // pakeisti xxxxxxxxxx savo wifi slaptažodžiu #define valve 34 // prijungti dujų vožtuvą prie šio kaiščio #define spark 35 // prijungti kibirkštį prijunkite prie šio kaiščio
2. negaliojanti sąranka () yra funkcija, veikianti tik vieną kartą, kai įjungiamas mikrovaldiklis arba paspaudžiamas įjungimo mygtukas. Šioje funkcijoje nustatomas duomenų perdavimo greitis, kuris iš esmės yra ryšio greitis bitais per sekundę. Po to ESP plokštė prijungiama prie „Wifi“.
negaliojanti sąranka () {Serial.begin (115200); // nustatyti duomenų perdavimo spartą pinMode (vožtuvas, OUTPUT); // nustatykite kaištį 34, kuris bus naudojamas kaip OUTPUT pinMode (kibirkštis, OUTPUT); // nustatykite kaištį 35, kuris bus naudojamas kaip OUTPUT // prisijungti prie „wifi“. „WiFi.begin“ (WIFI_SSID, WIFI_PASSWORD); Serial.println ('jungiantis'); while (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); vėlavimas (500); } Serial.println (); Serial.print ('prijungtas:'); Serial.println („WiFi.localIP“ ()); „Firebase.begin“ (FIREBASE_HOST, FIREBASE_AUTH); }
3. Tuščia kilpa () yra funkcija, kuri kartojasi cikle. Šioje kilpoje vertės skaitomos iš ugnies bazės ir tiriamos, ar jos yra lygios nuliui arba vienai. Jei reikšmės yra vienos, tada į kaištį siunčiamas HIGH signalas, kuris įjungs relės modulį. Jei vertė lygi nuliui, į ESP kaištį bus išsiųstas LOw signalas, dėl kurio relė bus išjungta.
void loop () {// get value temp1 = Serial.println (Firebase.getFloat ('light')); // gauti dujų vožtuvo temp2 pakeitimo vertę = Serial.println (Firebase.getFloat ('AC')); // gaukite žvakės perjungimo vertę, jei (temp1 == 1) {digitalWrite (vožtuvas, HIGH) // įjunkite vieną relę} kita if (temp1 == 0) {digitalWrite (vožtuvas, LOW) // pasukite išjungti vieną relę} else if (temp2 == 1) {digitalWrite (spark, HIGH) // įjungti dvi reles} else if (temp2 == 0) {digitalWrite (spark, LOW) // išjungti dvi reles} // tvarkyti klaidą, jei (Firebase.failed ()) {Serial.print ('nepavyko nustatyti / numerio:'); „Serial.println“ („Firebase.error“); grįžti; } vėlavimas (1000); }
Tai viskas siandienai. Dabar galite patys pasigaminti savo išmanią viryklę. Ateityje nuolat ieškokite mūsų svetainėje įdomesnių straipsnių.