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:
Relay 1:
VCC relay 1 ke 5V Arduino
GND relay 1 ke GND Arduino
IN relay 1 ke Digital Pin 7 Arduino
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:
Putuskan kabel Line/Phase (Api) dari sumber listrik yang menuju ke perangkat AC Anda.
Hubungkan satu ujung kabel Line/Phase yang putus ke terminal COM pada relay.
Hubungkan ujung kabel Line/Phase yang lain (yang menuju ke perangkat) ke terminal NO pada relay.
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.
// --- 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:
const int relay1Pin = 7;
danconst int relay2Pin = 8;
:Mendefinisikan pin digital Arduino yang akan mengontrol setiap relay. Anda bisa mengubahnya sesuai kebutuhan.
pinMode(relay1Pin, OUTPUT);
danpinMode(relay2Pin, OUTPUT);
:Mengatur kedua pin ini sebagai
OUTPUT
, karena Arduino akan mengirimkan sinyal ke relay.
digitalWrite(relay1Pin, HIGH);
dandigitalWrite(relay2Pin, HIGH);
disetup()
:Ini adalah bagian penting. Kebanyakan modul relay (terutama yang berwarna biru) adalah "aktif LOW". Artinya, ketika pin
IN
pada modul relay menerima sinyalLOW
dari Arduino, relay akan ON (mengaktifkan sakelar). Sebaliknya, sinyalHIGH
akan membuat relay OFF.Oleh karena itu, di
setup()
, kita mengatur kedua pin keHIGH
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.
Logika di
loop()
:digitalWrite(pin, LOW);
untuk ON: Untuk mengaktifkan relay (menutup sirkuit AC), kita mengirim sinyalLOW
ke pin kontrol relay (jika aktif LOW).digitalWrite(pin, HIGH);
untuk OFF: Untuk menonaktifkan relay (membuka sirkuit AC), kita mengirim sinyalHIGH
ke pin kontrol relay.delay()
: Memberikan jeda antar perubahan status relay agar Anda bisa melihat efeknya pada perangkat AC yang terhubung.
Sebelum Mengunggah Program:
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.
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".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.
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.
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
Posting Komentar