ชื่อโปรเจกต์: โปรเจกต์ไฟวิ่งเต้นตามจังหวะเสียง (Sound based 'Dancing' LEDs) แบบหล่อๆ
ในบันทึกโปรเจกต์นี้ พี่จะพาน้องๆ มาทำไฟ 'Dancing' LEDs ที่ขยับเต้นตามจังหวะเสียงได้ บอกเลยว่าตัวนี้ได้แรงบันาลใจมาจากพวก Audio Visualizer เจ๋งๆ นั่นแหละ จะเอาไว้เปิดโชว์หล่อๆ ขำๆ หรือจะใช้เป็นเครื่องวัดความเข้มเสียง (Sound intensity meter) ก็ได้นะ งานนี้เตรียม Big Sound sensor กับ LED อีก 18 ดวงไว้ให้พร้อมล่ะวัยรุ่น
อยากรู้ว่ามันทำงานยังไง หรือจัดวางของแบบไหน ก็เลื่อนไปดูวิดีโอ YouTube ที่พี่แปะไว้ให้ข้างล่างได้เลย จัดไป!


อุปกรณ์ที่ต้องใช้ (Hardware components)
- Arduino Uno หรือ Arduino Nano (เอาที่น้องมีเลย)
- Breadboard (โฟโต้บอร์ดแบบไม่ต้องบัดกรี)
- Big Sound sensor
- LED (18 ดวง) - รุ่นทั่วไป
- สาย Jumper แบบ Male-to-Male (13 เส้น)
การติดตั้ง (Setup)


การต่อวงจร (Connections)
- Big Sound sensor ต่อเข้าขา A0
- ขา (+) ของ Big Sound sensor ต่อเข้า 5V
- ขา (-) ของ Big Sound sensor ต่อเข้า GND (Ground) ห้ามสลับนะน้อง เดี๋ยวช็อต!
ส่วนของ LEDs ขา Cathode (ขาลบ) ของ LED ทุกดวง ให้จับจิ้มลง GND (Ground) ให้หมดเลยนะ แล้วต่อขาที่เหลือเข้าขา Digital ตามแถวนี้:
- Row 01 - ขา D3
- Row 02 - ขา D4
- Row 03 - ขา D5
- Row 04 - ขา D6
- Row 05 - ขา D7
- Row 06 - ขา D8
- Row 07 - ขา D9
- Row 08 - ขา D10
- Row 09 - ขา D11
ผลงานตอนเสร็จ (Final Look)
ใครสงสัยตรงไหน หรือมีไอเดียอยากอัปเกรดอะไรเจ๋งๆ ก็พิมพ์คอมเมนต์ไว้ข้างล่างได้เลย เดี๋ยวพี่มาดูให้
เจาะลึกด้านเทคนิค (เผื่อใครอยากเซียน)
การแสดงผลแสงตามจังหวะเสียง (Acoustic Rhythmic Visualization)
โปรเจกต์นี้คือการเปลี่ยนคลื่นเสียงรอบข้างให้กลายเป็นแพทเทิร์นแสงที่ไหลลื่น เหมาะมากสำหรับเอาไปแต่งห้องฟังเพลงหรือปาร์ตี้
- การกรองสัญญาณ Analog (Analog Signal Filtering): ตัว Arduino จะคอยสุ่มเช็กสัญญาณเสียงจาก Microphone module ที่มีความไวสูง โดยในส่วนของ Firmware เราจะใช้ Algorithm แบบ "Threshold" เพื่อเขี่ยพวกเสียงพึมพำหรือเสียงรบกวนเบาๆ ทิ้งไป มันจะได้ตอบสนองเฉพาะจังหวะกระแทก (Beats) หรือช่วงที่เสียงดังขึ้นมาจริงๆ เท่านั้น
- การหรี่ไฟแบบนุ่มนวล (Dynamic PWM Fading): แทนที่จะสั่งให้ไฟติด-ดับแบบทื่อๆ พี่ใช้การคุมแบบ PWM มาช่วย โดย Mapping ความเข้มของแสงให้สัมพันธ์กับความดังเสียง ผลที่ได้คือไฟมันจะดู "หายใจ" (Glow) และพริ้วไปตามเพลง ไม่ดูแข็งกระด้าง
การคุมสีสันแบบมีชั้นเชิง (Multicolored Coordination)
- การแบ่งสี (Color Mapping): (สำหรับเวอร์ชันแอดวานซ์) น้องสามารถเขียนให้ Arduino สลับสีระหว่าง แดง เขียว และน้ำเงิน ของพวก LED strip ตามย่านความถี่ของเสียง (เสียงเบส vs เสียงแหลม) โดยใช้ Analog Filter ง่ายๆ มากรองแยกสัญญาณเอา ทีนี้แหละ หล่อเท่ระเบิดเลยงานนี้!