กลับไปหน้ารวมไฟล์
3-note-piano-box.md

ชื่อโปรเจกต์: 3 Note Piano Box (พร้อมลำโพงซ่อน)

เสียงพื้นฐาน: 3 Note Piano Box

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

arduino_memory_game_topview_1772681131358.png

การอ่านอินพุตจากหลายปุ่ม

ความท้าทายในที่นี้คือการเฝ้าตรวจสอบอินพุตหลายตัวอย่างต่อเนื่องโดยไม่ทำให้โค้ดหยุดทำงาน

  1. การตั้งค่า: คุณจะต่อ push button สามปุ่มเข้ากับ digital pins 2, 3, 4 ด้วยการใช้ internal pull-up resistors ของ Arduino (pinMode(2, INPUT_PULLUP)) คุณสามารถกำจัด 10k resistors ภายนอกที่ยุ่งเหยิงทั้งหมดบน breadboard ของคุณได้ โดยการต่อปุ่มโดยตรงกับ Ground
  2. ลูปหลัก: Arduino จะตรวจสอบปุ่มทั้งสามปุ่มอย่างรวดเร็วต่อเนื่อง (หลายล้านครั้งต่อวินาที)
  3. การทริกเกอร์ความถี่:
    • if (digitalRead(button1) == LOW) { tone(buzzerPin, 261); } (เล่น Middle C: 261 Hz)
    • ... (button2) -> เล่น E (329 Hz)
    • ... (button3) -> เล่น G (392 Hz)
  4. ความเงียบ: ที่สำคัญ คุณต้องใส่คำสั่ง 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

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

title: "3 Note Piano Box (w/hidden Speaker)"
description: "Play a quick tune! Build a minimalist digital piano using three push buttons to trigger distinct musical frequencies from a hidden buzzer."
category: "Audio & Sound"
difficulty: "Easy"