ชื่อโปรเจกต์: 3 Note Piano Box (พร้อมลำโพงซ่อน)
เสียงพื้นฐาน: 3 Note Piano Box
3 Note Piano Box แนะนำแนวคิดเกี่ยวกับ polyphony และ interactive state machines ในขณะที่โปรเจกต์ Buzzer ก่อนหน้านี้มุ่งเน้นไปที่การเล่นเพลงที่ตั้งโปรแกรมไว้ล่วงหน้าโดยอัตโนมัติ โปรเจกต์นี้จะเปลี่ยน Arduino ให้กลายเป็นเครื่องดนตรีที่เล่นได้

การอ่านอินพุตจากหลายปุ่ม
ความท้าทายในที่นี้คือการเฝ้าตรวจสอบอินพุตหลายตัวอย่างต่อเนื่องโดยไม่ทำให้โค้ดหยุดทำงาน
- การตั้งค่า: คุณจะต่อ push button สามปุ่มเข้ากับ digital pins
2, 3, 4ด้วยการใช้ internal pull-up resistors ของ Arduino (pinMode(2, INPUT_PULLUP)) คุณสามารถกำจัด 10k resistors ภายนอกที่ยุ่งเหยิงทั้งหมดบน breadboard ของคุณได้ โดยการต่อปุ่มโดยตรงกับ Ground - ลูปหลัก: Arduino จะตรวจสอบปุ่มทั้งสามปุ่มอย่างรวดเร็วต่อเนื่อง (หลายล้านครั้งต่อวินาที)
- การทริกเกอร์ความถี่:
if (digitalRead(button1) == LOW) { tone(buzzerPin, 261); }(เล่น Middle C: 261 Hz)... (button2)-> เล่น E (329 Hz)... (button3)-> เล่น G (392 Hz)
- ความเงียบ: ที่สำคัญ คุณต้องใส่คำสั่ง
else { noTone(buzzerPin); }ไว้ท้ายสุด มิฉะนั้น หากคุณปล่อยปุ่ม Buzzer จะส่งเสียง Middle C ค้างอยู่ตลอดไป!
ฮาร์ดแวร์ที่จำเป็น
- Arduino Uno/Nano: หัวใจหลักของ synthesizer
- Tactile Push Button สามปุ่ม
- Active or Passive Piezo Buzzer
- ตู้ขนาดเล็ก: (ไม่บังคับ) สำหรับติดตั้งปุ่มและซ่อนสายไฟที่ยุ่งเหยิง เพื่อสร้าง "Piano Box" ที่ดูเรียบร้อย
โปรเจกต์นี้เป็นก้าวสำคัญในการสร้าง synthesizer แบบ 8-key octave ที่สมบูรณ์ และการเรียนรู้การใช้ Mozzi audio generation library