กลับไปหน้ารวมไฟล์
dc-piezo-buzzer-volume-control-c3332d.md

การลดทอนคลื่นทางกายภาพ: การควบคุมระดับเสียงแบบ DC

ฟังก์ชัน tone() ของ Arduino สร้างคลื่นสี่เหลี่ยม 5V แบบสมบูรณ์ ซึ่งก่อให้เกิดเสียงแหลมดังและเจาะหูที่ไม่สามารถลดระดับเสียงได้ด้วยการเขียนโปรแกรมซอฟต์แวร์ (เนื่องจาก analogWrite จะทำลายตรรกะความถี่โดยสิ้นเชิง!) โปรเจกต์ DC Piezo Buzzer Volume Control นี้กำหนดให้ผู้สร้างต้องละทิ้งโค้ด C++ ทั้งหมดเพื่อแก้ปัญหาทางอิเล็กทรอนิกส์! ด้วยการใส่วาริเอเบิลรีซิสเตอร์ขนาดใหญ่โดยตรงในเส้นทางสัญญาณ คุณจะสามารถลดทอนกระแสไฟฟ้าที่ไหลเข้าสู่คริสตัลได้ด้วยวิธีทางกายภาพ

button_led_basic_interaction_1772681969235.png

ฟิสิกส์ของความต้านทานแบบอนุกรม (โพเทนชิออมิเตอร์ 10k)

โพเทนชิออมิเตอร์มาตรฐานมี 3 ขา สำหรับการควบคุมระดับเสียง คุณจะใช้เพียง สองขา เท่านั้น (ขา Center Wiper และขา Outer Leg ข้างใดข้างหนึ่ง) โดยใช้งานเป็น Rheostat (ตัวบล็อกแบบปรับค่าได้ขนาดใหญ่) อย่างแท้จริง ไม่ใช่เป็น voltage divider!

  1. การเชื่อมต่อวงจร: Arduino Pin 8 -> ขา Outer Leg ของ Potentiometer ขา Center Wiper ของ Potentiometer -> ขาบวกของ Buzzer ขา Negative Leg ของ Buzzer -> Ground
  2. การทำงาน: Arduino Uno จะส่งคลื่นพัลส์ tone(8, 440) ขนาด 5V ที่ดังสนั่นออกมาเช่นเดิม
  3. หากหมุนลูกบิดลงจนสุด (0 Ohms) ไฟ 5V เต็มจะเข้าสู่ piezo ซึ่งจะดังมาก!
  4. หากคุณหมุนลูกบิดไปครึ่งทาง (5000 Ohms) กำแพงความต้านทานขนาดใหญ่จะจำกัดกระแสไฟฟ้าจาก 40mA ลงเหลือเพียงเสี้ยวหนึ่งของมิลลิแอมป์ Piezo จะสูญเสียแรงบิดทางไฟฟ้าที่จำเป็นในการสั่นของคริสตัล ส่งผลให้เกิดเสียงบี๊บที่เบาและสบายหูอย่างไม่น่าเชื่อ!

กับดัก "Active" vs "Passive" Buzzer

การควบคุมระดับเสียงด้วยฮาร์ดแวร์นี้ทำงานได้อย่างยอดเยี่ยมกับ Passive Piezo Buzzer

  • หากคุณใช้ Active Buzzer (ชนิดที่มีชิปออสซิลเลเตอร์ในตัวอยู่ใต้ก้อนอีพ็อกซี่สีดำ) ลูกบิดปรับระดับเสียงจะทำงานผิดปกติอย่างมาก!
  • Active buzzer คาดหวังไฟ 5V DC ที่คงที่ หากคุณลดแรงดันไฟฟ้าลงเหลือ 3V ด้วยลูกบิดปรับความต้านทาน ชิปออสซิลเลเตอร์ภายในจะไม่เงียบลง—แต่มันจะทำงานผิดปกติอย่างรุนแรง! มันจะส่งเสียงแหลม, คลิกสุ่มๆ หรือเปลี่ยนอ็อกเทฟไปโดยสิ้นเชิง!
  • กฎสำคัญ: การควบคุมระดับเสียงต้องใช้สัญญาณความถี่ดิบโดยตรงไปยัง piezocrystal ที่ไม่มีวงจรภายใน

ชุดเครื่องมือปรับแต่งเสียง

  • Arduino Uno/Nano (ความเร็วโปรเซสเซอร์มาตรฐานประมวลผลการคำนวณพัลส์ได้อย่างสมบูรณ์แบบ)
  • Passive Piezoelectric Buzzer (จำเป็น)
  • 10K หรือ 50K Ohm Linear Potentiometer (โพเทนชิออมิเตอร์แบบ Logarithmic/Audio taper จะทำงานได้ดีกว่าด้วยซ้ำ เนื่องจากหูของมนุษย์รับรู้การเปลี่ยนแปลงระดับเสียงในลักษณะลอการิทึม ไม่ใช่เชิงเส้น!)

ข้อมูล Frontmatter ดั้งเดิม

title: "DC piezo buzzer volume control"
description: "Hardware acoustic manipulation! Violently hack the digital `tone()` output by integrating an inline linear analog potentiometer, physically restricting the massive current waveform to throttle the deafening square wave volume manually."
category: "Audio & Sound"
difficulty: "Easy"