Sensor Magnetic Reed Switch adalah jenis sensor yang digunakan untuk mendeteksi keberadaan atau perubahan posisi magnet.
Berikut adalah cara memprogram sensor magnetic reed switch pada esp32 :
#include <Arduino.h>
int port_sensor_reedswitch = 16;
void setup()
{
Serial.begin(9600);
pinMode(port_sensor_reedswitch, INPUT);
}
void loop(){
int sensor_reedswitch = digitalRead(port_sensor_reedswitch);
Serial.println("ReedSwitch : (sensor_reedswitch) : " + (String)sensor_reedswitch);
}
Berikut adalah penjelasan dari kode di atas :
1. Inklusi Library Arduino
#include <Arduino.h>
#include <Arduino.h>: Ini adalah library dasar untuk mengakses fungsi-fungsi yang disediakan oleh Arduino, sepertipinMode(),digitalRead(),Serial.begin(), dan sebagainya.
2. Deklarasi Pin untuk Reed Switch
int port_sensor_reedswitch = 16;
int port_sensor_reedswitch = 16;: Mendeklarasikan sebuah variabelport_sensor_reedswitchyang menyimpan nomor pin 16 pada board Arduino (bisa disesuaikan sesuai dengan pin yang digunakan untuk menghubungkan reed switch). Pin ini akan digunakan untuk membaca status reed switch, apakah terbuka atau tertutup.
3. Fungsi setup()
void setup()
{
Serial.begin(9600);
pinMode(port_sensor_reedswitch, INPUT);
}
Serial.begin(9600);: Menginisialisasi komunikasi serial dengan baud rate 9600. Ini memungkinkan data dikirimkan ke Serial Monitor melalui port serial untuk melihat output dari program.pinMode(port_sensor_reedswitch, INPUT);: Mengaturport_sensor_reedswitch(pin 16) sebagai INPUT, yang berarti pin ini akan digunakan untuk membaca status reed switch. Ketika reed switch terhubung ke pin ini, Arduino akan mendeteksi apakah reed switch terbuka atau tertutup.
4. Fungsi loop()
void loop(){
int sensor_reedswitch = digitalRead(port_sensor_reedswitch);
Serial.println("ReedSwitch : (sensor_reedswitch) : " + (String)sensor_reedswitch);
}
Fungsi loop() adalah fungsi utama yang dijalankan berulang kali setelah setup(). Di dalamnya, status reed switch dibaca dan dikirim ke Serial Monitor.
int sensor_reedswitch = digitalRead(port_sensor_reedswitch);digitalRead(port_sensor_reedswitch): Fungsi ini membaca status dari pin 16 (yang terhubung ke reed switch).- Jika reed switch terbuka (tidak terpengaruh magnet), pin akan membaca LOW (0).
- Jika reed switch tertutup (terpengaruh magnet), pin akan membaca HIGH (1).
- Nilai yang dibaca (0 atau 1) disimpan dalam variabel
sensor_reedswitch.
Serial.println("ReedSwitch : (sensor_reedswitch) : " + (String)sensor_reedswitch);- Fungsi
Serial.println()digunakan untuk mengirimkan hasil pembacaan ke Serial Monitor. Dalam hal ini, ini akan menampilkan status reed switch. (String)sensor_reedswitchmengonversi nilaisensor_reedswitchyang berupa integer (0 atau 1) menjadi String agar bisa digabungkan dengan teks yang menjelaskan status reed switch.- Output yang ditampilkan di Serial Monitor akan berbentuk seperti ini:
ReedSwitch : (1) : 1 ReedSwitch : (0) : 0 - Ketika reed switch tertutup, output akan menunjukkan
ReedSwitch : (1), dan ketika terbuka, output akan menunjukkanReedSwitch : (0).
- Fungsi
5. Proses Kerja Secara Keseluruhan:
setup(): Menginisialisasi komunikasi serial untuk menampilkan status reed switch dan mengatur pin 16 sebagai input untuk membaca status reed switch.loop(): Membaca status reed switch pada pin 16 dan menampilkannya di Serial Monitor.
6. Output yang Diharapkan di Serial Monitor:
Ketika reed switch dalam posisi tertutup (terpengaruh oleh magnet), output yang tampil di Serial Monitor adalah:
ReedSwitch : (1) : 1
Ketika reed switch dalam posisi terbuka (tanpa pengaruh magnet), output akan seperti ini:
ReedSwitch : (0) : 0
7. Kesimpulan:
- Program ini digunakan untuk memantau status reed switch yang terhubung ke pin 16 di Arduino. Jika reed switch tertutup (misalnya, karena mendekatkan magnet), pin akan membaca nilai HIGH (1). Jika reed switch terbuka, pin akan membaca nilai LOW (0).
- Program ini kemudian menampilkan hasil pembacaan ini di Serial Monitor, memberikan informasi apakah reed switch dalam kondisi tertutup atau terbuka.
untuk diskusi bisa kontak dibawah ini :

Sosial media :





