ชื่อโปรเจกต์: Music Maker
อัลกอริทึมการผสมสัญญาณความถี่เสียง (Acoustic Frequency Modulation)
การจะปั่นความถี่เสียงให้ออกมาหลายๆ ออกเตฟ (Octave) โดยใช้ชิป ATmega2560 เนี่ย บอกเลยว่าต้องเข้าไปจัดการกับพวก Hardware Timers ที่คุมส่วนของ Pulse Width Modulation (PWM) แบบเน้นๆ เลยนะน้อง โดยเราจะเอาช่วงตัวโน้ตดนตรีมาตรฐานมา Mapping เข้ากับตัวแปรความถี่ Hertz (Hz) แล้วเขียน Logic สั่งให้ชุดคำสั่งมันบังคับให้ Digital Output Pins มันเกิดการสั่น (Oscillation) ด้วยความเร็วสูงตามลำดับที่เราวางไว้ จัดไปวัยรุ่น!
การวางโครงสร้างลำโพงแบบพกพา (Portable Acoustic Chassis Mapping)
ตัว Prototype ชุดนี้พี่ออกแบบมาให้ทางลัด ไม่ต้องไปต่อวงจร Amplifier ขยายเสียงให้มันหนักเครื่อง เราเล่นต่อตรงเข้าลำโพง Passive ขนาด 8-Ohm ได้เลย แค่เอา Alligator Clips (ปากคีบ) หนีบจาก Pins บนบอร์ดเข้ากับขดลวดลำโพงตรงๆ ก็ส่งสัญญาณได้แล้ว ส่วนเรื่องพลังงานก็หายห่วง เพราะ Logic การสร้างเสียงเนี่ยมันรันผ่านไฟ DC จากแบตเตอรี่ 9V ทั่วไปได้สบายๆ โดยอาศัย Voltage Regulator บนบอร์ดช่วยคุมแรงดันให้ ห้ามทำช็อตนะตัวนี้!
ส่วนตัวอัลกอริทึมเบื้องหลัง พี่ใช้ Array ในภาษา C++ เก็บค่าตัวโน้ตแต่ละตัวเอาไว้ แล้วจับคู่กับค่า Delay (Note Value) ให้มันสัมพันธ์กัน ซึ่งเจ้า Array พวกนี้จะทำหน้าที่เหมือนแผ่นโน้ตเพลงดิจิทัลที่ป้อนเข้าสู่การทำงานของ Tone() ให้มันรันผ่าน Vectors ได้อย่างแม่นยำ พอเรา Compile ชุดคำสั่งเสร็จผ่านทาง USB เรียบร้อยแล้ว ก็แค่ถอดสาย Debug ออก แล้วปล่อยให้มันบรรเลงเพลงเองแบบ Autonomous ได้เลย หล่อเท่เลยงานนี้!