Modul Relai ESP32 – Mengontrol Peralatan AC (Server Web)

Menggunakan relai dengan ESP32 adalah cara yang bagus untuk mengontrol peralatan rumah tangga AC dari jarak jauh. Tutorial ini menjelaskan cara mengontrol modul relai dengan ESP32. Kami akan melihat cara kerja modul relai, cara menghubungkan relai ke ESP32 dan membangun server web untuk mengontrol relai dari jarak jauh (atau relai sebanyak yang Anda inginkan).

Tonton Video Tutorialnya

Tonton tutorial video berikut atau terus membaca halaman ini untuk instruksi tertulis dan semua sumber daya.

Memperkenalkan Relay

Relai adalah sakelar yang dioperasikan secara listrik dan seperti sakelar lainnya, relai dapat dihidupkan atau dimatikan, membiarkan arus mengalir atau tidak. Ini dapat dikontrol dengan tegangan rendah, seperti 3.3V yang disediakan oleh GPIO ESP32 dan memungkinkan kita untuk mengontrol tegangan tinggi seperti 12V, 24V atau tegangan listrik (230V di Eropa dan 120V di AS).

Modul Relai 1, 2, 4, 8, 16 Saluran

Ada modul relai yang berbeda dengan jumlah saluran yang berbeda. Anda dapat menemukan modul relai dengan satu, dua, empat, delapan, dan bahkan enam belas saluran. Jumlah saluran menentukan jumlah keluaran yang dapat kami kendalikan.

Ada modul relai yang elektromagnetnya dapat ditenagai oleh 5V dan dengan 3.3V. Keduanya dapat digunakan dengan ESP32 – Anda dapat menggunakan pin VIN (yang menyediakan 5V) atau pin 3.3V.

Selain itu, beberapa dilengkapi dengan optocoupler internal yang menambahkan "lapisan" perlindungan ekstra, yang secara optik mengisolasi ESP32 dari sirkuit relai.

Dapatkan modul relai:

    Modul relai 2 saluran 5V (dengan optocoupler)

    Modul relai 5V 1 saluran (dengan optocoupler)

    Modul relai 5V 8 saluran (dengan optocoupler)

    Modul relai 5V 16 saluran (dengan optocoupler)

    Modul relai 3.3V 1 saluran (dengan optocoupler)

Pinout Relay

Untuk tujuan demonstrasi, mari kita lihat pinout modul relai 2 saluran. Menggunakan modul relai dengan jumlah saluran yang berbeda serupa.

Di sisi kiri, ada dua set tiga soket untuk menghubungkan tegangan tinggi, dan pin di sisi kanan (tegangan rendah) terhubung ke GPIO ESP32.

Koneksi Tegangan Listrik

Modul relai yang ditunjukkan pada foto sebelumnya memiliki dua konektor, masing-masing dengan tiga soket: umum (COM), Biasanya Tertutup (NC), dan Biasanya Terbuka (NO).

    COM: hubungkan arus yang ingin Anda kendalikan (tegangan listrik).

    NC (Normally Closed): konfigurasi yang biasanya tertutup digunakan bila Anda ingin relai ditutup secara default. NC adalah pin COM yang terhubung, artinya arus mengalir kecuali jika Anda mengirim sinyal dari ESP32 ke modul relai untuk membuka rangkaian dan menghentikan aliran arus.

    NO (Normally Open): konfigurasi yang biasanya terbuka bekerja sebaliknya: tidak ada koneksi antara pin NO dan COM, sehingga sirkuit terputus kecuali Anda mengirim sinyal dari ESP32 untuk menutup sirkuit.

Pin Kontrol

Sisi tegangan rendah memiliki satu set empat pin dan satu set tiga pin. Set pertama terdiri dari VCC dan GND untuk menyalakan modul, dan input 1 (IN1) dan input 2 (IN2) untuk mengontrol relai bawah dan atas, masing-masing.

Jika modul relai Anda hanya memiliki satu saluran, Anda hanya akan memiliki satu pin IN. Jika Anda memiliki empat saluran, Anda akan memiliki empat pin IN, dan seterusnya.

Sinyal yang Anda kirim ke pin IN, menentukan apakah relai aktif atau tidak. Relai dipicu ketika input berjalan di bawah sekitar 2V. Ini berarti Anda akan memiliki skenario berikut:

1. Konfigurasi Biasanya Tertutup (NC):

    • Sinyal TINGGI – arus mengalir

    • Sinyal RENDAH – arus tidak mengalir

2. Konfigurasi Biasanya Terbuka (NO):

    • Sinyal TINGGI – arus tidak mengalir

    • Sinyal RENDAH – arus mengalir

Anda harus menggunakan konfigurasi yang biasanya tertutup ketika arus harus mengalir sebagian besar waktu, dan Anda hanya ingin menghentikannya sesekali.

Gunakan konfigurasi yang biasanya terbuka ketika Anda ingin arus mengalir sesekali (misalnya, menyalakan lampu sesekali).

Pilihan Catu Daya

Set pin kedua terdiri dari pin GND, VCC, dan JD-VCC. Pin JD-VCC memberi daya pada elektromagnet relai. Perhatikan bahwa modul memiliki tutup jumper yang menghubungkan pin VCC dan JD-VCC; yang ditampilkan di sini berwarna kuning, tetapi warna Anda mungkin berbeda.

Dengan tutup jumper aktif, pin VCC dan JD-VCC terhubung. Itu berarti elektromagnet relai dialiri langsung dari pin power ESP32, sehingga modul relai dan rangkaian ESP32 tidak terisolasi secara fisik satu sama lain.

Tanpa tutup jumper, Anda perlu menyediakan sumber daya independen untuk menyalakan elektromagnet relai melalui pin JD-VCC. Konfigurasi itu secara fisik mengisolasi relai dari ESP32 dengan optocoupler bawaan modul, yang mencegah kerusakan pada ESP32 jika terjadi lonjakan listrik.

Menghubungkan Modul Relay ke ESP32

Hubungkan modul relai ke ESP32 seperti yang ditunjukkan pada diagram berikut. Diagram menunjukkan pengkabelan untuk modul relai 2 saluran, pengkabelan dengan jumlah saluran yang berbeda serupa.

Peringatan: dalam contoh ini, kita berurusan dengan tegangan listrik. Penyalahgunaan dapat mengakibatkan cedera serius. Jika Anda tidak terbiasa dengan tegangan listrik, mintalah seseorang yang akan membantu Anda. Saat memprogram ESP atau memasang kabel sirkuit Anda, pastikan semuanya terputus dari tegangan listrik.

Atau, Anda dapat menggunakan sumber daya 12V untuk mengontrol peralatan 12V.

Dalam contoh ini, kami mengendalikan lampu. Kami hanya ingin menyalakan lampu sesekali, jadi lebih baik menggunakan konfigurasi yang biasanya terbuka.

Kami menghubungkan pin IN1 ke GPIO 26, Anda dapat menggunakan GPIO lain yang sesuai. Lihat Panduan Referensi GPIO ESP32.

Mengontrol Modul Relay dengan ESP32 – Arduino Sketch

Kode untuk mengontrol relai dengan ESP32 semudah mengontrol LED atau output lainnya. Dalam contoh ini, karena kami menggunakan konfigurasi yang biasanya terbuka, kami perlu mengirim sinyal RENDAH untuk membiarkan arus mengalir, dan sinyal TINGGI untuk menghentikan aliran arus.

Kode berikut akan menyalakan lampu Anda selama 10 detik dan mematikannya selama 10 detik lagi.



Cara Kerja Kode

Tentukan pin yang terhubung dengan pin IN relay.

Dalam setup(), tentukan relai sebagai output.

Di loop(), kirim sinyal RENDAH untuk membiarkan arus mengalir dan menyalakan lampu.

Jika Anda menggunakan konfigurasi yang biasanya tertutup, kirim sinyal TINGGI untuk menyalakan lampu. Kemudian, tunggu 5 detik.

Hentikan aliran arus dengan mengirimkan sinyal TINGGI ke pin relai. Jika Anda menggunakan konfigurasi yang biasanya tertutup, kirim sinyal RENDAH untuk menghentikan aliran arus.

Kontrol Beberapa Relay dengan Server Web ESP32

Di bagian ini, kami telah membuat contoh server web yang memungkinkan Anda untuk mengontrol relai sebanyak yang Anda inginkan melalui server web apakah mereka dikonfigurasi sebagai biasanya dibuka atau ditutup secara normal. Anda hanya perlu mengubah beberapa baris kode untuk menentukan jumlah relai yang ingin Anda kendalikan dan penetapan pin.

Untuk membangun server web ini, kami menggunakan library ESPAsyncWebServer.

Memasang Library ESPAsyncWebServer

Ikuti langkah-langkah selanjutnya untuk menginstal perpustakaan ESPAsyncWebServer:

    Klik di sini untuk mengunduh perpustakaanESPAsyncWebServer. Anda harus memiliki folder .zip di folder Unduhan Anda

    • Buka zip folder .zip dan Anda akan mendapatkan folder master ESPAsyncWebServer

    • Ganti nama folder Anda dari ESPAsyncWebServer-master menjadi ESPAsyncWebServer

    • Pindahkan folder ESPAsyncWebServer ke folder perpustakaan instalasi Arduino IDE Anda

Atau, di Arduino IDE Anda, Anda bisa pergi ke Sketch > Include Library > Add .ZIP library… dan pilih library yang baru saja Anda unduh.

Menginstal Pustaka TCP Async untuk ESP32

Library ESPAsyncWebServer memerlukan pustaka AsyncTCP agar berfungsi. Ikuti langkah-langkah selanjutnya untuk menginstal perpustakaan itu:

    Klik di sini untuk mengunduh pustakaAsyncTCP. Anda harus memiliki folder .zip di folder Unduhan Anda

    • Buka zip folder .zip dan Anda akan mendapatkan folder master AsyncTCP

    • Ganti nama folder Anda dari AsyncTCP-master menjadi AsyncTCP

    • Pindahkan folder AsyncTCP ke folder perpustakaan instalasi Arduino IDE Anda

    • Terakhir, buka kembali Arduino IDE Anda

Atau, di Arduino IDE Anda, Anda bisa pergi ke Sketch > Include Library > Add .ZIP library… dan pilih library yang baru saja Anda unduh.

Setelah menginstal perpustakaan yang diperlukan, salin kode berikut ke Arduino IDE Anda.










Tentukan Konfigurasi Relai

Ubah variabel berikut untuk menunjukkan apakah Anda menggunakan relai dalam konfigurasi biasanya terbuka (NO) atau biasanya tertutup (NC). Setel variabel RELAY_NO menjadi true untuk os yang biasanya terbuka setel ke false untuk yang biasanya tertutup.

Tentukan Jumlah Relai (Saluran)

Anda dapat menentukan jumlah relai yang ingin Anda kontrol pada variabel NUM_RELAYS. Untuk tujuan demonstrasi, kami menyetelnya ke 5.

Tentukan Tugas Pin Relay

Dalam variabel array berikut, Anda dapat menentukan GPIO ESP32 yang akan mengontrol relai:

Jumlah relai yang disetel pada variabel NUM_RELAYS harus sesuai dengan jumlah GPIO yang ditetapkan dalam larik relaiGPIO.

Kredensial Jaringan

Masukkan kredensial jaringan Anda dalam variabel berikut.

Pengkabelan 8 Saluran Relay ke ESP32

Untuk tujuan demonstrasi, kami mengendalikan 5 saluran relai. Sambungkan ESP32 ke modul relai seperti yang ditunjukkan pada diagram skema berikut.

Demonstrasi

Setelah melakukan perubahan yang diperlukan, unggah kode ke ESP32 Anda.

Buka Serial Monitor pada baud rate 115200 dan tekan tombol ESP32 EN untuk mendapatkan alamat IP-nya.

Kemudian, buka browser di jaringan lokal Anda dan ketik alamat IP ESP32 untuk mendapatkan akses ke server web.

Anda harus mendapatkan sesuatu sebagai berikut dengan tombol sebanyak jumlah relai yang telah Anda tentukan dalam kode Anda.

Sekarang, Anda dapat menggunakan tombol untuk mengontrol relai Anda dari jarak jauh menggunakan ponsel cerdas Anda.

Lampiran untuk Keamanan

Untuk tugas akhir, pastikan Anda menempatkan modul relay dan ESP di dalam enklosur untuk menghindari pin AC terbuka.

Membungkus

Menggunakan relai dengan ESP32 adalah cara yang bagus untuk mengontrol peralatan rumah tangga AC dari jarak jauh. Anda juga dapat membaca Panduan kami yang lain untuk mengontrol Modul Relai dengan ESP8266.

Mengontrol relai dengan ESP32 semudah mengontrol output lainnya, Anda hanya perlu mengirim sinyal TINGGI dan RENDAH seperti yang Anda lakukan untuk mengontrol LED.

Anda dapat menggunakan contoh server web kami yang mengontrol output untuk mengontrol relai. Anda hanya perlu memperhatikan konfigurasi yang Anda gunakan. Jika Anda menggunakan konfigurasi yang biasanya terbuka, relai bekerja dengan logika terbalik. Anda dapat menggunakan contoh server web berikut untuk mengontrol relai Anda:

    Server Web ESP32 – Arduino IDE

    Server Web ESP32 menggunakan SPIFFS(output kontrol)

     Server Web MicroPython ESP32/ESP8266 –Output Kontrol

Pelajari lebih lanjut tentang ESP32 dengan sumber daya kami:

    Belajar ESP32 dengan Arduino IDE (Kursusvideo + eBook)

    Pemrograman MicroPython dengan ESP32 danESP8266

    Sumber daya ESP32 lainnya…

Sumber : randomnerdtutorials.com  

Posting Komentar

0 Komentar