นวัตกรรมเครื่องดนตรีไร้คีย์: สร้างเปียโนแบบสัมผัสด้วย Arduino และ Capacitive Sensing
โปรเจกต์นี้จะเปลี่ยนแนวคิดเครื่องดนตรีแบบเดิมๆ จากที่ต้องกดคีย์กลไก มาเป็นใช้เซ็นเซอร์สัมผัสแทน เราใช้หลักการของไฟฟ้าสถิตและการเปลี่ยนแปลงความจุไฟฟ้า (Capacitance) มาสร้างเมโลดี้ เพียงแค่นิ้วแตะเบาๆ
โปรเจกต์นี้ทำอะไร?
ก็คือการสร้างเปียโนขึ้นมาเองตั้งแต่ต้นเลยน่ะ มันไม่มีปุ่มกดแบบเปียโนทั่วไป แต่ใช้เซ็นเซอร์สัมผัสแทน เพราะฉะนั้นไม่ต้องกด แค่แตะก็พอ พอแตะแล้วก็จะมีเสียงโน้ตดนตรีออกมา และสุดท้ายเราก็สามารถเอาโน้ตหลายๆ เสียงมาประกอบกันเป็นเมโลดี้ได้เลย
ทำไมถึงอยากทำมันขึ้นมา?
พูดตรงๆ เลยว่าพี่ไม่เคยมีประสบการณ์ด้านดนตรีหรือเครื่องดนตรีอะไรเลยสักนิด เลยคิดว่ามาทำเครื่องดนตรีใช้เองดีกว่า! ถ้าจะให้ธรรมดาก็แค่ต่อปุ่มกด (Button) กับ Arduino UNO แล้วส่งเสียงออกลำโพง แต่มันน่าเบื่อไป! เพื่อให้มันตื่นเต้นและเท่ห์ขึ้น เลยใช้เซ็นเซอร์สัมผัสแทนสวิตช์หรือปุ่มกดนั่นเอง
มันทำงานยังไง?
หัวใจหลักของโปรเจกต์นี้คือการใช้ไลบรารี <CapacitiveSensor.h> ซึ่งสามารถเปลี่ยนขา Digital I/O ของ Arduino ให้กลายเป็นเซ็นเซอร์ตรวจจับการสัมผัสได้
#include <CapacitiveSensor.h>
ทฤษฎี RC Time Constant: กลไกนี้อาศัยวงจร RC (ตัวต้านทาน-ตัวเก็บประจุ) แบบพื้นฐาน เซ็นเซอร์ประกอบด้วยตัวต้านทานค่าสูง (10k - 10M โอห์ม) ต่อเข้ากับแผ่นฟอยล์อะลูมิเนียมที่ทำหน้าที่เป็นอิเล็กโทรด
- Arduino ส่งสัญญาณพัลส์ (ผ่านขา Send Pin) ผ่านตัวต้านทานไปยังแผ่นฟอยล์
- สัญญาณจะถูกส่งกลับมาที่ขา Receive Pin
- ระบบจะคำนวณหา "ค่าคงที่เวลา (Time Constant)" หรือเวลาที่ใช้ในการประจุตัวเก็บประจุจนเต็ม
เมื่อร่างกายมนุษย์ (ซึ่งมีความจุไฟฟ้าอยู่ในตัว) เข้าใกล้หรือสัมผัสแผ่นฟอยล์ ความจุรวมของระบบจะเปลี่ยนไปตามสูตร $T = R \times C$ เมื่อ $C$ เพิ่มขึ้น เวลา $T$ ที่ใช้รับสัญญาณก็จะยาวนานขึ้น Arduino จะตรวจจับการเปลี่ยนแปลงนี้ในหน่วยไมโครวินาทีและตีความว่าเป็นการ "สัมผัส"

แผนภาพวงจร
การออกแบบวงจรเน้นเรียบง่ายแต่ประสิทธิภาพสูง โดยใช้ Arduino Uno เป็นไมโครคอนโทรลเลอร์หลักสำหรับประมวลผลสัญญาณจากจุดสัมผัสทั้งหมด 7 จุด

ในวงจรนี้ เราใช้ตัวต้านทาน 10k โอห์ม ต่อคร่อมระหว่างขาส่ง (Send) และขารับ (Receive) สำหรับการตรวจจับสัมผัส นอกจากนั้น เราใช้ ทรานซิสเตอร์แบบ NPN ทำหน้าที่เป็นสวิตช์อิเล็กทรอนิกส์เพื่อขับกระแสไปยังลำโพง เนื่องจากขา I/O ของ Arduino มีกระแสจำกัด การใช้ทรานซิสเตอร์ช่วยให้ลำโพงทำงานได้เต็มประสิทธิภาพและผลิตเสียงที่ชัดเจนขึ้น
อุปกรณ์และการเชื่อมต่อ
Arduino Uno

Breadboard

ตัวต้านทาน (Resistors)

ทรานซิสเตอร์ (Transistor)

ลำโพง (Speaker)


คีมจระเข้ (Alligator Clips)

แถบฟอยล์อลูมิเนียม (Aluminium Foil Strip)

โน้ตดนตรี
ในส่วนของซอฟต์แวร์ เราได้กำหนดความถี่เป็นหน่วยเฮิรตซ์ (Hz) ให้ตรงกับโน้ตดนตรีพื้นฐาน เพื่อให้เครื่องดนตรีของเราสามารถเล่นเพลงจริงๆ ได้ ความถี่พวกนี้เก็บไว้ในรูปแบบอาร์เรย์ตามนี้เลย:
| โน้ต | ความถี่ (Hz) |
|---|---|
| สะ (โด) | 240 |
| เร | 270 |
| กะ (มี) | 300 |
| มะ (ฟา) | 320 |
| ปะ (ซอล) | 360 |
| ทะ (ลา) | 400 |
| นิ (ซี) | 450 |
int freq[] = {240,270,300,320,360,400,450,480};
ปัญหาที่เจอ
- เสียงรบกวน (White Noise): ตอนที่ยังไม่เล่นเพลง ลำโพงจะส่งเสียงซ่าๆ ออกมา นี่เกิดจากสัญญาณรบกวนทางไฟฟ้าและค่าอินพุตที่ลอยตัว (Floating) แก้ได้โดยเพิ่มการกรองสัญญาณดิจิทัล (Digital Filtering) ในโค้ด
- เสียงดังไม่คงที่ (Inconsistent Volume): เสียงดนตรีดังค่อยไม่สม่ำเสมอ สาเหตุหลักมาจากการต่อสายที่หลวมๆ ปัญหานี้มักเกิดจากสายบนเบรดบอร์ดหรือคีมจระเข้ต่อไม่แน่น ทำให้ความต้านทานรวมของวงจรเปลี่ยนไป
- ฝีมือการเล่น (Playing Skill): การจะเล่นเพลง Happy Birthday ให้ได้เนียนๆ ต้องฝึกซ้อมกันพอสมควรเลย โดยเฉพาะถ้าไม่มีพื้นฐานดนตรีมาก่อน การเล่นให้จังหวะแม่นยำบนระบบสัมผัสต้องใช้การฝึกฝน เพราะเวลาตอบสนองของเซ็นเซอร์อาจต่างจากปุ่มกดปกติหน่อยนึง ฝึกไปเถอะน้อง สู้ๆ!
การนำไปใช้งาน
วงจรนี้เอาไปทำเป็นเซ็นเซอร์สัมผัส (Touch Sensor) ได้เลยจ้า เทคโนโลยี Capacitive Touch จากโปรเจคนี้สามารถต่อยอดไปทำอะไรได้อีกเพียบ:
- ระบบรักษาความปลอดภัย: เอาไปติดที่ลูกบิดหรือมือจับประตู เพื่อตรวจจับการสัมผัสของมือขโมย แล้วก็สั่งให้ปล่อยสัญญาณเตือนได้
- เครื่องดนตรีแบบพกพา: หรือจะเอาไปทำเปียโนบางเฉียบแบบกระดาษก็ได้ หนาเท่ากระดาษแข็งเท่านั้นเอง ไม่มีปุ่มกด แต่ใช้เซ็นเซอร์สัมผัสแทน แถมพับเก็บได้ เอาไปเล่นที่ไหนก็สะดวก
- คีย์บอร์ดคอมพ์แบบยืดหยุ่น: ทำเป็นคีย์บอร์ดคอมพิวเตอร์แบบงอได้ก็ยังได้
สรุปปิดโปรเจค
โปรเจคนี้เป็นจุดเริ่มต้นที่เจ๋งมากสำหรับการเรียนรู้การทำงานของเซ็นเซอร์และการประมวลผลสัญญาณดิจิทัล แม้ว่าผลลัพธ์ที่ได้อาจจะดูคล้ายเปียโนปนฮาร์โมเนียม แต่สิ่งสำคัญที่สุดคือความสนุกที่ได้สร้างเครื่องดนตรีขึ้นมาจากของใกล้ตัว และแรงบันดาลใจที่จะต่อยอดความรู้ด้าน embedded engineering ไปสร้างสรรค์สิ่งอื่นๆ ต่อไป
เป็นโปรเจคที่สนุกมากเลยพวกเรา ได้เรียนรู้เยอะแยะตอนทำ ไม่รู้เหมือนกันว่ามันคือเปียโนหรือฮาร์โมเนium แต่ว่าเล่นดนตรีกับมันแล้วมันส์สุดๆ ไปเลย! สู้งานต่อไปนะน้อง!