คณิตศาสตร์ FFT และ Stepper Actuator: เครื่องตั้งสายกีตาร์อัตโนมัติ
โปรเซสเซอร์เสียงมาตรฐานจะบอกคุณว่าเพลงดังแค่ไหน เครื่องตั้งสายกีตาร์อัตโนมัติ ต้องการการคำนวณทางคณิตศาสตร์เพื่อระบุค่า Frequency (Hertz) ที่แน่นอนออกมาอย่างชัดเจน ด้วยการใช้ประโยชน์จากความสามารถทางคณิตศาสตร์อันมหาศาลของ Analog-to-Digital Converter ของ Uno, ส่งผ่านการสั่นสะเทือนของสายกีตาร์ผ่าน Operational Amplifier (Op-Amps) ที่ซับซ้อน, และเชื่อมโยงความคลาดเคลื่อนของ pitch ที่แน่นอนเข้ากับ Stepper motor ขนาดใหญ่ที่ยึดติดกับลูกบิดกีตาร์, Arduino จึงสามารถตั้งสายโลหะของกีตาร์ให้สมบูรณ์แบบได้ด้วยกลไก!

LM386 Op-Amp Zero-Crossing Trap
คุณไม่สามารถอ่านสัญญาณกีตาร์ไฟฟ้าโดยตรงเข้าสู่ Arduino Analog Pin ได้อย่างแน่นอน สัญญาณอ่อนมาก (10mV) และลอยอยู่ต่ำกว่า Ground อย่างสมบูรณ์แบบ (AC Voltage - +10mV ถึง -10mV)!
- Pin
A0ของ Uno อ่านค่า0V ถึง 5Vหากมีแรงดันลบเข้าถึง, Pin จะละเว้นสัญญาณนั้นไปทางกายภาพ! - คุณต้องส่งสัญญาณกีตาร์ผ่าน LM386 Operational Amplifier (Op-Amp)!
- วงจรจะ "Biases" สัญญาณเสียงขึ้นไปที่
2.5Vอย่างแม่นยำ ตอนนี้คลื่นเสียงกีตาร์จะแกว่งอย่างรุนแรงระหว่าง2.0V และ 3.0V - กลไกการอ่านซอฟต์แวร์: อัลกอริทึมจะค้นหา
Zero-Crossingsมีกี่ครั้งต่อวินาทีที่รูปคลื่นที่ขยายแล้วจะตัดผ่านเส้นพื้นฐาน2.5V? สาย E ต่ำ = 82 HzUno คำนวณถ้า (Hertz < 82.4): สาย FLAT!
การขับเคลื่อน Gearbox (Geared Stepper)
หากโน้ตแบน (flat) Uno จะต้องขับเคลื่อนกลไกทางกายภาพเพื่อขันสายกีตาร์โลหะให้ตึงขึ้น
- คุณไม่สามารถใช้ DC Motor มาตรฐานได้; มันจะหมุนโดยไม่ควบคุมและทำให้สายขาดได้!
- คุณต้องใช้ 28BYJ-48 หรือ NEMA 17 Stepper Motor
if (currentHertz < 82.0) { // แบนมาก!
// ขันสายให้ตึงอย่างมาก!
tuningStepper.step(100); // หมุนตามเข็มนาฬิกา 100 step อย่างแม่นยำ!
} else if (currentHertz >= 82.0 && currentHertz < 82.3) {
// ใกล้มาก! ปรับละเอียด!
tuningStepper.step(2); // ขยับแค่ 2 step!
} else {
Serial.println("IN TUNE!"); // หยุดการทำงานของกลไกทั้งหมด!
}
ฮาร์ดแวร์พื้นฐานสำหรับการคำนวณ Pitch
- Arduino Uno/Nano (ความเร็วในการประมวลผลมาตรฐานเพียงพออย่างสมบูรณ์แบบ แม้ว่าบอร์ด Teensy จะดีกว่าสำหรับการติดตั้ง FFT library โดยตรง)
- LM386 Audio Amplifier Chip + ตัวต้านทาน bias และ coupling capacitor (การจัดวงจรบน breadboard ที่ซับซ้อนเป็นสิ่งจำเป็นอย่างยิ่ง มิฉะนั้นฟิสิกส์ของเสียงจะล้มเหลวทันที!)
- Standard Electric Guitar 1/4-inch Mono Jack Cable Breakout
- Geared Stepper Motor (เชื่อมต่อกับลูกบิดกีตาร์อย่างแม่นยำโดยใช้อะแดปเตอร์หกเหลี่ยมที่พิมพ์ด้วย 3D-printed แบบกำหนดเอง!)