หากคุณเป็นนักออกแบบอิเล็กทรอนิกส์มืออาชีพโอกาสที่หัวหน้าของคุณจะไม่ยอมให้คุณทำในฮาร์ดแวร์ เหตุผลนั้นง่าย: ถ้าแบตช์การผลิตของคุณมีขนาดใหญ่เพียงพอที่ซอฟต์แวร์จะว่างในขณะที่ต้องชำระค่าฮาร์ดแวร์สำหรับแต่ละหน่วยที่คุณผลิต และในขณะที่ตัวต้านทานและตัวเก็บประจุมีราคาถูกมากการติดตั้งลงบน PCB อาจมีราคาสูงถึง 20 เท่าของราคาซื้อ
ไม่ว่าคุณจะ debounce ในซอฟต์แวร์หรือในฮาร์ดแวร์คุณยังต้องเลือกปุ่มกดคุณภาพ ปุ่ม 157ms ที่น่าอับอายจากบทความนั้นไม่เหมาะสำหรับแอปพลิเคชันใด ๆ
ฉันมักจะสุ่มปุ่มในช่วงเวลา 32msซึ่งเพียงพอที่จะเชื่อมโยงเวลา debounce ของปุ่มดี ฉันเป็นแฟนตัวยงของสวิตช์ SKQG TACT ของAlps
ในอุปกรณ์สองสามตัวที่ฉันทดสอบมันมีช่วงเวลาตีกลับเริ่มต้นที่น้อยกว่า 10ns ในขณะที่มันมีอายุการใช้งาน 100,000 รอบเราทดสอบมันสำหรับ200,000รอบและแม้กระทั่ง debounce 32ms ก็เพียงพอแล้ว (ฉันเดาว่าฉันควรจะวัดระดับของการ debounce จริง แต่ความสนใจหลักของเราในเวลานั้นคือพฤติกรรมของผลิตภัณฑ์ขั้นสุดท้ายอย่างไรก็ตามเราใช้มันไม่เป็นไปตามข้อกำหนด)
หากคุณต้องการโซลูชันฮาร์ดแวร์ฉันขอแนะนำให้ใช้วิธีแก้ไขปัญหา flip-flop ของ SR ในบทความซึ่งเป็นวิธีที่ดีที่สุดในทางเทคนิค:
flip-flop สามารถสร้างด้วยเกท NAND คู่ซึ่งมีให้ในแพ็คเกจ VSSOP8 ขนาดเล็ก ข้อเสียเปรียบที่สำคัญของวิธีนี้คือคุณต้องใช้ปุ่มกด SPDT ซึ่ง SPST นั้นมีอยู่ทั่วไป