Tutorial ini adalah bagian dari: Mengontrol Relay Menggunakan Arduino
Ini adalah kumpulan video yang berkaitan dengan estafet. Tautan ke video lain ada di bawah artikel ini.
Menggunakan Reed Switch untuk Mengontrol Relay dan Beban AC/DC dengan Arduino
Dalam tutorial ini, kita akan mengeksplorasi cara menggunakan sakelar buluh (reed switch) bersama dengan Arduino untuk mengendalikan relai yang dapat mengelola beban AC dan DC. Sakelar buluh berfungsi sebagai sensor magnetik, memungkinkan kita memicu relai berdasarkan kedekatan magnet. Konfigurasi ini sangat cocok untuk aplikasi seperti alarm, lampu otomatis, atau skenario apa pun di mana Anda ingin mengendalikan perangkat berdasarkan ada atau tidaknya medan magnet. Hasilnya akan berupa rangkaian yang berfungsi penuh yang dapat menyalakan atau mematikan lampu atau alarm tergantung pada keadaan sakelar buluh.


Saat kita membangun proyek ini, kita akan membahas komponen-komponen kunci yang terlibat, termasuk sakelar buluh, relai, dan Arduino. Sakelar buluh memiliki tiga pin: VCC (daya), GND (ground), dan OUTPUT (sinyal). Ketika magnet mendekat, sakelar menutup, memungkinkan pin sinyal menjadi HIGH, yang kemudian dapat memicu relai. Relai berfungsi sebagai sakelar untuk beban tegangan tinggi, sehingga cocok untuk mengendalikan perangkat seperti lampu atau alarm.
Untuk demonstrasi visual dan klarifikasi lebih lanjut, pastikan untuk menonton video terkait di (dalam video pada 00:00).

Penjelasan Perangkat Keras
Komponen utama proyek ini meliputi sakelar buluh, modul relai, dan papan Arduino. Sakelar buluh adalah sensor magnetik yang menutup kontaknya ketika magnet berada di dekatnya, memungkinkan arus mengalir melalui pin OUTPUT. Pin ini mengirim sinyal ke relai, yang dapat mengendalikan perangkat bertegangan tinggi dengan aman.
Modul relai dirancang untuk mengendalikan beban yang lebih besar. Modul ini memiliki tiga koneksi utama: Common (COM), Normally Open (NO), dan Normally Closed (NC). Ketika relai diaktifkan oleh Arduino, relai menghubungkan pin COM ke pin NO, memungkinkan arus mengalir ke perangkat yang terhubung. Pengaturan ini memungkinkan kontrol yang serbaguna atas berbagai perangkat listrik tanpa menghubungkan Arduino secara langsung dengan tegangan tinggi. Amplifier utama yang digunakan untuk memperkuat sinyal sakelar buluh adalah Operational Amplifier LM393
Lembar Data untuk Modul
| Produsen | Tidak Diketahui |
|---|---|
| Tegangan Logika/IO | 3.3V - 5 V |
| Tegangan Suplai | 5 V |
| Arus keluaran (per saluran) | Maks 10 A |
| Arus puncak (per saluran) | Maks 16 A |
| Panduan frekuensi PWM | Tidak berlaku |
| Ambang logika input | Min 2.5 V (HIGH) |
| Penurunan tegangan / RDS(on) / saturasi | 0.1 V tipikal |
| Batas termal | Maks 85 °C |
| Kemasan | Pemasangan PCB |
Instruksi Pengkabelan

Untuk mengkabel sistem, mulailah dengan menghubungkan sakelar buluh. Hubungkan pin VCC sakelar buluh ke output 5V pada Arduino, dan hubungkan pin GND ke salah satu pin ground pada Arduino. Pin OUTPUT sakelar buluh harus dihubungkan ke pin digital 2 pada Arduino. Ini akan memungkinkan Arduino membaca status sakelar buluh.
Selanjutnya, hubungkan modul relai. Hubungkan pin VCC relai ke output 5V pada Arduino, dan pin GND ke ground. Pin input relai, yang mengendalikan operasi relai, harus dihubungkan ke pin digital 10 pada Arduino. Terakhir, hubungkan beban (seperti bola lampu) ke terminal Common dan Normally Open relai, pastikan beban sesuai dengan spesifikasi relai.
Contoh Kode & Penjelasan
Potongan kode berikut menginisialisasi pin dan mengatur komunikasi serial untuk debugging. Sakelar buluh terhubung ke pin 2, sedangkan relai dikendalikan melalui pin 10.
int LD = 200; // waktu dalam milidetik untuk menunggu sebelum melakukan pembacaan berikutnya.
void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT); // terhubung ke relai
pinMode(2, INPUT); // pin input sakelar buluh 2
Serial.println("Robojax Test: Sakelar buluh");
}
Dalam fungsi loop, keadaan sakelar buluh diperiksa secara terus-menerus. Jika sakelar tertutup (menunjukkan adanya magnet), relai dinyalakan. Jika sakelar terbuka, relai dimatikan setelah penundaan 5 detik, memberikan periode tenggang sebelum penonaktifan.
void loop() {
if(digitalRead(2)){
Serial.println("Sakelar ON ");
digitalWrite(10, LOW); // Nyalakan relai
delay(LD);
}else{
delay(5000); // tunggu 5 detik sebelum mematikan alarm
digitalWrite(10, HIGH); // Matikan relai
}
}
Kode ini memungkinkan fleksibilitas dalam mengendalikan relai berdasarkan keadaan sakelar buluh. Anda dapat memodifikasi waktu dan perilaku dengan mengubah nilai penundaan atau cara relai dikendalikan berdasarkan input sakelar.
Demonstrasi / Apa yang Diharapkan
Ketika pengaturan selesai, mendekatkan magnet ke sakelar buluh akan mengaktifkan relai, menyalakan lampu atau alarm yang terhubung. Jika magnet dijauhkan, lampu akan tetap menyala selama periode penundaan tertentu sebelum mati, memberikan waktu buffer bagi pengguna. Pastikan untuk menguji sistem untuk mengonfirmasi bahwa relai berperilaku seperti yang diharapkan dan merespons dengan benar terhadap sakelar buluh.
Stempel Waktu Video
- 00:00 - Pengenalan proyek
- 02:15 - Penjelasan perangkat keras
- 05:30 - Demonstrasi pengkabelan
- 08:45 - Penjelasan kode
- 12:00 - Hasil yang diharapkan dan tips pemecahan masalah
Tutorial ini adalah bagian dari: Mengontrol Relay Menggunakan Arduino
- Kode Arduino dan Video untuk Relay 5V Dua Saluran
- Mengontrol Relay 5V Menggunakan Arduino untuk mengontrol beban AC atau DC seperti bohlam atau motor
- Sensor Sentuh 4 Saluran TTP224 untuk Menyalakan Beban AC/DC dengan Relay
- Menggunakan Modul Relay 5V (Trigger Rendah) dengan Arduino
- Menggunakan Termokopel Tipe-K MAX6675 dengan Relay dan Tampilan
- Menggunakan modul sentuh TTP223B dan relay untuk mengontrol beban AC/DC dengan Arduino
- Menggunakan tombol tekan Arduino untuk mengganti relay dan bohlam AC
++
//*
* This is the Arduino code for a reed switch to
* turn a relay ON, which the relay
* can turn a light or alarm ON.
* The reed switch is connected to pin 2.
* The relay is connected to pin 10.
* Watch the video for this code: https://www.youtube.com/watch?v=2RBFKqoauaI
*
* Written by Ahmad Shamshiri for Robojax.com Video
* Date: December 5, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code, given that this
* note is kept with the code.
* Please keep this note with the code.
* This code is available on Robojax.com
*
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
* This code has been downloaded from Robojax.com
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
int LD = 200; // time in milliseconds to wait before making another reading.
void setup() {
Serial.begin(9600);
// output pins
pinMode(10, OUTPUT);// connected to relay
// input pins
pinMode(2, INPUT);// reed switch input pin 2
Serial.println("Robojax Test: Reed switch");
}
void loop() {
// read the REED switch
if(digitalRead(2)){
Serial.println("Switch ON ");
digitalWrite(10, LOW); // Turn the relay ON
delay(LD);
}else{
delay(5000);// wait 5 seconds before turning the alarm off
// remove this line if you don't want any delay
digitalWrite(10, HIGH);// Turn the relay OFF
}
}// loop
Sumber daya & referensi
Belum ada sumber daya.
Berkas📁
Tidak ada file tersedia.