Apakah mungkin menggunakan kapasitor hanya untuk mendebo tombol?

19

Saya bertanya-tanya: mengapa Anda tidak bisa hanya menghubungkan kapasitor ke tombol untuk melemahkannya? Saya telah mencari tahu bagaimana mengurangi pekerjaan mikroprosesor saya harus lakukan, tetapi saya memiliki ruang yang sangat terbatas pada PCB saya merancang, jadi saya tidak ingin melakukan rangkaian debounce full-blown yang akan menyulitkan desain.


skema

mensimulasikan rangkaian ini - Skema dibuat menggunakan CircuitLab


Itu contoh sirkuit; maaf atas kesalahan (Saya tidak pandai merancang sirkuit dengan kapasitor). Apakah ini akan berhasil? Untuk saklar taktik, saya tidak dapat menemukan yang cocok dengan apa yang ada di kehidupan nyata, tetapi berfungsi untuk situasi ini. Tombolnya seperti yang ditemukan di sini . D10singkatan Digital Pin 10, tetapi tidak masalah; itu hanya berarti input Arduino. Saya juga tidak tahu seberapa besar kapasitor yang saya butuhkan, jadi jika rangkaian ini berfungsi, ukuran apa yang saya butuhkan?


Sekali lagi, saya hanya mencoba menyederhanakan ini untuk membuatnya lebih mudah untuk dibangun tanpa harus melakukan debouncing perangkat lunak. Dari melihat bagaimana kapasitor bekerja, ini sepertinya bekerja, tetapi juga mungkin membuat tombol menekan lebih lama / menunda jika kapasitansi terlalu besar. Mereka biasanya digunakan untuk "merapikan" kebisingan dalam pasokan listrik, jadi bukankah ini hal yang sama di mana "merapikan" memantul? Setiap modifikasi rangkaian untuk membuatnya bekerja (jika perlu) juga akan dihargai.

Penguin Anonim
sumber
1
Di sinilah kita telah membahasnya sebelumnya: electronics.stackexchange.com/questions/6884/…
Andy alias
5
Apakah Anda menyadari bahwa Anda dapat men-debo suatu input hanya dengan polling dengan interval setidaknya 50 ms? Lebih sedikit pekerjaan yang harus dilakukan untuk aduino Anda :)
Wouter van Ooijen
1
50 mili detik akan berhasil - poin bagus Pak O
Andy alias
1
Tidak, maksud saya jajak pendapat dengan interval setidaknya 50 ms, dan lakukan apa pun yang perlu Anda lakukan sesuai dengan tingkat yang Anda deteksi.
Wouter van Ooijen
1
@AnnonomusPerson - penundaan () di lingkungan berulir tunggal berarti tidak ada lagi yang bisa terjadi. Meskipun itu adalah satu opsi, yang lain adalah melakukan pekerjaan bermanfaat lainnya sampai tiba waktunya untuk memeriksa lagi.
Chris Stratton

Jawaban:

12

Itu tergantung pada apa status default dari saklar itu. Kapasitor hanya akan terisi ketika Anda memberikan tegangan positif. Biasanya, dalam lingkungan tertanam, kami menggunakan pull-up untuk memberikan pin status tinggi default, dan menautkan sakelar ke ground. Menambahkan kapasitor tidak akan membantu di sini, karena kapasitor tidak akan "menyimpan" keadaan dasar.

Namun, Anda juga bisa menggunakan pull-down. Ini berarti pin secara default rendah. Menjadikannya tinggi dengan menekan sakelar, akan mengisi kapasitor. Setelah dilepaskan, kapasitor akan menjaga pin tetap tinggi untuk sementara waktu, jadi ya, ini akan berhasil. Saya tidak yakin apakah 1uF sudah cukup, terlalu sedikit atau terlalu banyak, saya sarankan Anda untuk melihat dengan cakupan dan mencobanya sedikit.


sumber
Jadi jika saya mengubah +dan -itu akan berhasil?
Penguin Anonim
@AnnonomusPerson itu tergantung. Apa status default dari sakelar?
Maksud Anda ketika tidak ditekan apakah itu menghantarkan listrik? Jika itu yang Anda maksud, saya bisa melakukannya karena sifat saklar yang saya gunakan. Melihat tautan di pertanyaan saya, kapan tidak ditekan, tombol melakukan dari top left to the bottom leftdan the top right to the bottom right. Ketika ditekan, ia melakukan dari top left to the bottom right, dan top right to the bottom left.
Penguin Anonim
Baik. Ini berarti Anda secara default ingin pin menjadi rendah. Sakelar harus melakukan kontak ke +, sehingga kapasitor mendapat muatan daya sebelum Anda melepaskan tombol.
3
@AnnonomusPerson Tidak, saklar harus membuat kontak ke +. Ini agak jargon untuk apa saklar akan terhubung ketika ditekan . Kapasitor berada di tempat yang tepat. Resistor akan lebih baik terhubung dari ground ke pin IO secara langsung.