โฉมหน้าลำโพงแผ่นเสียงจำลอง (Gramophone) ที่ปั้นมือขึ้นมาใหม่ทั้งหมด ซ่อนความฉลาดไว้ข้างใน!
Wassup ชาว Maker สายคราฟต์และสายตกแต่งบ้านทุกคน! 🛋️ ทุกวันนี้หันไปทางไหนก็เจอแต่ลำโพง Smart Speaker หน้าตาซ้ำๆ เดิมๆ ไม่เป็นทรงกระบอก ก็เป็นทรงกลมๆ มีไฟกระพริบ น่าเบื่อใช่ไหมล่ะครับ?
โปรเจกต์วันนี้เราเลยขอพาไปดูไอเดียสุดเจ๋งของ [ItsArduinoBoy] ที่จับเอาเทคโนโลยีสมัยใหม่อย่าง Arduino UNO R4 WiFi และโมดูลเครื่องเล่นเพลงมาซ่อนไว้ใน "เครื่องเล่นแผ่นเสียงจำลอง (Gramophone)" ที่ปั้นขึ้นมาเองกับมือ! งานนี้ตั้งโชว์ไว้ในห้องรับแขก ใครเดินผ่านก็ต้องนึกว่าเป็นของสะสมแอนทีค จนกว่าเพลงจะดังออกมาจากแตรทองเหลืองนั่นแหละครับ!
ดีไซน์นำหน้า ฮาร์ดแวร์ตามหลัง 🎨
ปกติพวกเราชาว Maker มักจะ "ซื้อบอร์ดมาก่อน แล้วค่อยหาเคสใส่" แต่โปรเจกต์นี้เค้าคิดกลับกันครับ! เค้าเริ่มจากการออกแบบรูปทรงแตรและฐานไม้ก่อน จากนั้นค่อยหาฮาร์ดแวร์ชิ้นเล็กๆ ยัดเข้าไป เพื่อไม่ให้เสียรูปทรงวินเทจ อุปกรณ์หลักๆ ที่เค้าใช้มีแค่ 3 ชิ้นเท่านั้น:
สมองกล: ใช้ Arduino UNO R4 Wi-Fi (เพื่อรองรับการสตรีมเพลงผ่านเน็ตในเวอร์ชันอนาคต) คอยส่งคำสั่ง Serial ควบคุมเพลง
เครื่องเล่นเพลง: ใช้ DFRobot DFPlayer Mini โมดูลจิ๋วที่อ่านไฟล์ MP3 จาก MicroSD Card ได้โดยตรง แถมมีภาคขยายเสียง (Amplifier) ในตัว ไม่ต้องต่อวงจรเพิ่มให้รก!
ลำโพง (Cavity Speaker): แทนที่จะเอาลำโพงซ่อนไว้ที่ฐาน เค้าเอาไปยัดไว้ตรงปากแตรเลยครับ เพื่อให้ตัวแตรทำหน้าที่ขยายเสียง (Acoustic work) จริงๆ ไม่ใช่แค่ตั้งโชว์!
💡 ป้ายยาไอเทมเด็ด: ใครที่อยากทำงานคราฟต์แต่ขี้เกียจปั้นดินน้ำมันหรือขึ้นรูปด้วยมือ การใช้เทคโนโลยี 3D Printing เข้ามาช่วยปริ้นท์โครงลำโพงหรือปากแตร จะทำให้งานเนี้ยบขึ้นเป็นกองแถมยังทำซ้ำได้ด้วยครับ! หากเพื่อนๆ กำลังมองหา บอร์ด Arduino UNO R4, โมดูล DFPlayer Mini หรืออยากใช้บริการรับปริ้นท์ 3D แวะมาที่ Globalbyte Shop ได้เลย เรามีของพร้อมส่ง และรับจบงานพิมพ์ 3D เนียนๆ ทัก LINE OA มาประเมินราคาได้ฟรี!
กลไกการทำงาน (How the Circuit Works) 🔌
โมดูล DFPlayer จะคุยกับบอร์ด Arduino ผ่านพอร์ต Hardware Serial (Serial1) ซึ่งบนบอร์ด UNO R4 เค้าแยกพิน D0/D1 ออกมาจาก USB ปกติ ทำให้เขียนโค้ดง่ายมากครับ การต่อสายมีแค่นี้เลย:
DFPlayer VCC → ต่อไฟ 5V
DFPlayer GND → ต่อกราว GND
DFPlayer RX → ต่อเข้าขา D1 (Serial1 TX ของ Arduino)
DFPlayer TX → ต่อเข้าขา D0 (Serial1 RX ของ Arduino)
DFPlayer SPK1/SPK2 → ต่อเข้าขั้วลำโพงตรงๆ ได้เลย
⚠️ เรื่องน่ารู้เกี่ยวกับการระบายความร้อน (Heat Management)
เนื่องจากบอร์ดและโมดูลถูกจับยัดไว้ในกล่องไม้ทึบที่ไม่มีอากาศถ่ายเท เมื่อเปิดเพลงนานๆ ระบบจะสะสมความร้อนได้ครับ ผู้พัฒนาเลยแอบเจาะช่องระบายอากาศ (Hidden vent) เล็กๆ ไว้ใต้ฐานเพื่อป้องกันไม่ให้บอร์ดสุกเกินไป ใครทำตามอย่าลืมจุดนี้นะ!
▼ คลิกเพื่อดูคลิปสาธิต, ไดอะแกรมสายไฟ และโค้ดตัวอย่าง ▲ ซ่อนรายละเอียดเพิ่มเติม
ตัวอย่างโค้ด: สั่งเล่นเพลงผ่าน Serial Monitor 💻
ผู้พัฒนาเขียนโค้ดบน Arduino IDE เพื่อสั่งงานเบื้องต้น โดยเราพิมพ์เลข 1-10 เข้าไปในคอมเพื่อเลือกเพลง, พิมพ์ 's' เพื่อหยุด และ 'p' เพื่อเล่นต่อครับ:
#include "DFRobotDFPlayerMini.h"
DFRobotDFPlayerMini player;
int currentTrack = 0;
void setup() {
Serial.begin(115200);
Serial1.begin(9600);
Serial.setTimeout(50); // ตั้งค่า timeout ให้ตอบสนองไวขึ้น
delay(1000);
Serial.println("Ready... (1-10, p, s)");
if (player.begin(Serial1)) {
Serial.println("DFPlayer Detected ✅");
player.volume(20); // ปรับระดับความดัง 0-30
} else {
Serial.println("DFPlayer NOT Detected ❌");
}
}
void loop() {
if (Serial.available()) {
String cmd = Serial.readStringUntil('\n');
cmd.trim(); // ลบช่องว่างและ \r ทิ้ง
if (cmd == "s") {
player.stop();
Serial.println("Stopped ⏹");
}
else if (cmd == "p") {
if (currentTrack > 0) {
player.start();
Serial.println("Resumed ▶");
} else {
Serial.println("No track ❌");
}
}
else {
int trackNumber = cmd.toInt();
if (trackNumber > 0 && trackNumber <= 10) {
currentTrack = trackNumber;
Serial.print("Playing: ");
Serial.println(trackNumber);
player.play(trackNumber);
} else {
Serial.println("Invalid Command ❌");
}
}
}
}
อนาคตของโปรเจกต์นี้ 🔮
ในอนาคตผู้พัฒนาวางแผนว่าจะเปลี่ยนจากการพิมพ์คำสั่งบนคอม เป็นปุ่มกดจริงๆ บนตัวเครื่อง และใช้ประโยชน์จากชิป Wi-Fi ของ UNO R4 เพื่อทำ "วิทยุอินเทอร์เน็ต (Internet Radio)" แทนการเล่นผ่านเมมโมรีการ์ด แถมอาจจะใช้บริการโรงงาน CNC (อย่างเช่น JUSTWAY) เพื่อกัดขึ้นรูปแตรทองเหลืองของจริงเลยด้วย!
🔗 แหล่งอ้างอิงและคู่มือแบบเจาะลึก:
⚡ อุปกรณ์พร้อม ไอเดียพร้อม แล้วคุณล่ะพร้อมลุยงานคราฟต์ชิ้นเอกหรือยัง? ⚡
*Disclaimer (ข้อจำกัดความรับผิดชอบ): เนื้อหาบทความนี้สรุปและเรียบเรียงมาจากโปรเจกต์งานประดิษฐ์ต่างประเทศ (Hackster.io) ข้อมูลการต่อวงจรและโค้ดอาจมีการเปลี่ยนแปลง ผู้ที่ต้องการสร้างตามควรศึกษาคู่มือและไลบรารีของอุปกรณ์ให้ละเอียด เพื่อป้องกันการลัดวงจรหรือความเสียหายที่อาจเกิดขึ้นกับฮาร์ดแวร์ครับ!