เจ้าเครื่องแสดงสเปกตรัมเสียง 32 แถบ ที่ทำจาก Raspberry Pi RP2040 ตัวนี้ มันสามารถฟังและวิเคราะห์สเปกตรัมผ่านไมโครโฟนแบบอิเล็กเตร็ตได้เลย แค่วางเจ้าแกดเจ็ตนี้ไว้ใกล้ลำโพง มันก็จะแสดงสเปกตรัมบนจอ LED dot matrix ขนาด 32x8 ได้ที่ 70 fps ใครอยากรู้รายละเอียดและโค้ดแบบจัดเต็ม ไปดูได้ที่ GitHub นะ (ลิงก์อยู่ในใจรุ่นพี่แล้ว ไปหาเอาเองนะน้อง ฝึกหัดค้นคว้าหน่อย!)
Audio Engineering: 32-Band Visualizer
Audio Spectrum Visualizer โปรเจกต์สุดต๊าชที่เปลี่ยนสมการคณิตศาสตร์สุดโหด (Fast Fourier Transform) ให้เป็นโชว์ไฟ LED มันส์ๆ บนเมทริกซ์ LED
The Fast Fourier Transform (FFT)
เวลามีเพลงเล่นเนี่ย มันคือคลื่นเสียงความถี่หลายๆ อันซ้อนกันยุ่งเหยิงหมด Arduino ของเราต้อง "แกะ" เพลงนั้นออกมาแบบเรียลไทม์
- Sampling: พินอนาล็อกจะอ่านคลื่นเสียงจากไมโครโฟน 10,000 ครั้งต่อวินาที
- The Algorithm: อัลกอริทึม FFT จะมาจัดการคลื่นยุ่งเหยิงพวกนั้น แยกออกเป็น "บิน" (Bins)
- The Bins: Bin 1 คือเสียงเบสต่ำ (20-60Hz), Bin 5 คือเสียงร้อง (300Hz), ส่วน Bin 30 คือเสียงสูงแหลม (10kHz+)
- Drawing: Arduino จะแมปความดังของแต่ละบินมาเป็นความสูงของกราฟแท่งบนหน้าจอ LED (คล้ายๆ กับการตั้งค่า MSGEQ7 หรือการใช้ LED Matrix)
Hardware Components
- Arduino Uno/Mega: ต้องใช้ตัวที่ประมวลผลเร็วหน่อยนะ
- MAX7219 Dot Matrix Modules (x4 หรือ x8): หรือจะใช้ WS2812B NeoPixel strips เป็นจอแสดงผลใหญ่ๆ ก็ได้
- MAX4466 Microphone Amplifier: สำหรับดึงเสียงจากในห้อง
- ตัวเลือกเสริม: MSGEQ7 IC ซึ่งเป็นชิปฮาร์ดแวร์พิเศษที่ทำหน้าที่แยกความถี่ให้อัตโนมัติ ช่วยประหยัดพลังประมวลผลของ Arduino ไปได้โข
โปรเจกต์นี้ตั้งโชว์บนโต๊ะหรือในศูนย์บันเทิงที่บ้านได้อย่างภูมิใจ พิสูจน์ให้เห็นว่าคณิตศาสตร์ลึกๆ ก็สร้างศิลปะสวยงามได้นั่นแหละ อย่าลืมสู้งานนะน้อง!