เฮลโหลชาว Maker! เคยเห็นเครื่องใช้ไฟฟ้าเก่าๆ ที่วางทิ้งไว้ในบ้านไหม? อย่าเพิ่งทิ้งนะ! วันนี้เราจะพาไปดูโปรเจกต์ Bio Contractor ที่จะเปลี่ยนเครื่องกระตุ้นกล้ามเนื้อยุค 90 (electrostimulator) ให้กลายเป็นเครื่องดนตรีสังเคราะห์ (Synthesizer) และ Drum Machine สุดดิบที่สร้างเพลงได้ไม่ซ้ำใคร!
1. ปลุกชีพเครื่องเก่า: ไอเดียและแรงบันดาลใจ
เครื่องดนตรีแบบเดิมๆ อาจมีข้อจำกัดในการเรียนรู้ แต่เครื่องดนตรีที่เราสร้างจากขยะอิเล็กทรอนิกส์จะให้เสียงที่คาดเดาไม่ได้และเป็นเอกลักษณ์เฉพาะตัวสุดๆ โปรเจกต์นี้เริ่มต้นจากการนำเครื่องกระตุ้นกล้ามเนื้อเก่าที่มีปุ่มหมุน (Potentiometer) และสวิตช์จำนวนมากมาดัดแปลงใหม่ โดยใช้เพียงบอร์ด Arduino และการเดินสายไฟเพียงเล็กน้อยเท่านั้น
2. เจาะลึกหัวใจหลัก: Arduino Nano R4
ในโปรเจกต์นี้เราเลือกใช้บอร์ด Arduino Nano R4 เพราะมีหน่วยความจำที่กว้างขวาง (Flash 256 kB / SRAM 32 kB) ซึ่งสำคัญมากสำหรับการเก็บ Audio Samples เสียงกลองครับ แถมยังมี 12-bit DAC ในตัวทำให้คุณภาพเสียงออกมาดีกว่าบอร์ดรุ่นเก่าๆ เยอะเลย
💡 Maker Tip: ถ้าเพื่อนๆ กำลังมองหาบอร์ด Arduino Nano R4 ของแท้ หรืออุปกรณ์อิเล็กทรอนิกส์อื่นๆ สำหรับทำโปรเจกต์นี้ สามารถเข้าไปเช็คสินค้าคุณภาพได้ที่ Globalbyte เลยครับ มีครบจบในที่เดียว!
3. การเชื่อมต่อวงจร (The Circuit)
วงจรพื้นฐานที่ใช้ในโปรเจกต์นี้ประกอบด้วย:
- ปุ่มหมุน (Potentiometers) 5 ตัว ต่อเข้าช่อง Analog Inputs
- สวิตช์ (Toggle Switches) 2 ตัว ต่อเข้า Digital Inputs
- LED 1 ดวง สำหรับแสดงสถานะ
- Audio Jack สำหรับส่งสัญญาณเสียงออกไปยัง Mixer หรือลำโพง
View More Images
4. ขั้นตอนการสร้างเสียง (Sound Generation)
รู้ไหมครับว่า Arduino เล่นเสียงคุณภาพดีได้ด้วยนะ! ขั้นตอนคือการใช้โปรแกรม Audacity ส่งออกไฟล์เสียงเป็นแบบ raw, signed 8-bit PCM ที่ความถี่ 16384 Hz แล้วแปลงเป็น Array ด้วย Python Script เพื่อนำไปใช้กับไลบรารี Mozzi ในการควบคุมเสียงและจังหวะครับ
5. ปรับแต่งเคสด้วย 3D Printing
หากเครื่องเก่าของคุณไม่มีปุ่มหมุนหรือเคสที่สวยงาม คุณสามารถออกแบบและปริ้นท์หน้ากากใหม่ได้เลยครับ โปรเจกต์นี้มีไฟล์ STL สำหรับหน้ากาก (Front panel) ให้โหลดไปใช้ด้วยนะ
🛒 ป้ายยาตรงนี้: อยากได้หน้ากากเท่ๆ แต่ไม่มีเครื่องปริ้นท์? สั่งทำ 3D Printing Service กับทาง Globalbyte ได้เลยนะจ๊ะ เรามีวัสดุคุณภาพสูงให้เลือกเพียบ!
คลิกเพื่อดูโมเดล 3D บน Sketchfab
6. ส่วนของโค้ด (Source Code)
นี่คือตัวอย่างโค้ดเบื้องต้นสำหรับการใช้งานร่วมกับไลบรารี Mozzi ครับ
#include <MozziGuts.h>
#include <Sample.h>
#include "samples/drum_kit.h"
void setup() {
startMozzi();
pinMode(LED_BUILTIN, OUTPUT);
}
void updateControl() {
int knobValue = analogRead(A0);
int bpm = map(knobValue, 0, 1023, 60, 200);
}
int updateAudio() {
return (int)asSample.next();
}
void loop() {
audioHook();
}
View Full Code
*คำเตือน: เนื้อหานี้เป็นการสรุปและเรียบเรียงจากบทความต้นฉบับภาษาอังกฤษ ข้อมูลฉบับภาษาไทยอาจมีความคลาดเคลื่อนบางประการจากการตีความหรือย่อเนื้อหา โปรดตรวจสอบข้อมูลทางเทคนิคเพิ่มเติมได้ที่
ลิงก์ต้นฉบับที่นี่