Arduino Buzzer Coffin Dance! (ตลก)
เสียงติดไวรัล: Arduino Coffin Dance
มีม "Coffin Dance" (Astronomia) ได้ครองอินเทอร์เน็ต และการแปลงจังหวะ EDM ที่ติดหูนั้นให้กลายเป็นเสียงจาก Piezo buzzer 5 โวลต์ ถือเป็นพิธีกรรมอย่างหนึ่งในการแฮกฮาร์ดแวร์ โปรเจกต์นี้จะตัด MP3 และโมดูลภายนอกออกไป บังคับให้นักพัฒนาโปรแกรมต้องจัดโครงสร้าง array อย่างลึกซึ้ง เพื่อจำลองเพลงอิเล็กทรอนิกส์ด้วยคณิตศาสตร์

Arrays ของ Arrays: Tempo และ Pitch
ทั้งเพลงจะต้องถูกแปลงเป็นตัวเลขดิบ
- Frequencies: เมโลดี้ของเพลงต้องใช้โน้ตที่แตกต่างกันหลายร้อยตัว คุณจะต้อง include ไลบรารีขนาดใหญ่
#include "pitches.h"int astronomia_melody[] = { NOTE_G4, NOTE_G4, NOTE_C5, NOTE_B4, NOTE_A4, NOTE_G4... }; - การคำนวณ BPM (Beats Per Minute): เพลง EDM พึ่งพาจังหวะ staccato ที่แม่นยำและรวดเร็วเป็นอย่างมาก array ชนิด integer มาตรฐานจะกำหนดความยาวของจังหวะ:
int astronomia_durations[] = { 4, 4, 8, 8... }; - ส่วนประกอบสำคัญของ Logic คือ "Staccato Gap" หากคุณไม่แทรกดีเลย์ 10 มิลลิวินาทีระหว่างการส่งสัญญาณ
NOTE_G4สองครั้ง Arduino จะรวมสัญญาณเหล่านั้นให้เป็นเสียงบี๊บยาว 2 วินาทีที่น่าเบื่อ!
การทำงานของ LED ที่ซิงค์กัน
เพลงติดไวรัลสมควรได้รับความโดดเด่นทางภาพ
- ภายใน
forloop หลักที่เรียงลำดับtone(buzzerPin, melody[i])ผู้ใช้สามารถแทรกคำสั่งanalogWrite()ได้ - tone frequency เอง (เช่น
392สำหรับ G4) สามารถปรับขนาดด้วยคณิตศาสตร์เพื่อควบคุม LED ได้! int brightness = map(melody[i], 200, 1000, 0, 255);analogWrite(LED_PIN, brightness);- ขณะที่ดนตรีดังขึ้น LED จะกระพริบอย่างรุนแรงและมีชีวิตชีวาทั่วห้อง โดยซิงค์กับ frequency ของมีมได้อย่างสมบูรณ์แบบ!
อุปกรณ์สำหรับสร้างมีม
- Arduino Uno/Nano
- Passive Piezo Buzzer (ต้องเป็นแบบ passive เท่านั้น. active buzzer จะไม่สามารถเล่นโน้ตดนตรีได้ จะส่งเสียงแค่สัญญาณเตือน!)
- 100-Ohm Resistor เพื่อป้องกัน pin ของ Arduino จากการสะท้อนกลับของคอยล์ buzzer
- ความอดทนอันมหาศาล ในการ copy-paste ตัวเลข integer นับร้อยตัวที่จำเป็นต่อการแมปเพลงทั้งเพลงที่มีความยาว 3 นาทีด้วยตัวเอง!