Sensor limit switch (atau saklar batas) adalah komponen elektromekanis yang berfungsi untuk mendeteksi posisi atau keberadaan suatu objek secara fisik dan memberikan sinyal ON/OFF saat suatu titik batas tercapai.
Berikut ini adalah cara memprogram sensor limit switch dengan esp32 :
#include <Arduino.h>
int port_limit = 1;
void setup()
{
Serial.begin(9600);
pinMode(port_limit, INPUT_PULLUP);
}
void loop(){
int sensor_limit = digitalRead(port_limit);
Serial.println("LimitSwitch : (limit) : " + (String)sensor_limit);
}
Berikut ini adalah penjelasan kode di atas :
1. Baris Inisialisasi
#include <Arduino.h>
- Menyertakan pustaka dasar Arduino (biasanya otomatis di-include saat menggunakan Arduino IDE).
- Berisi definisi fungsi seperti
pinMode
,digitalRead
,Serial
, dll.
2. Deklarasi Variabel
int port_limit = 1;
- Mendefinisikan pin digital D1 (biasanya GPIO 1) sebagai tempat limit switch terhubung.
port_limit
akan digunakan dalamdigitalRead()
danpinMode()
.
3. Fungsi setup()
void setup()
{
Serial.begin(9600);
pinMode(port_limit, INPUT_PULLUP);
}
Serial.begin(9600);
mengaktifkan komunikasi serial dengan baud rate 9600 bps agar bisa mencetak data ke Serial Monitor.pinMode(port_limit, INPUT_PULLUP);
- Menyetel pin D1 sebagai input.
INPUT_PULLUP
mengaktifkan resistor pull-up internal, sehingga pin berada dalam keadaan HIGH secara default.- Saat limit switch ditekan (disambungkan ke GND), maka pin menjadi LOW.
4. Fungsi loop()
void loop(){
int sensor_limit = digitalRead(port_limit);
Serial.println("LimitSwith : (limit) : " + (String)sensor_limit);
}
digitalRead(port_limit);
membaca nilai digital dari pin D1:- HIGH (1) jika switch tidak ditekan.
- LOW (0) jika switch ditekan.
Serial.println(...)
mencetak status ke Serial Monitor.- Output akan terlihat seperti:
LimitSwitch : (limit) : 1
atauLimitSwitch : (limit) : 0
- Output akan terlihat seperti:
Catatan Tambahan:
- Jika limit switch dihubungkan ke pin digital, pastikan satu kaki ke pin dan satu kaki ke GND agar logika
INPUT_PULLUP
bekerja. - Pull-up internal membantu mencegah pembacaan nilai floating (acak) saat switch tidak ditekan.
untuk diskusi bisa kontak dibawah ini :

Sosial media :