Cara Menggunakan Relay Di ESP32

Cara Menggunakan Relay Di ESP32

Relay adalah komponen elektronik saklar (switch) yang dikendalikan oleh listrik. Relay digunakan untuk mengontrol arus besar menggunakan sinyal arus kecil, seperti sinyal dari mikrokontroler (Arduino, ESP32, dsb).

berikut ini adalah cara memprogram relay di esp32 dengan mudah:

untuk code bisa gunakan kode dibawah ini :

#include <Arduino.h>


int relay = 16;


void relay_on()
{
//Aktif low, dibalik jadi High jika terbalik
digitalWrite(relay ,LOW);
}
void relay_off()
{
digitalWrite(relay ,HIGH);
}


void setup()
{
Serial.begin(9600);
pinMode(relay, OUTPUT);
relay_off();

}
void loop(){
relay_on();
Serial.println("relay ON");
delay(1000);
relay_off();
Serial.println("relay OFF");
delay(1000);


}


๐Ÿ”Œ 1. Inisialisasi dan Deklarasi Pin

#include <Arduino.h>

int relay = 16;
  • #include <Arduino.h>: Menyertakan pustaka Arduino utama (biasanya otomatis ditambahkan oleh IDE).
  • relay = 16: Mendefinisikan bahwa relay dihubungkan ke pin GPIO 16 dari board (misalnya ESP32/ESP8266).

๐Ÿ” 2. Fungsi relay_on() dan relay_off()

void relay_on()
{
  // Aktif low, dibalik jadi HIGH jika terbalik
  digitalWrite(relay, LOW);
}

void relay_off()
{
  digitalWrite(relay, HIGH);
}
  • Relay umumnya “aktif LOW”, artinya:
    • Memberi logika LOW (0V) akan menyalakan relay,
    • Memberi logika HIGH (3.3V/5V) akan mematikan relay.

Jadi fungsi relay_on() akan mengaktifkan relay (menyambungkan arus), dan relay_off() akan mematikannya (memutuskan arus).

Catatan:
Komentar //Aktif low, dibalik jadi High jika terbalik memberi tahu bahwa jika ternyata modul relay yang digunakan aktif HIGH, maka logika LOW/HIGH harus dibalik.


โš™๏ธ 3. Fungsi setup()

void setup()
{
  Serial.begin(9600);        // Inisialisasi komunikasi serial 9600 bps
  pinMode(relay, OUTPUT);    // Set pin relay sebagai OUTPUT
  relay_off();               // Matikan relay di awal program
}
  • Serial digunakan untuk debugging via port USB.
  • Pin 16 disiapkan sebagai output.
  • Relay dimatikan saat board baru dinyalakan.

๐Ÿ” 4. Fungsi loop()

void loop(){
  relay_on();
  Serial.println("relay ON");
  delay(1000); // Tunggu 1 detik

  relay_off();
  Serial.println("relay OFF");
  delay(1000); // Tunggu 1 detik
}
  • Program ini berulang terus:
    1. Nyalakan relay (relay_on()),
    2. Cetak “relay ON” ke Serial Monitor,
    3. Tunggu 1 detik,
    4. Matikan relay (relay_off()),
    5. Cetak “relay OFF”,
    6. Tunggu lagi 1 detik.

๐Ÿ’ก Kesimpulan

Kode ini akan menyalakan dan mematikan relay secara bergantian setiap 1 detik, serta mencetak statusnya ke Serial Monitor.


๐Ÿงช Contoh penggunaan praktis:

  • Menyalakan lampu, pompa air, atau alat elektronik lainnya selama 1 detik, lalu mematikannya 1 detik, dan mengulang terus.
  • Bisa juga digunakan untuk testing apakah relay berfungsi dengan benar.

untuk diskusi bisa kontak dibawah ini :

Sosial media :