Arduino & IoT Academy · Pelajaran

Mengapa Tombol Mengalami “Bounce”

Lihat pemicu palsu yang dibuat oleh kontak listrik.

Pelajaran 1 dari 413 langkah

Mengapa Tombol Mengalami “Bounce” adalah pelajaran Arduino & IoT Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Arduino & IoT Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Arduino & IoT Academy mencakup 4 pelajaran total.

Satu Tekanan, Banyak Sinyal

Anda menekan tombol sekali, tetapi Arduino Anda mungkin mendeteksi beberapa tekanan. Masalah tersembunyi ini disebut pantulan, dan hampir semua pemula pernah mengalaminya. 😅

Bagian Dalam Tombol Tekan

Tombol hanyalah dua kontak logam yang bersentuhan saat ditekan. Bagi jari Anda, tombol terasa kokoh, tetapi pada tingkat mikrodetik keadaannya sangat berbeda.

Logam yang Bergetar

Saat kontak bertemu, keduanya bergetar secara fisik selama beberapa milidetik sebelum stabil. Setiap sentuhan dan putusnya hubungan adalah peristiwa listrik yang terpisah.

Apa yang Dilihat Pin

Selama getaran tersebut, pin membaca rangkaian perubahan HIGH-LOW yang cepat, bukan satu perubahan yang jelas. Kode Anda dapat menghitung setiap perubahan sebagai satu tekanan.

Mengapa Perulangan Menangkapnya

Perulangan Anda berjalan jutaan kali per detik, jauh lebih cepat daripada pantulan menjadi stabil. Jadi, perulangan mengambil sampel gangguan tersebut berulang kali.

Penghitung yang Menggila

Bayangkan penghitung yang menambahkan satu untuk setiap tekanan. Satu ketukan nyata dapat menambah tiga atau empat karena beberapa pemicu palsu.

if (digitalRead(BTN) == LOW) {
  count++;  // may fire several times per tap
}

Terjadi Juga Saat Dilepas

Pantulan juga terjadi saat Anda melepaskan tombol, bukan hanya saat menekannya. Kedua tepi sinyal dapat bergetar dan membingungkan logika Anda.

Berapa Lama Berlangsung

Sebagian besar pantulan menjadi stabil dalam sekitar 5 hingga 20 milidetik. Waktunya singkat, tetapi bagi mikrokontroler cepat, itu adalah waktu yang sangat lama untuk gangguan.

Amati Sendiri

Cetak pesan setiap kali pin berubah menjadi LOW, lalu ketuk tombol sekali. Melihat beberapa baris di Monitor Serial membuktikan bahwa pantulan itu benar-benar terjadi.

if (digitalRead(BTN) == LOW)
  Serial.println("pressed");

Perbaikan Perangkat Keras atau Perangkat Lunak

Anda dapat meredam pantulan dengan kapasitor kecil di dalam rangkaian, atau dengan logika pengaturan waktu dalam kode. Perangkat lunak lebih murah dan jauh lebih umum digunakan.

Inti Gagasan

Perbaikannya adalah menunggu sebentar setelah perubahan pertama, lalu mengabaikan perubahan lainnya. Pastikan tombol benar-benar stabil sebelum Anda menindaklanjutinya.

Pemeriksaan Singkat

Mari kita pastikan apa yang menyebabkan tombol memantul.

Rangkuman: Dasar-Dasar Pantulan

Anda telah mempelajari bahwa kontak tombol mengalami pantulan, mengirimkan perubahan sinyal yang berisik sehingga membingungkan kode yang berjalan cepat. Selanjutnya, Anda akan meredam gangguan tersebut dengan pengaturan waktu sederhana. 🎯

Gratis untuk memulai

Belajar C++ dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mengapa Tombol Mengalami “Bounce”” gratis?

Ya — teks lengkap “Mengapa Tombol Mengalami “Bounce”” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Arduino & IoT Academy, upgrade ke CoddyKit PRO. Kursus Arduino & IoT Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Mengapa Tombol Mengalami “Bounce””?

Lihat pemicu palsu yang dibuat oleh kontak listrik. Kamu berlatih Arduino & IoT Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Arduino & IoT Academy?

Tidak diperlukan pengalaman sebelumnya. Arduino & IoT Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Mengapa Tombol Mengalami “Bounce”” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Arduino & IoT Academy ini?

Ya. Setiap pelajaran Arduino & IoT Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Mengapa Tombol Mengalami “Bounce”
  2. Hilangkan Bounce dengan millis()
  3. Simpan Nilai di EEPROM
  4. Simpan Penghitung Setelah Reset
← Kembali ke Arduino & IoT Academy