Dimungkinkan untuk menggunakan bantalan koneksi resistif seperti yang Anda tunjukkan, tetapi bantalan kapasitif umumnya lebih baik. Bantalan resistif meninggalkan koneksi langsung ke sirkuit terbuka ke luar. Karena itu mereka rentan terhadap kerusakan akibat pelepasan dan kebisingan statis.
Bantalan kapasitif adalah metode yang lebih baik, meskipun mereka memerlukan sedikit lebih banyak firmware untuk merasakan, setidaknya jika Anda ingin melakukannya dengan baik. Perhatikan bahwa untuk mendapatkan kekebalan kebisingan yang bahkan belum sempurna, bantalan resistif memerlukan firmware juga. Hanya menghubungkan dua pembalut ke sesuatu yang sensitif, seperti gerbang FET, adalah ide yang buruk. Anda tidak akan dapat membatalkan mode umum dan kebisingan sekitar lainnya.
Berikut adalah tata letak papan kecil yang saya lakukan baru-baru ini hanya untuk meneliti tombol kapasitif:
Tutup bantalan adalah cakram kecil berdiameter 150 mil (3,8 mm) dan jika tidak dikelilingi oleh tanah pada lapisan atas. Mikrokontroler adalah PIC 16LF1786. Itu dan semua bagian lain yang bukan untuk berinteraksi langsung dengan pengguna dipasang di bagian bawah papan dua lapis ini.
PIC terus memindai bantalan. Ketika mendeteksi adanya perubahan pada bantalan yang ditekan / dilepaskan, bantalan akan mengirimkan pesan melalui port serial, memperbarui lampu di kanan atas, dan mengeluarkan bunyi bip pada pers.
Untuk pengujian, saya dapat meminta PIC secara teratur mengirimkan nilai-nilai internal untuk menekan setiap pad. Ini adalah plot dari kelima nilai indra mentah, selain keadaan digital sesuatu yang ditekan saat saya menekan setiap pad berturut-turut dengan jari saya:
Seperti yang Anda lihat, kekebalan kebisingan sangat luar biasa. Bahkan sinyal terlemah adalah lebih dari 300, sementara noise ± 2 atau lebih.
Jejak magenta berlabel "Ditekan" menunjukkan OR dari masing-masing tombol yang ditekan. Levelnya menunjukkan batas pers dan rilis. Ada banyak sinyal tambahan yang tidak digunakan dalam kasus ini. Ambang khusus ini diubah agar dapat mentolerir beberapa lapisan kertas di atas tombol.
Tentu saja ada beberapa penanganan garis tombol yang pintar dan pemrosesan, bahkan jika saya mengatakannya sendiri, tetapi jelas hasilnya dapat dicapai dengan mikrokontroler yang cukup sederhana.
Saya menggunakan ini dalam produk nyata di mana mikro yang sama juga mengelola tampilan karakter. Itu adalah subsistem antarmuka pengguna dasar yang saya rencanakan untuk digunakan kembali di beberapa produk mendatang. Ini antarmuka ke pengontrol sistem utama melalui port serial. Pengontrol utama mengirimkan perintah untuk menulis ke layar, dan menerima pesan tidak sinkron setiap kali keadaan tombol berubah.