Program Arduino untuk Mengontrol 2 Buah Relay AC

 Mari kita buat program Arduino untuk mengontrol dua buah relay AC. Relay adalah sakelar elektronik yang memungkinkan Arduino (yang beroperasi pada tegangan rendah) untuk mengendalikan perangkat yang menggunakan tegangan tinggi, seperti peralatan AC (lampu, kipas, dll.).

Peringatan Penting: Bekerja dengan tegangan AC (arus bolak-balik) berpotensi sangat berbahaya dan dapat menyebabkan cedera serius atau bahkan fatal jika tidak dilakukan dengan benar. Pastikan Anda memiliki pemahaman dasar tentang keselamatan listrik atau minta bantuan dari orang yang berpengalaman.


Program Arduino untuk Mengontrol 2 Buah Relay AC

Program ini akan membuat kedua relay menyala dan mati secara bergantian, atau Anda bisa memodifikasinya untuk mengontrolnya secara terpisah.

Komponen yang Dibutuhkan:

  • Arduino Board (misalnya Arduino Uno)

  • 2x Modul Relay 1-Channel (modul relay biasanya sudah memiliki optocoupler dan transistor pemicu, sehingga aman dihubungkan langsung ke Arduino)

  • Kabel Jumper

  • Power Supply Eksternal (jika relay membutuhkan 5V/12V terpisah) - Kebanyakan modul relay 5V bisa ditenagai langsung dari Arduino, tapi untuk keandalan, catu daya terpisah untuk relay lebih baik.

Skema Pengkabelan (Sisi Arduino ke Relay):

Setiap modul relay 1-channel biasanya memiliki pin:

  • VCC / VCCIN: Ke pin 5V Arduino.

  • GND: Ke pin GND Arduino.

  • IN (Input Signal): Ke Digital Pin Arduino.

Misalnya:

  1. Relay 1:

    • VCC relay 1 ke 5V Arduino

    • GND relay 1 ke GND Arduino

    • IN relay 1 ke Digital Pin 7 Arduino

  2. Relay 2:

    • VCC relay 2 ke 5V Arduino

    • GND relay 2 ke GND Arduino

    • IN relay 2 ke Digital Pin 8 Arduino

Pengkabelan Sisi AC (Sangat Hati-hati!):

  • Penting: Selalu putuskan aliran listrik ke perangkat AC sebelum mengkabel relay.

  • Relay memiliki tiga terminal di sisi AC: COM (Common), NO (Normally Open), dan NC (Normally Closed).

  • Untuk mengontrol beban seperti lampu yang menyala saat relay aktif:

    1. Putuskan kabel Line/Phase (Api) dari sumber listrik yang menuju ke perangkat AC Anda.

    2. Hubungkan satu ujung kabel Line/Phase yang putus ke terminal COM pada relay.

    3. Hubungkan ujung kabel Line/Phase yang lain (yang menuju ke perangkat) ke terminal NO pada relay.

    4. Ulangi langkah ini untuk relay kedua dengan perangkat AC yang berbeda.

  • Terminal Netral dari perangkat AC biasanya tidak melewati relay dan langsung terhubung ke sumber listrik Netral.


Arduino
// --- Konfigurasi Pin Relay ---
const int relay1Pin = 7; // Pin digital untuk mengontrol Relay 1
const int relay2Pin = 8; // Pin digital untuk mengontrol Relay 2

void setup() {
  // Mengatur pin relay sebagai OUTPUT
  pinMode(relay1Pin, OUTPUT);
  pinMode(relay2Pin, OUTPUT);

  // Memastikan kedua relay dalam kondisi OFF (tidak aktif) saat startup
  // Kebanyakan modul relay aktif LOW, artinya LOW membuat relay ON, HIGH membuat OFF
  // Sesuaikan ini jika modul relay Anda aktif HIGH (maka gunakan LOW untuk OFF)
  digitalWrite(relay1Pin, HIGH); // Relay 1 OFF
  digitalWrite(relay2Pin, HIGH); // Relay 2 OFF

  Serial.begin(9600);
  Serial.println("Program Kontrol 2 Relay AC Dimulai");
}

void loop() {
  // --- Relay 1 ON, Relay 2 OFF ---
  Serial.println("Relay 1 ON, Relay 2 OFF");
  digitalWrite(relay1Pin, LOW);  // Aktifkan Relay 1 (jika aktif LOW)
  digitalWrite(relay2Pin, HIGH); // Nonaktifkan Relay 2
  delay(3000); // Jeda 3 detik

  // --- Relay 1 OFF, Relay 2 ON ---
  Serial.println("Relay 1 OFF, Relay 2 ON");
  digitalWrite(relay1Pin, HIGH); // Nonaktifkan Relay 1
  digitalWrite(relay2Pin, LOW);  // Aktifkan Relay 2 (jika aktif LOW)
  delay(3000); // Jeda 3 detik

  // --- Kedua Relay OFF ---
  Serial.println("Kedua Relay OFF");
  digitalWrite(relay1Pin, HIGH); // Nonaktifkan Relay 1
  digitalWrite(relay2Pin, HIGH); // Nonaktifkan Relay 2
  delay(2000); // Jeda 2 detik

  // --- Kedua Relay ON (Hati-hati, pastikan tidak ada konflik beban!) ---
  // Gunakan ini dengan hati-hati. Pastikan perangkat yang terhubung aman untuk menyala bersamaan.
  // Serial.println("Kedua Relay ON");
  // digitalWrite(relay1Pin, LOW);  // Aktifkan Relay 1
  // digitalWrite(relay2Pin, LOW);  // Aktifkan Relay 2
  // delay(3000); // Jeda 3 detik
}

Penjelasan Kode:

  1. const int relay1Pin = 7; dan const int relay2Pin = 8;:

    • Mendefinisikan pin digital Arduino yang akan mengontrol setiap relay. Anda bisa mengubahnya sesuai kebutuhan.

  2. pinMode(relay1Pin, OUTPUT); dan pinMode(relay2Pin, OUTPUT);:

    • Mengatur kedua pin ini sebagai OUTPUT, karena Arduino akan mengirimkan sinyal ke relay.

  3. digitalWrite(relay1Pin, HIGH); dan digitalWrite(relay2Pin, HIGH); di setup():

    • Ini adalah bagian penting. Kebanyakan modul relay (terutama yang berwarna biru) adalah "aktif LOW". Artinya, ketika pin IN pada modul relay menerima sinyal LOW dari Arduino, relay akan ON (mengaktifkan sakelar). Sebaliknya, sinyal HIGH akan membuat relay OFF.

    • Oleh karena itu, di setup(), kita mengatur kedua pin ke HIGH untuk memastikan kedua relay dalam kondisi OFF saat Arduino pertama kali dinyalakan.

    • Jika modul relay Anda "aktif HIGH" (jarang), maka Anda perlu membalik logika ini (misalnya, LOW untuk OFF, HIGH untuk ON). Periksa datasheet atau tes modul relay Anda untuk memastikannya.

  4. Logika di loop():

    • digitalWrite(pin, LOW); untuk ON: Untuk mengaktifkan relay (menutup sirkuit AC), kita mengirim sinyal LOW ke pin kontrol relay (jika aktif LOW).

    • digitalWrite(pin, HIGH); untuk OFF: Untuk menonaktifkan relay (membuka sirkuit AC), kita mengirim sinyal HIGH ke pin kontrol relay.

    • delay(): Memberikan jeda antar perubahan status relay agar Anda bisa melihat efeknya pada perangkat AC yang terhubung.

Sebelum Mengunggah Program:

  1. PRIORITAS UTAMA: KESELAMATAN LISTRIK!

    • Pastikan Anda memahami cara kerja relay dan sirkuit AC.

    • Selalu matikan sumber listrik utama sebelum melakukan atau memeriksa pengkabelan di sisi AC relay.

    • Pastikan semua sambungan kabel di sisi AC terisolasi dengan baik dan tidak ada kabel telanjang yang terpapar.

    • Jauhkan tangan Anda dari bagian AC yang dialiri listrik saat program berjalan.

    • Gunakan wadah non-konduktif untuk proyek Anda.

  2. Periksa Tipe Modul Relay: Pastikan Anda tahu apakah modul relay Anda aktif LOW atau aktif HIGH. Ini sangat penting untuk memastikan relay berfungsi sesuai harapan. Jika Anda tidak yakin, biasanya ada indikator LED pada modul relay; jika LED menyala saat relay "klik" (aktif), maka logika digitalWrite yang ada di atas sudah benar untuk "aktif LOW".

  3. Kebutuhan Daya Relay: Jika Anda menggunakan banyak relay atau relay yang lebih besar, pertimbangkan untuk memberi daya pada modul relay dari sumber daya eksternal 5V/12V yang terpisah (dengan menghubungkan GND dari sumber eksternal tersebut ke GND Arduino) untuk mencegah Arduino kekurangan daya.

  4. Pilih Board dan Port: Di Arduino IDE, pastikan Anda telah memilih board Arduino yang benar (misalnya "Arduino Uno") di Tools > Board dan port serial yang benar di Tools > Port.

  5. Unggah Kode: Klik tombol "Upload" di Arduino IDE.

Setelah diunggah, Anda akan mendengar suara "klik" dari relay dan melihat perangkat AC yang terhubung menyala/mati sesuai dengan siklus program.

Komentar