Blog Archive

Arduino Indonesia. Gambar tema oleh Storman. Diberdayakan oleh Blogger.

Supported by Electronics 3 in 1

1. Jasa pencetakan PCB single layer dengan harga paling murah.

(Metode Pembuatan dengan Transfer Toner)
>PCB design sendiri (siap cetak) : Rp.150,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

(Metode Sablon Full Masking dan Silk Screen minimal pemesanan 100 Pcs)
>PCB design sendiri (siap cetak) : Rp.200,-/Cm2
>PCB design dari kami : Rp.250,-/Cm2

2. Jasa perancangan, perakitan, dan pembuatan trainer pembelajaran elektronika untuk SMK dan Mahasiswa.

3. Jasa perancangan, perakitan, dan pembuatan berbagai macam kontroller, sensor, aktuator, dan tranduser.
>Design Rangkaian / Sistem Elektronika
>Design Rangkaian / Sistem Instrumentasi
>Design Rangkaian / Sistem Kendali
>Kerjasama Riset (data atau peralatan)
>Kerjasama Produksi Produk-Produk KIT Elektronika
>Produksi Instrumentasi Elektronika

4. Jasa Pembuatan Proyek, Tugas Akhir, Tugas Laboratorium, PKM, Karya Ilmiah, SKRIPSI, dll

Like My Facebook

Popular Posts

Minggu, 17 Mei 2026

Arduino Limit Switch - Cara Menggunakan Limit Switch dengan Arduino UNO

Dalam dunia elektronika dan sistem otomatisasi, limit switch merupakan salah satu komponen yang sangat sering digunakan. Komponen ini banyak ditemukan pada mesin industri, robotika, printer 3D, conveyor otomatis, CNC, pintu otomatis, hingga berbagai project DIY berbasis Arduino. Fungsi utama limit switch adalah mendeteksi apakah suatu objek atau mekanisme telah mencapai titik atau batas tertentu.

 

Pada project Arduino, limit switch biasanya digunakan sebagai sensor pendeteksi posisi. Misalnya untuk mengetahui apakah sebuah pintu sudah tertutup sepenuhnya, apakah lengan robot sudah mencapai ujung gerakan, atau apakah motor harus berhenti karena sudah mencapai batas mekanisnya. Karena fungsinya yang sederhana tetapi sangat penting, limit switch menjadi salah satu komponen dasar yang wajib dipahami oleh pemula maupun maker elektronik.

 

Pada artikel ini, kita akan mempelajari cara menggunakan limit switch dengan Arduino UNO, mulai dari mengenal pinout, memahami cara kerja, melakukan wiring, hingga membaca status limit switch menggunakan program Arduino. Selain itu, kita juga akan menggunakan library ezButton agar proses pembacaan input menjadi lebih stabil melalui fitur debounce bawaan. Dengan menggunakan library tersebut, kode program menjadi lebih sederhana dan mudah dipahami, terutama bagi pemula.

Perangkat Keras yang Dibutuhkan

- Arduino UNO R3

- Kabel USB

- Breadboard

- Kabel jumper

- Limit Switch KW12-3

- Limit Switch V-153-1C25

- Limit Switch V-155-1C25

- Limit Switch V-156-1C25

- Heat shrink tube

- Soldering iron (opsional)

- Terminal screw (opsional)

Anda tidak harus menggunakan tipe limit switch yang sama persis. Hampir semua limit switch mekanik memiliki prinsip kerja dan konfigurasi pin yang mirip sehingga tutorial ini tetap dapat diterapkan pada jenis lain.

Mengenal Limit Switch

Limit switch adalah sakelar mekanik yang bekerja ketika bagian aktuatornya disentuh atau ditekan oleh objek tertentu. Ketika switch ditekan, kontak internal di dalamnya akan berubah status. Perubahan status inilah yang nantinya dibaca oleh Arduino sebagai input digital. Komponen ini sering digunakan sebagai sensor batas gerakan motor, sensor posisi mekanik, sensor keamanan, endstop printer 3D, sensor buka/tutup pintu, dan deteksi objek pada sistem otomatisasi. Karena bekerja secara mekanis, limit switch memiliki respons yang cepat dan cukup akurat untuk banyak aplikasi sederhana.

Jenis-jenis Limit Switch

Di pasaran terdapat berbagai bentuk dan ukuran limit switch. Beberapa tipe yang paling umum digunakan antara lain:

- KW12-3

- V-153-1C25

- V-155-1C25

- V-156-1C25

Beberapa limit switch memiliki tuas panjang, roller, atau tombol kecil di bagian aktuatornya. Pemilihan jenis biasanya disesuaikan dengan kebutuhan mekanik project.

Pinout Limit Switch

Sebagian besar limit switch memiliki tiga pin utama, yaitu:

- C (Common) → pin utama/common

- NO (Normally Open) → kontak terbuka saat switch tidak ditekan

- NC (Normally Closed) → kontak tertutup saat switch tidak ditekan

Pada penggunaan normal, biasanya kita hanya menggunakan pin C dan salah satu antara NO atau NC.

Jika menggunakan pin NO, maka switch baru akan terhubung ketika ditekan. Sebaliknya, jika menggunakan pin NC, koneksi justru aktif saat switch belum ditekan.

 

Cara Kerja Limit Switch

Cara kerja limit switch sebenarnya cukup sederhana. Ketika aktuator pada switch ditekan, kontak internal di dalam switch berubah posisi.  

Pada mode Normally Open (NO):

- Saat belum ditekan → koneksi terbuka

- Saat ditekan → koneksi tertutup

Pada mode Normally Closed (NC):

- Saat belum ditekan → koneksi tertutup

- Saat ditekan → koneksi terbuka

Arduino kemudian membaca perubahan kondisi tersebut sebagai sinyal digital HIGH atau LOW. Pada tutorial ini, kita menggunakan konfigurasi INPUT_PULLUP karena lebih sederhana dan tidak memerlukan resistor eksternal tambahan.

Mengapa Menggunakan INPUT_PULLUP?

Arduino sebenarnya memiliki resistor pull-up internal yang dapat diaktifkan melalui kode program. Dengan metode ini, pin input akan berada pada kondisi HIGH saat switch tidak ditekan, dan pin berubah menjadi LOW saat switch ditekan. Keuntungan menggunakan INPUT_PULLUP yaitu wiring lebih sederhana, tidak perlu resistor tambahan, lebih praktis untuk pemula, dan mengurangi risiko floating input. Floating input adalah kondisi ketika pin input Arduino tidak memiliki tegangan referensi yang jelas sehingga pembacaan menjadi tidak stabil.

Wiring Diagram

Hubungkan pin C limit switch ke GND Arduino, dan pin NO limit switch ke pin digital Arduino, misalnya pin 7. Ketika switch ditekan, pin Arduino akan terhubung ke GND, dan Arduino membaca kondisi LOW. Untuk penggunaan permanen atau project yang sering bergerak, disarankan menggunakan solder dan heat shrink tube agar sambungan lebih kuat dan aman.

 


Mengenal Debounce pada Limit Switch

Karena limit switch merupakan komponen mekanik, kontak internalnya tidak langsung stabil ketika ditekan. Saat aktuator menyentuh kontak, sering terjadi getaran kecil yang menyebabkan perubahan HIGH dan LOW berlangsung sangat cepat dalam waktu singkat. Fenomena ini disebut bouncing

 

Akibat efek bouncing, satu kali tekanan tombol dapat terbaca beberapa kali oleh sistem sehingga input menjadi tidak akurat. Kondisi ini juga dapat membuat sensor terlihat tidak stabil dan menyebabkan sistem otomatisasi mengalami error atau bekerja tidak sesuai perintah. Oleh karena itu, digunakan teknik debounce untuk mengurangi gangguan tersebut agar pembacaan tombol menjadi lebih stabil dan akurat.

Menggunakan Library ezButton

Melakukan debounce secara manual sebenarnya memungkinkan, tetapi kode program yang dibuat bisa menjadi cukup rumit, terutama jika menggunakan banyak switch sekaligus. Oleh karena itu, pada tutorial ini digunakan library ezButton untuk mempermudah proses pembacaan switch pada Arduino. Library ezButton dapat menangani debounce secara otomatis, membaca status switch dengan lebih mudah, mendeteksi perubahan status switch, serta membantu menyederhanakan kode program. Karena penggunaannya lebih praktis dibanding membuat sistem debounce manual, library ini sangat cocok digunakan oleh pemula dalam project Arduino.

Kode Program Arduino - Limit Switch

Berikut contoh program sederhana untuk membaca status limit switch menggunakan library ezButton.


#include <ezButton.h>


ezButton limitSwitch(7);  // limit switch terhubung ke pin 7


void setup() {

  Serial.begin(9600);


  // mengatur debounce time

  limitSwitch.setDebounceTime(50);

}


void loop() {

  // wajib dipanggil

  limitSwitch.loop();


  // mendeteksi perubahan status

  if(limitSwitch.isPressed())

    Serial.println("Limit switch: UNTOUCHED -> TOUCHED");


  if(limitSwitch.isReleased())

    Serial.println("Limit switch: TOUCHED -> UNTOUCHED");


  // membaca status saat ini

  int state = limitSwitch.getState();


  if(state == HIGH)

    Serial.println("Limit switch: UNTOUCHED");

  else

    Serial.println("Limit switch: TOUCHED");

}

 

Penjelasan Program

Program dimulai dengan mengimpor library ezButton:

 

#include <ezButton.h>

 

Kemudian dibuat objek limit switch pada pin 7:

 

ezButton limitSwitch(7);

 

Pada fungsi setup(), komunikasi Serial diaktifkan:

 

Serial.begin(9600);

 

Lalu debounce time diatur menjadi 50 milidetik:

 

limitSwitch.setDebounceTime(50);

 

Di dalam loop(), fungsi berikut wajib dipanggil:

 

limitSwitch.loop();

 

Fungsi ini digunakan untuk memperbarui status switch dan menjalankan proses debounce internal. Selanjutnya program mendeteksi kapan switch ditekan, kapan switch dilepas, serta membaca status switch saat ini.

Langkah Pengujian

1. Rangkai limit switch sesuai wiring diagram

2. Hubungkan Arduino ke komputer menggunakan kabel USB

3. Buka Arduino IDE

4. Install library ezButton

 


5. Pilih board Arduino UNO

6. Pilih port COM yang sesuai

7. Upload program ke Arduino

8. Buka Serial Monitor

9. Tekan dan lepaskan limit switch

10. Perhatikan output pada Serial Monitor

Jika wiring dan program benar, maka status switch akan berubah sesuai kondisi switch.

Penerapan Limit Switch pada Project Arduino

Limit switch dapat digunakan pada berbagai project Arduino dan sistem otomatisasi. Komponen ini sering dimanfaatkan pada robot penghindar tabrakan, sistem pintu otomatis, elevator mini, mesin conveyor, printer 3D, CNC machine, hingga robot arm. Selain itu, limit switch juga banyak digunakan pada sistem keamanan, smart garage door, dan berbagai mesin otomatis sederhana untuk mendeteksi batas gerakan atau posisi tertentu. Karena memiliki ukuran kecil, harga yang terjangkau, serta mudah digunakan, limit switch menjadi salah satu sensor mekanik yang sangat populer dalam dunia elektronika dan embedded system.


Baca juga: Arduino DIP Switch - Cara Menggunakan DIP Switch dengan Arduino UNO 

 

 

 

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.  

0 on: "Arduino Limit Switch - Cara Menggunakan Limit Switch dengan Arduino UNO"