Jika Anda pernah membuat aplikasi mikrokontroler yang memanfaatkan saklar atau tombol-tekan (pushbutton), tentunya Anda akan menghadapi masalah bouncing (dalam bahasa jawanya mentul-mentul) pada saklar atau tombol tersebut. Artinya, saat Anda menekan tombol tersebut, mikrokontroler mendeteksi adanya penekanan berkali-kali, padahal, sekali lagi, Anda hanya menekan sekali saja! Hal ini bisa dijelaskan melalui gambar 1.

Gambar 1. Diagram pewaktuan saat terjadi perubahan dari 1 ke 0

Dari Gambar 1 tersebut terlihat jelas bahwa saat terjadi perubahan tombol dari 1 ke 0 (ilustrasi kiri), akan terjadi bouncing berulang-ulang selama 0.01 hingga 100 milidetik (ilustrasi tengah). Mikrokontroler akan menganggap terjadi perubahan dari 1 ke 0 berkali-kali (ilustrasi kanan).

Rangkaian RC

Solusi sederhana untuk masalah bouncing ini adalah menggunakan rangkaian RC yang akan menekan terjadi perubahan tegangan secara cepat. Karena waktu bouncing tidak dinyatakan, nilai-nilai komponen bisa bervariasi. Pada Gambar 2 ditunjukkan sebuah rangkaian RC untuk mencegah bouncing dengan nilai-nilai komponen yang biasa digunakan.

Gambar 2. Rangkaian RC untuk mencegah bouncing

Flip Flop Debounce

Jika diinginkan keamanan penuh, perlu diperhatikan hal-hal berikut! Rangkaian yang menggunakan RS Flip-flop, yang ditunjukkan pada Gambar 3, akan mengubah kondisi logika luarannya pada saat pulsa pertama yang dipicu saat terjadi bouncing pada saklar. Walaupun solusi lebih mahal (karena menggunakan saklar SPDT), namun masalahnya teratasi dengan baik! Selain itu, rangkaian ini tidak membutuhkan kondensator.

Gambar 3. Rangkaian Flip Flop Debounce

Solusi Perangkat Lunak

Selain solusi perangkat keras, suatu solusi perangkat luas juga biasa dilakukan: saat program menguji suatu kondisi beberapa luaran dan menemukan adanya perubahan, serta merta pengujian harus melakukan penundaan beberapa saat hingga perkiraan bouncing selesai. Kelebihannya? Jelas sekali murah meriah (tidak ada implementasi rangkaian), selain itu bisa diadaptasi untuk saklar atau tombol yang berkualitas buruk sekalipun. Kelemahannya? Sama seperti rangkaian RC, perubahan logika yang lebih cepat dari tundaan program tidak bisa terdeteksi.

Semoga bermanfaat.

Tags: ,

17 Responses to “Penanganan Bouncing Tombol/Saklar…”

  1. masss minta tolong dong

    gimana cara progam assembley untuk kasus counter 7 segmen dengan inputan dari tombol….????
    mohon banget…

  2. makasih mas……
    bermanfaat sekali ni penjelasannya,,

  3. mas, apa saja akibat bouncing ??? lalu bouncing sendiri apa saja yang menyebabkan??

  4. @pande:
    konsep dasarnya sudah saya tulis di buku saya “Belajar mikrokontroler at89c51/52/55″…

  5. @gent:
    efek dari bouncing bahwa mikrokontroler akan menganggap ada penekanan tombol lebih dari sekali… bouncing disebabkan karena mekanik dari pushbuton itu sendiri…

  6. Siph2… Elka Orra Aristo Bermanfaat Euy

  7. Thanks

  8. selamat pagi mas,
    saya ingin bertanya. kalau pakai arduino bagaimana cara menghilangkan bouncing pada rangkaian driver relay nya mas? soalnya sewaktu saya compile arduinonya, belum ada perintah masuk, eh driver nya sudah aktif duluan. terima kasih :)

  9. mengapa rangkaian tombol perlu diberi kondensator (C1)
    sebagai debouncer.

  10. Sangat bermanfaat nih pak

  11. terima kasih pak sngat membantu tugas saya

  12. thank you for sharing it’s so helpful

  13. Kak kenapa ya rangkaian counter up Dan down saat dibuat di pcb keluar angkanya loncat-loncat padahal di simulasinya keluarnya stabil…..
    Saya pakai ic 74192 (countet) dan 7447 (decoder)

  14. terimakasih sangat membantu

  15. Amazing article. I have very glad to read your article. You are a really brilliant person. I have read your full article and I have got much important news that was very helpful to me. Thanks a lot for sharing a nice article. For portrait photography, e-commerce business, Photoshop needs product photo editing making images pop up. We provide all kinds of high-quality photo editing services at a competitive price from Clipping Expert Asia. That helps to make your e-commerce business pop-up. If you want to get a high-quality photo editing service can you visit Clipping Expert Asia.

  16. The simple solution to this bounce problem is to use an RC circuit that will suppress the voltage change quickly.

  17. top site betting

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>