Mengawal Kompor Anda Dari Telefon Pintar Anda Dengan Menggunakan WiFi

Di dunia moden, jika kita melihat-lihat, kita dapat melihat bahawa semua yang merangkumi elektronik adalah automatik hingga tahap tertentu. Sistem automasi rumah atau rumah pintar sangat biasa berlaku pada masa kini. Dengan menggunakan sistem ini peralatan rumah yang berbeza dapat automatik menggunakan aplikasi mudah alih. Tetapi kebanyakan sistem ini tidak termasuk apa-apa yang mengautomasikan dapur gas anda. Dalam artikel ini, kami akan mengembangkan sistem yang akan membolehkan anda mengendalikan dapur gas anda dengan menggunakan aplikasi mudah alih. Aplikasi ini akan digunakan untuk membuka atau menutup injap gas dari injap utama dan menyalakan palam pencucuh untuk membina api.



Kompor Pintar

Bagaimana Mengautomasikan Kompor Gas Melalui Telefon bimbit Anda?

Sekarang kerana kita mengetahui abstrak projek, mari kita maju dan mengumpulkan maklumat yang berbeza untuk mula bekerja. Kami akan membuat senarai komponen terlebih dahulu dan kemudian menyatukan semua komponen untuk membuat sistem berfungsi.



Langkah 1: Mengumpulkan Komponen

Sebelum memulakan sesuatu projek, jika kita ingin mengelakkan rasa takut terjebak di tengah-tengah projek, kita harus mempunyai senarai lengkap semua komponen yang kita perlukan semasa mengerjakan projek tersebut. Ini adalah pendekatan terbaik yang menjimatkan banyak masa dan usaha. Senarai lengkap semua komponen yang digunakan dalam projek ini diberikan di bawah. Semua komponen ini mudah didapati di pasaran.



  • ESP32
  • Injap Gas untuk Arduino
  • Wayar Pelompat
  • Modul Relay 5V
  • Transistor 2N2222 NPN
  • Perintang 1k-ohm
  • Perintang 10k-ohm
  • Palam Pencucuh 5V

Langkah 2: Membangunkan Aplikasi Android

Oleh kerana kita akan mengawal kompor ini menggunakan aplikasi android, kita perlu mengembangkannya terlebih dahulu. Sebelum ini, kami telah mengembangkan beberapa aplikasi android. Sebelum ini, kami telah membuat permohonan yang hanya terdiri daripada satu butang di dalamnya. Butang ini digunakan untuk menghantar data ke dalam pangkalan data. Sekiranya '1' dimasukkan ke dalam pangkalan data, relay akan dihidupkan dan jika '0' dimasukkan ke dalam pangkalan data, relay akan dimatikan.



Kami akan membuat sedikit pindaan dalam aplikasi ini. Dengan mengikuti prosedur yang sama yang diikuti untuk membuat butang pertama dan menyambungkannya ke firebase, kami akan membuat butang lain yang akan disambungkan ke firebase.

Satu butang akan digunakan untuk membuka dan menutup injap gas dan butang kedua akan digunakan untuk membuat percikan yang akan bertanggungjawab untuk pencucuhan .

Langkah 3: Membuat Litar

Seperti sekarang kita mengetahui inti utama projek ini, marilah kita mengumpulkan semua komponen bersama-sama untuk membuat litar terakhir.



Ambil papan roti dan masukkan Papan ESP32 di dalamnya. Ambil kedua-dua transistor dan perintang dan masukkan ke dalam papan roti sedemikian rupa sehingga transistor dapat digunakan sebagai suis. Ikuti konfigurasi di bawah supaya anda tidak membuat kesilapan semasa menukar.

Transistor sebagai suis

Pada rajah di atas, sambungkan Wain port ke pin dari ESP32 , sambungkan port Vcc ke bekalan 5V luaran dan sambungkan Vo ke modul geganti. Sebab utama kami menggunakan transistor sebagai suis adalah bahawa relay memerlukan 5V untuk beroperasi tetapi ESP32 hanya dapat menyediakan 3.3V. Oleh itu, kita perlu menyediakan 5V luaran ke relay.

Sekarang kita akan menyambungkan modul geganti ke transistor. Pastikan transistor pertama disambungkan ke pin34 modul ESP dan transistor kedua disambungkan ke pin35 modul ESP. Kami akan menggunakan kedua-dua modul relay dalam mod terbuka biasanya. Sambungkan injap gas dan palam pencucuh ke terminal output modul geganti pertama dan kedua masing-masing. Pastikan anda menyambungkan pantat modul geganti yang ditunjukkan dalam gambar di bawah.

Modul Relay

Langkah 4: Bekerja

Inti projek ini adalah ESP32 yang merupakan papan mikrokontroler. Injap gas dan busi disambungkan ke ESP melalui modul geganti. Injap gas pada mulanya ditutup. Apabila dihidupkan dari aplikasi mudah alih, injap gas dihidupkan. Sama juga dengan palam pencucuh. Ia boleh dimatikan atau dimatikan melalui aplikasi mudah alih. Palam pencucuh ini akan disambungkan ke dapur tempat gas dilepaskan. Palam pencucuh ini akan menyalakan api.

Langkah 5: Bermula dengan ESP32

Sekiranya anda belum mengusahakan Arduino IDE sebelumnya, jangan risau kerana langkah demi langkah untuk menyiapkan Arduino IDE ditunjukkan di bawah.

  1. Muat turun versi terbaru dari Arduino IDE dari Arduino.
  2. Sambungkan papan Arduino anda ke PC dan buka Panel Kawalan. Klik pada Perkakasan dan Bunyi. Sekarang dibuka Peranti dan Pencetak dan cari port yang menghubungkan papan anda. Dalam kes saya adalah COM14 tetapi berbeza dalam komputer yang berbeza.

    Mencari Pelabuhan

  3. Klik pada Fail dan kemudian klik pada Pilihan. Salin pautan berikut di URL Pengurus Lembaga Tambahan. ' https://dl.espressif.com/dl/package_esp32_index.json '

    Keutamaan

  4. Sekarang, untuk menggunakan ESP32 dengan Arduino IDE, kita perlu mengimport perpustakaan khas yang akan membolehkan kita membakar kod pada ESP32 dan menggunakannya. kedua-dua perpustakaan ini dilampirkan dalam pautan yang diberikan di bawah. Untuk memasukkan perpustakaan, goto Lakarkan> Sertakan Perpustakaan> Tambahkan Perpustakaan ZIP . Kotak akan muncul. Cari folder ZIP di komputer anda dan klik OK untuk memasukkan folder.

    Sertakan Perpustakaan

  5. Sekarang pergi Lakarkan> Sertakan Perpustakaan> Urus Perpustakaan.

    Urus Perpustakaan

  6. Menu akan dibuka. Di bar carian, taipkan Arduino JSON. Senarai akan muncul. Pasang Arduino JSON oleh Benoit Blanchon.

    Arduino JSON

  7. Sekarang klik pada Alat. Menu lungsur turun akan muncul. Tetapkan papan ke Modul Dev ESP.

    Menetapkan Papan

  8. Klik pada menu Alat sekali lagi dan tetapkan port yang anda perhatikan di panel kawalan sebelumnya.

    Menetapkan Pelabuhan

  9. Sekarang Muat naik kod yang dilampirkan dalam pautan di bawah dan klik pada butang muat naik untuk membakar kod pada mikrokontroler ESP32.

    Muat naik

Jadi sekarang apabila anda akan memuat naik kod, kesalahan mungkin berlaku. Ini adalah ralat yang paling biasa yang mungkin berlaku jika anda menggunakan versi baru dari Arduino IDE dan Arduino JSON. Berikut adalah kesalahan yang mungkin anda lihat di skrin.

Dalam fail yang disertakan dari C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, dari 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 adalah kelas dari ArduinoJson 5. Sila lihat arduinojson.org/upgrade untuk mengetahui cara menaik taraf program anda ke ArduinoJson versi 6 StaticJsonBuffer jsonBuffer; ^ Dalam fail yang disertakan dari C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0, dari 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 adalah kelas dari ArduinoJson 5. Sila lihat arduinojson.org/upgrade untuk mengetahui cara menaik taraf program anda ke ArduinoJson versi 6 mengembalikan StaticJsonBuffer (). ParseObject (_data); ^ Terdapat banyak perpustakaan yang dijumpai untuk 'WiFi.h' Digunakan: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFi Tidak digunakan: C:  Program Files ( x86)  Arduino  library  WiFi Menggunakan perpustakaan WiFi pada versi 1.0 dalam folder: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFi Menggunakan perpustakaan IOXhop_FirebaseESP32-master dalam folder: C:  Users  Pro  Documents  Arduino  library  IOXhop_FirebaseESP32-master (legacy) Menggunakan library HTTPClient pada versi 1.2 dalam folder: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  HTTPClient Menggunakan perpustakaan WiFiClientSecure pada versi 1.0 dalam folder: C:  Users  Pro  AppData  Local  Arduino15  package  esp32  hardware  esp32  1.0.2  library  WiFiClientSecure Menggunakan perpustakaan ArduinoJson di versi 6.12.0 dalam folder: C:  Users  Pro  Documents  Arduino  perpustakaan  ArduinoJson status keluar 1 Ralat menyusun untuk papan Modul Dev ESP32.

Tidak ada yang perlu dikhawatirkan kerana kami dapat menghilangkan kesalahan ini dengan mengikuti beberapa langkah mudah. Kesalahan ini timbul kerana versi baru Arduino JSON mempunyai kelas lain daripada StaticJsonBuffer. Ini adalah kelas JSON 5. Oleh itu, kita boleh menghapuskan ralat ini dengan menurunkan versi Arduino JSON dari IDE Arduino kami. Cukup ke Lakarkan> Sertakan Perpustakaan> Urus Perpustakaan. Carian untuk Arduino JSON oleh Benoit Blanchon yang telah anda pasangkan sebelumnya. Nyahpasang terlebih dahulu dan kemudian tetapkan versi ke 5.13.5. Sekarang kerana kami telah menetapkan Arduino JSON versi lama, pasang semula dan kumpulkan semula kodnya. Kali ini, kod anda akan berjaya disusun.

Untuk memuat turun kod, klik di sini.

Langkah 6: Kod

Kod yang dilampirkan dikomentari dengan baik tetapi masih terdapat beberapa bahagian yang dijelaskan di bawah.

1. Pada awalnya, dua perpustakaan disertakan sehingga WiFi diaktifkan dan papan ESP dapat disambungkan ke pangkalan data firebase. Kemudian host firebase, pengesahan, nama sambungan wifi tempatan anda dan kata laluan sambungan wifi yang sama disertakan. Juga, tentukan pin pada papan ESP yang akan digunakan untuk menyambungkan peranti luaran.

#include // include library untuk menggunakan WiFi #include // include library untuk menyambung ke Firebase #define FIREBASE_HOST 'xxxxxxxxxx' // ganti xxxxxxxxxx oleh host Firebase anda di sini # tentukan FIREBASE_AUTH 'xxxxxxxxxx' // ganti xxxxxxxxxx dengan pengesahan firebase anda di sini # tentukan WIFI_SSID 'xxxxxxxxxx' // ganti xxxxxxxxxx dengan nama sambungan Wifi kami #define WIFI_PASSWORD 'xxxxxxxxxx' // ganti xxxxxxxxxx dengan kata laluan wifi anda #define valve 34 // sambungkan injap gas ke pin ini #define spark 35 // connect spark pasangkan ke pin ini

2. persediaan tidak sah () adalah fungsi yang berjalan hanya sekali apabila pengawal mikro dihidupkan atau butang aktif ditekan. Dalam fungsi ini, kadar baud ditetapkan, yang pada dasarnya adalah kelajuan komunikasi dalam bit sesaat. Selepas itu, papan ESP disambungkan ke Wifi.

persediaan tidak sah () {Serial.begin (115200); // tetapkan baud rate pinMode (injap, OUTPUT); // tetapkan pin 34 untuk digunakan sebagai OUTPUT pinMode (percikan, OUTPUT); // tetapkan pin 35 untuk digunakan sebagai OUTPUT // sambungkan ke wifi. WiFi.begin (WIFI_SSID, WIFI_PASSWORD); Serial.println ('menyambung'); sementara (WiFi.status ()! = WL_CONNECTED) {Serial.print ('.'); kelewatan (500); } Bersiri.println (); Serial.print ('bersambung:'); Serial.println (WiFi.localIP ()); Firebase.begin (FIREBASE_HOST, FIREBASE_AUTH); }

3. Gelung kosong () adalah fungsi yang berjalan berulang kali dalam satu gelung. Dalam gelung ini, nilainya dibaca dari pangkalan api dan diperiksa bahawa jika nol atau satu. Sekiranya nilainya satu, maka isyarat TINGGI dihantar ke pin yang akan mengakibatkan menghidupkan modul geganti. Sekiranya nilainya adalah sifar, isyarat LOw akan dihantar ke pin ESP yang akan mengakibatkan mematikan geganti.

gelung void () {// dapatkan nilai temp1 = Serial.println (Firebase.getFloat ('light')); // dapatkan nilai untuk switcching injap gas temp2 = Serial.println (Firebase.getFloat ('AC')); // dapatkan vau untuk menukar palam pencucuh jika (temp1 == 1) {digitalWrite (injap, TINGGI) // nyalakan relay} lain jika (temp1 == 0) {digitalWrite (injap, RENDAH) // putar mati relay satu} lain jika (temp2 == 1) {digitalWrite (spark, HIGH) // hidupkan relay dua} lain jika (temp2 == 0) {digitalWrite (spark, LOW) // matikan relay dua} // menangani kesilapan jika (Firebase.failed ()) {Serial.print ('setting / number gagal:'); Serial.println (Firebase.error ()); kembali; } kelewatan (1000); }

Itu sahaja untuk hari ini. Sekarang, anda boleh membuat dapur pintar kami sendiri di rumah. Terus periksa laman web kami untuk artikel yang lebih menarik seperti ini pada masa akan datang.