Relay adalah saklar elektromagnetik yang memungkinkan Arduino mengontrol perangkat berdaya besar seperti lampu atau kipas 220V. Cara menggunakan relay di Arduino cukup sederhana: hubungkan pin sinyal ke pin digital, beri daya sesuai spesifikasi modul, lalu kendalikan lewat kode. Di bagian 220V inilah banyak orang meremehkan risiko sengatan listrik dan kebakaran.
Apa Itu Modul Relay dan Mengapa Arduino Butuh Modul Ini
Pin digital Arduino hanya mampu mengalirkan arus sekitar 20 mA pada tegangan 5V. Arus segitu tidak cukup menyalakan lampu bohlam, apalagi pompa air. Relay bekerja sebagai perantara: kumparan elektromagnetik di dalamnya menggerakkan kontak mekanis yang bisa dilewati arus besar.
Modul relay yang dijual untuk Arduino biasanya sudah dilengkapi optocoupler sebagai pemisah antara sisi kontrol dan sisi beban. Pemisah ini tidak membuat kabel 220V jadi aman disentuh, tapi mengurangi risiko gangguan dari sisi beban masuk ke board.
Modul umumnya tersedia dalam konfigurasi 1, 2, 4, atau 8 kanal. Untuk proyek pertama, pakai modul 1 kanal karena lebih murah dan wiring lebih sederhana.
Memahami Pin pada Modul Relay
Setiap kanal relay punya tiga terminal sekrup untuk beban: COM (common), NO (normally open), dan NC (normally closed).
- COM adalah titik masuk tegangan beban.
- NO terputus saat relay belum aktif, tersambung saat aktif. Pakai ini untuk kebanyakan proyek.
- NC tersambung saat relay belum aktif, terputus saat aktif. Cocok untuk aplikasi yang harus tetap menyala ketika Arduino mati.
Di sisi kontrol ada pin VCC, GND, dan IN. Beberapa modul menambahkan jumper terpisah antara VCC logika dan VCC kumparan. Kalau ada jumper itu, lepas hanya jika kamu punya sumber daya terpisah untuk kumparan.
Wiring Relay ke Arduino
Untuk modul 1 kanal yang umum dipakai, sambungannya seperti ini:
| Modul Relay | Arduino Uno |
|---|---|
| VCC | 5V |
| GND | GND |
| IN | Pin digital 7 |
Cek dulu apakah modulmu aktif HIGH atau aktif LOW. Modul murah dari pasaran sering memakai logika terbalik, artinya relay justru menyala ketika pin diberi sinyal LOW. Cara cepat mengetahuinya: beri daya, lalu lihat apakah LED indikator langsung menyala atau tidak.
Kalau kamu berencana menambahkan indikator suara saat relay aktif, pemasangan buzzer perlu diperhatikan supaya tidak mengganggu pembacaan pin. Panduan [cara memasang buzzer di Arduino](https://snootlab.com/cara-memasang-buzzer-di-arduino/) membahas polaritas dan resistor yang tepat.
Perhatikan juga panjang kabel sinyal. Kabel IN yang terlalu panjang dan berdekatan dengan kabel 220V bisa memicu relay menyala sendiri karena noise. Jalankan kabel kontrol dan kabel beban di jalur yang berbeda.
Kode Dasar Kontrol Relay
Sketsa paling sederhana: menyalakan relay selama dua detik, lalu mematikannya. Asumsi modul aktif HIGH.
const int relayPin = 7;
void setup() {
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW);
}
void loop() {
digitalWrite(relayPin, HIGH);
delay(2000);
digitalWrite(relayPin, LOW);
delay(2000);
}
Jika modulmu aktif LOW, balik nilai HIGH dan LOW pada dua baris digitalWrite di dalam loop(). Jangan mengubah baris di setup(), karena relay harus dipastikan mati saat board baru dinyalakan.
Untuk kontrol lewat tombol, ganti delay() dengan pola membaca pin tombol dan menyimpan status relay di variabel. Fungsi delay() akan memblokir seluruh program selama dua detik, jadi tombol tidak akan merespons.
Mengendalikan Relay dengan Sensor
Kombinasi relay dan sensor adalah pola yang sering dipakai di proyek otomatisasi rumah. Sensor PIR bisa menyalakan lampu saat ada gerakan, sementara LDR bisa mematikan lampu saat ruangan sudah terang.
Untuk proyek deteksi gerakan, sambungan PIR ke Arduino perlu memperhatikan waktu tunggu sensor supaya relay tidak berkedip saat orang lewat cepat. Langkahnya ada di panduan [memasang sensor PIR di Arduino](https://snootlab.com/panduan-memasang-sensor-pir-arduino/).
Saat proyek mulai melibatkan banyak modul, jalur kabel akan menumpuk. Beberapa kesalahan wiring yang paling sering membuat relay tidak mau bekerja, misalnya GND tidak disatukan atau kabel sinyal tertukar, dibahas di [7 kesalahan wiring Arduino yang bikin proyek gagal](https://snootlab.com/kesalahan-wiring-arduino-pemula/).
Pengamanan Sisi 220V yang Tidak Boleh Dilewatkan
Tegangan rumah bisa mematikan. Kalau kamu belum pernah bekerja dengan listrik AC, kerjakan bagian 220V bersama orang yang berpengalaman atau pakai modul relay yang sudah terpasang di dalam kotak tertutup.
- Selalu cabut steker dari stopkontak sebelum menyentuh kabel beban.
- Gunakan kabel dengan ukuran sesuai arus beban, bukan kabel jumper.
- Pasang relay di dalam kotak isolasi, hanya lubang kabel yang terbuka.
- Pastikan sambungan sekrup benar-benar kencang, kabel longgar memicu panas.
- Jangan meletakkan modul relay di atas permukaan logam atau dekat air.
Batas arus kontak relay biasanya tertulis di badan modul, misalnya 10A pada 250VAC. Beban induktif seperti pompa dan motor menarik arus lebih besar saat start, jadi beri ruang aman. Untuk beban besar, gunakan relay tambahan atau kontaktor yang memang dirancang untuk itu.
Jika proyekmu nanti terhubung ke jaringan dan mengirim data, kebiasaan mengamankan perangkat juga berlaku di sisi jaringan. Prinsip serupa soal melindungi data dibahas dalam artikel tentang [cara melindungi data pribadi di aplikasi pinjaman online](https://offnow.org/cara-melindungi-data-pribadi-aplikasi-pinjaman-online/), dan untuk menguji apakah perangkat IoT-mu benar-benar online, kamu bisa membaca panduan [memilih server ping terbaik untuk uji koneksi](https://just-ping.com/memilih-server-ping-terbaik-uji-koneksi/).
Alternatif yang Lebih Aman: Solid State Relay
Solid state relay (SSR) tidak punya kontak mekanis, jadi tidak ada percikan saat berpindah. Umurnya lebih panjang dan lebih senyap, tapi harganya lebih mahal dan tetap menghasilkan panas saat bekerja. SSR juga umumnya hanya untuk beban AC atau DC tertentu, jadi cek spesifikasinya sebelum membeli.
Untuk proyek yang sering berpindah status, misalnya pengatur suhu dengan siklus nyala-mati cepat, SSR lebih cocok dibanding relay mekanis.
Ringkasan
Relay memberi Arduino kemampuan mengontrol perangkat listrik rumah, asalkan wiring sisi kontrol dan sisi beban dipisahkan dengan rapi. Tentukan dulu apakah modulmu aktif HIGH atau LOW, pastikan GND disatukan, dan jangan pernah mengerjakan sisi 220V dalam keadaan tersambung ke stopkontak. Mulailah dari beban kecil seperti lampu LED 5 watt sebelum naik ke perangkat berdaya lebih besar.
Pertanyaan yang Sering Diajukan
Kenapa relay saya terus menyala padahal kode sudah LOW?
Kemungkinan besar modulmu aktif LOW. Coba balik logikanya, atau lepas kabel IN dari Arduino, lalu lihat apakah relay tetap menyala. Kalau tetap menyala, jumper VCC pada modul mungkin perlu dilepas dan kumparan diberi daya terpisah.
Bisakah satu Arduino mengontrol banyak relay sekaligus?
Bisa, selama total arus kumparan tidak melebihi kemampuan sumber daya. Modul 4 kanal yang menyalakan semua relay bersamaan bisa menarik arus cukup besar. Pakai adaptor 5V terpisah untuk modul dan satukan GND-nya dengan Arduino.
Apakah relay bisa dipakai untuk mengontrol kipas DC 12V?
Bisa. Hubungkan kutub positif adaptor 12V ke COM, kutub positif kipas ke NO, dan negatif kipas langsung ke negatif adaptor. Jangan lupa menghubungkan GND adaptor 12V ke GND Arduino hanya jika kamu memakai satu sumber daya, dan hindari menyambungkan dua adaptor berbeda tanpa pemisahan yang benar.