หน้าแรก ดูโปรเจกต์ทั้งหมด
Expert

โปรเจกต์ Musical Treasure Box

เล่นเพลงที่กำหนดเองเมื่อ Musical Treasure Box ของคุณถูกเปิด เพื่อแจ้งเตือนว่าอาจมีคนกำลังพยายามขโมยของของคุณ!

โปรเจกต์ Musical Treasure Box

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

รายการอุปกรณ์และเครื่องมือ

1x Trim Potentiometer
🛒 สั่งซื้อ
6x Jumper wires (generic)
🛒 สั่งซื้อ
1x Resistor 10k ohm
-
2x Male/Female Jumper Wires
🛒 สั่งซื้อ
1x I used an old Tjena box but any box will do
🛒 สั่งซื้อ
1x ESD Tape, Masking
-
}

รายละเอียดและวิธีทำ

ผมสอนวิชาการเขียนโปรแกรมและอิเล็กทรอนิกส์ในระดับมัธยมปลาย และนักเรียนของผมมักจะถามบ่อยๆ ว่าจะสร้างกล่องดนตรีหรือนาฬิกาปลุกที่ส่งเสียงเมื่อระดับแสงเปลี่ยนได้อย่างไร โดยปกติแล้วพวกเขาสามารถทำให้เพลงเริ่มเล่นได้ แต่ที่ผ่านมามักจะประสบปัญหาในการทำให้เพลงหยุดเล่นกลางคัน

โปรเจกต์นี้จะช่วยให้ผู้สร้างสามารถสร้างเพลงของตัวเองเพื่อเล่นผ่าน Piezo Buzzer โดยมี Analog Input เป็นตัวกำหนดว่าเมื่อไหร่ที่เพลงควรจะหยุด ซึ่งสามารถนำไปใช้สร้างกล่องสมบัติดนตรี หรือประยุกต์ใช้กับโปรเจกต์อื่นๆ ได้หลากหลาย

ความรู้พื้นฐานที่ควรมี:

  • สามารถ ต่อวงจรบน Breadboard โดยใช้แผนผังวงจรได้
  • เข้าใจวิธีการแก้ไขและ Upload Arduino Sketch
  • รู้วิธี เปิด Serial Monitor และ ใช้ Baud rate ที่ถูกต้องเพื่อติดตามค่าต่างๆ
  • มีความเข้าใจ พื้นฐาน ว่า โน้ตดนตรี ความยาวของตัวโน้ต และ การหยุด (Rest) ถูกนำมาสร้างเป็นบทเพลงได้อย่างไร

Step 1 - Select the Components

Step 2 - Build and Test Circuit

ต่อวงจรบน Breadboard โดยใช้แผนผังวงจรที่ให้มา ทางที่ดีควรโฟกัสที่ Component ทีละชิ้นและสายไฟที่เกี่ยวข้องไปทีละส่วน

Upload Code และทดสอบ การทำงานควรจะเป็นอย่างไร? มันควรจะเล่นเพลงท่อนฮุคของเพลง Sailing ซ้ำไปซ้ำมาเมื่อมีแสงตกกระทบ LDR เพียงพอ หากมีแสงที่ LDR ไม่พอ ให้ใช้ไฟฉายหรือไฟจากโทรศัพท์ส่องไปที่ LDR หรือปรับค่า Threshold ใน Code หากคุณบัง LDR เพลงควรจะหยุดเล่น วิดีโอสาธิตรวมอยู่ด้านล่างนี้แล้ว

เมื่อคุณพอใจว่าวงจรทำงานได้ถูกต้องแล้ว ให้ถอดสายออกจากคอมพิวเตอร์ ต่อแบตเตอรี่ 9V เข้ากับบอร์ด Arduino เพื่อจ่ายไฟให้ระบบ มันควรจะทำงานในลักษณะเดิมแต่ตอนนี้คุณสามารถนำไปวางไว้ที่ไหนก็ได้ตามต้องการ

Step 3 - Move Circuit to the Box

นำวงจรไปวางไว้ที่ฐานของกล่องที่คุณเลือก คุณจะต้องทำฐานรองเพื่อประคองฐานปลอมที่จะนำมาปิดทับส่วนอิเล็กทรอนิกส์ ผมแค่ใช้เศษกระดาษแข็งสองสามชิ้นมาดัดโค้งเล็กน้อย ติดกาวให้อยู่กับที่ถ้าจำเป็น ดึง LDR ขึ้นมาให้อยู่ใกล้ด้านบนของกล่องแล้วติดเทปไว้ ใส่ฐานปลอมลงไป เติมของในกล่องแล้วปิดฝา!

เมื่อคุณเปิดฝากล่อง เสียงเพลงควรจะดังขึ้น และเมื่อคุณปิดฝา เพลงควรจะหยุดทันที ไม่ว่าเพลงจะเพิ่งเริ่มเล่นหรือใกล้จะจบก็ตาม หากไม่เป็นเช่นนั้น คุณอาจต้องปรับค่า sensorThreshold ใน Code ของคุณ

ยิ่งค่าต่ำลงเท่าไหร่ ก็ยิ่งใช้แสงน้อยลงในการกระตุ้นให้เพลงเริ่มเล่น

หากคุณมีปัญหาในการหาค่า sensorThreshold ที่เหมาะสม คุณสามารถเอาเครื่องหมาย Comment ออกจากคำสั่ง Serial.begin และ Serial.println ใน Code และติดตามค่าที่อ่านได้จาก Sensor ผ่านทาง Serial Monitor โดยมีสามบรรทัดที่ต้องเอาเครื่องหมาย Comment ออก ใช้ Ctrl+F เพื่อหาคำว่า 'Serial' ใน Code แล้ว Uncomment ส่วนของ begin และบรรทัดที่แสดงค่าของ Variable ที่ชื่อว่า 'value'

หมายเหตุ: มี Serial.println(value) อีกจุดหนึ่งที่ด้านล่างของ Procedure void loop

Step 4 - Customise the Tune

ตอนนี้เมื่อคุณได้ชิ้นงานที่ใช้งานได้แล้ว ถึงเวลาแก้ไขเพลงเพื่อให้มันเล่นสิ่งที่คุณอยากฟัง! นี่คือส่วนที่ยากที่สุดของโปรเจกต์และเป็นส่วนที่มักจะเกิดข้อผิดพลาดได้ง่ายที่สุด

คุณต้องแก้ไข 3 จุดใน Code ซึ่งทั้งหมดอยู่ที่ส่วนบนสุด คุณอาจเริ่มจากการแก้ไขแค่บรรทัดแรกของ Notes และ/หรือ Beats เพื่อดูว่าเกิดอะไรขึ้นกับเพลง เมื่อคุณเข้าใจการทำงานของมันแล้ว ให้ลองสร้างเพลงของคุณเองโดยทำตามคำแนะนำในรูปภาพด้านล่างและในส่วนของ Comment ใน Code

แก้ไข Array ของ notes เพื่อใส่โน้ตและการหยุดในเพลงของคุณ คุณสามารถใช้โน้ตเพลง (Sheet music) เพื่อดูข้อมูลเหล่านี้ได้!

นับจำนวนโน้ต/การหยุด และจำนวนจังหวะ (Beats) ซึ่งต้องมีจำนวนเท่ากัน ตัวเลขนี้คือ songLength

Shortcomings & Ideas for Extension

ระบบแจ้งเตือนนี้จะมีประสิทธิภาพในสภาพแวดล้อมที่มีแสงสว่างเพียงพอเท่านั้น Sensor ประเภทอื่น เช่น Motion Sensor หรือ Magnetic Sensor สามารถนำมาใช้เพื่อให้ผลิตภัณฑ์มีประโยชน์มากขึ้น ที่ใช้ LDR เพราะมันเป็นส่วนประกอบที่มีอยู่ในชุดอุปกรณ์ที่แจกให้นักเรียนของผม และมันทำงานได้ดีพอที่จะสาธิตแนวคิดนี้ได้

Potentiometer ถูกรวมไว้ในวงจรเนื่องจากสามารถนำมาใช้เพื่อปรับค่า Threshold สำหรับกำหนดว่าระดับแสงเปลี่ยนไปเพียงพอที่จะเล่นหรือหยุดเพลงได้หรือไม่ ตามอุดมคติแล้วควรติดตั้งไว้ที่ด้านนอกของกล่องใกล้กับฐานโดยมีการต่อสายไฟไว้ที่ด้านในกล่อง ฟีเจอร์นี้ยังไม่ได้ถูกเขียนลงใน Code ที่ให้มา แต่ถือเป็นส่วนขยายของโปรเจกต์ที่ยอดเยี่ยมมาก

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: musical-treasure-box-65c1f8
299 บาท
PromptPay QR Code