
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12


วันนี้ฉันอยากจะแบ่งปันวิธีการสร้างเครื่องวิเคราะห์สเปกตรัมเสียง - 36 แบนด์โดยการรวม 4 LoL Shields เข้าด้วยกัน โครงการบ้าๆ นี้ใช้ไลบรารี FFT เพื่อวิเคราะห์สัญญาณเสียงสเตอริโอ แปลงเป็นย่านความถี่ และแสดงแอมพลิจูดของย่านความถี่เหล่านี้บน 4 x LoL Shields
ก่อนเริ่มต้น โปรดดูวิดีโอด้านล่าง:
ขั้นตอนที่ 1: สิ่งที่เราต้องการ
ส่วนประกอบอิเล็กทรอนิกส์หลักมีดังนี้:
- 4 ชิ้น x Arduino Uno R3
- 4 ชิ้น x LoLShield PCB PCBWay (บริการต้นแบบ PCB แบบกำหนดเองแบบเต็มคุณสมบัติ) รองรับแผงวงจรพิมพ์ LoLShield เหล่านี้กับฉัน
- 504 ชิ้น x LED, 3 มม. LoLShield แต่ละตัวต้องการ LED 126 ดวง และเราสามารถเลือกสีและประเภท LED ได้ 4 สี (แบบกระจายและไม่กระจาย)
- 1 pcs x แบบพกพา Charger Power Bank แบตเตอรี่ 10000/20000 mAh.
- 4 ชิ้น x ส่วนหัวชาย 40 พิน 2.54 มม.
- 2 pcs x USB Type A/B สาย อันหนึ่งใช้สำหรับการเขียนโปรแกรม Arduino อีกอันหนึ่งใช้สำหรับจ่ายไฟ Arduino จากแบตสำรอง
- 1 pcs x 3.5 มม. แจ็คสเตอริโอเสียงหญิง.
- 1 pcs x 3.5 มม. 1 ชาย 2 หญิง Audio Splitter Adapter หรือหูฟังหลาย Audio Splitter.
- 1ชิ้นx 3.5มิลลิเมตรเสียงสเตอริโอแจ็คชาย-ชายเชื่อมต่อสายเคเบิ้ล

- สายริบบิ้นสายรุ้ง 1 ม. x 8P
- สายไฟ 1 ม. x สองแกน
- 1 ชิ้น x อะคริลิคใส ขนาด A4
ขั้นตอนที่ 2: แผนผัง

LoLShield เป็นเมทริกซ์ LED แบบชาร์ลีเพล็กซ์ขนาด 9x14 สำหรับ Arduino และการออกแบบนี้ไม่รวมตัวต้านทานจำกัดกระแสใดๆ LED สามารถระบุแอดเดรสแยกกันได้ ดังนั้นเราจึงสามารถใช้เพื่อแสดงข้อมูลในเมทริกซ์ LED ขนาด 9 × 14
LoL Shield ปล่อยให้ D0 (Rx), D1 (Tx) และพินอะนาล็อก A0 ถึง A5 ฟรีสำหรับแอปพลิเคชันอื่น รูปภาพด้านล่างแสดงการใช้งานพิน Arduino Uno สำหรับโครงการนี้:

เครื่องวิเคราะห์สเปกตรัมเสียงของฉันมี 4 x (Arduino Uno + LoLShield) แหล่งจ่ายไฟและแจ็คเสียงสเตอริโอ 3.5 มม. เชื่อมต่อตามแผนผังด้านล่าง:

ขั้นตอนที่ 3: LOL SHIELD PCB & LED SOLDERING
1. LoL SHIELD PCB
. คุณสามารถอ้างถึงการออกแบบ PCB ได้ที่: https://github.com/jprodgers/LoLshield โดย Jimmie P. Rodgers

. PCBWay สนับสนุนแผงวงจรพิมพ์ LoLShield เหล่านี้ให้ฉันด้วยการจัดส่งที่รวดเร็วและ PCB คุณภาพสูง

2. LED SOLDERING
. LoLShield แต่ละตัวต้องการไฟ LED 126 ดวง และฉันใช้ชนิดและสีที่ต่างกันสำหรับ 4x LoLShields ดังนี้:
- 1 x LoLShield: ไฟ LED กระจาย สีแดง 3 มม.
- 1 x LoLShield: ไฟ LED กระจาย สีเขียว 3 มม.
- 2 x LoLShield: ไฟ LED ไม่กระจาย (ใส) สีฟ้า 3 มม.
. การเตรียม LoLShield PCB และ LED

. บัดกรี 126 LED บน LoLShield PCB เราควรตรวจสอบไฟ LED ด้วยแบตเตอรี่หลังจากบัดกรีทุกแถว - 14 LEDs
ท็อป LoLSHIELD

ด้านล่าง LoLSHIELD

. เสร็จสิ้น LoLShield หนึ่งรายการและทำการบัดกรี LoLShield ที่เหลืออีก 3 รายการ

ขั้นตอนที่ 4: การเชื่อมต่อและการประกอบ
. แหล่งจ่ายไฟบัดกรีและสัญญาณเสียงไปยัง 4xLoLShield สัญญาณสเตอริโอใช้ช่องสัญญาณเสียงสองช่อง: ซ้ายและขวาซึ่งเชื่อมต่อกับ Arduino Uno ที่ขาอะนาล็อก A4 & A5
- A4: ช่องสัญญาณเสียงด้านซ้าย
- A5: ช่องสัญญาณเสียงด้านขวา

. การจัดตำแหน่งและติดตั้ง 4 x Arduino Uno บนแผ่นอะคริลิก

. เสียบ 4 x LoLShield เข้ากับ 4 x Arduino Uno

. กาวพาวเวอร์แบงค์ที่ชาร์จแบบพกพาและแจ็คเสียงบนแผ่นอะครีลิค

. เสร็จแล้ว!

ขั้นตอนที่ 5: การเขียนโปรแกรม
คุณควรอ้างอิงถึงวิธีการทำงานของ LoLShield ตามวิธี Charlieplexing และ Fast Fourier Transform (FFT) ที่:
en.wikipedia.org/wiki/Charlieplexing
github.com/kosme/fix_fft
สำหรับ Charlieplexing เราให้ความสำคัญกับ "สามสถานะ" ของพินดิจิทัล Arduino: "สูง" (5V), "LOW" (0V) และ "INPUT" โหมด "INPUT" ทำให้พิน Arduino อยู่ในสถานะอิมพีแดนซ์สูง อ้างอิงที่:
www.arduino.cc/en/Tutorial/DigitalPins
ในโครงการของฉัน คลื่นความถี่เสียงจะแสดงบน 4 x LoL Shield และอธิบายไว้ดังแสดงด้านล่าง:

Arduino แต่ละตัวจะอ่านสัญญาณเสียงที่ช่องสัญญาณซ้าย/ขวาและดำเนินการ FFT
สำหรับ (i=0; i < 64; i++) { Audio_Input= analogRead (RIGHT_CHANNEL); // อ่านสัญญาณเสียงที่ช่อง A5 ทางขวา - ARDUINO 1 & 2 //Audio_Input = analogRead (LEFT_CHANNEL); // อ่านสัญญาณเสียงที่ช่อง A4 ด้านซ้าย - ARDUINO 3 & 4 Real_Number = Audio_Input; Imaginary_Number = 0; } fix_fft(Real_Number, Imaginary_Number, 6, 0); // ทำการแปลงฟูริเยร์อย่างรวดเร็วด้วย N_WAVE=6 (2^6=64) สำหรับ (i=0; i< 32;i++) { Real_Number = 2*sqrt(Real_Number * Real_Number + Imaginary_Number * Imaginary_Number); }
. Arduino 1 - แสดงแถบความถี่แอมพลิจูด 01 ~ 09 ของช่องสัญญาณขวา (A5)
สำหรับ (int x=0; x <14; x++) { สำหรับ (int y=0; y <9; y++) { if (x < Real_Number [y]) // แสดงย่านความถี่ 01 ถึง 09 { LedSign:: Set (13-x, 8-y, 1); // LED ON } อื่น { LedSign:: Set (13-x, 8-y, 0); // LED ปิด } } }
. Arduino 2 - แสดงแถบความถี่แอมพลิจูด 10 ~ 18 ของช่องสัญญาณขวา (A5)
สำหรับ (int x=0; x <14; x++) { สำหรับ (int y=0; y <9; y++) { if (x < Real_Number [9 + y]) // แสดงย่านความถี่ 10 ถึง 18 { LedSign::Set(13-x, 8-y, 1); // LED ON } อื่น { LedSign:: Set (13-x, 8-y, 0); // LED ปิด } } }
. Arduino 3 - แสดงแถบความถี่แอมพลิจูด 01 ~ 09 ของช่องสัญญาณด้านซ้าย (A4)
รหัสจะเหมือนกับ Arduino 1 และช่องสัญญาณเสียงด้านซ้ายเชื่อมต่อกับ Arduino ที่ขาอะนาล็อก A4
. Arduino 4 - แสดงแถบความถี่แอมพลิจูด 10 ~ 18 ของช่องสัญญาณด้านซ้าย
รหัสจะเหมือนกับ Arduino 2 และช่องสัญญาณเสียงด้านซ้ายเชื่อมต่อกับ Arduino ที่ขาอะนาล็อก A4
ขั้นตอนที่ 6: เสร็จสิ้น




เครื่องวิเคราะห์สเปกตรัมแบบพกพานี้สามารถเชื่อมต่อโดยตรงกับแล็ปท็อป/เดสก์ท็อป โทรศัพท์มือถือ แท็บเล็ต หรือเครื่องเล่นเพลงอื่นๆ ผ่านแจ็คเสียงสเตอริโอ 3.5 มม. โครงการนี้ดูบ้า หวังว่าคุณจะชอบมัน!
ขอบคุณสำหรับการอ่านของคุณ !!!
แนะนำ:
วิธีทำ DIY 32 Band LED Audio Music Spectrum Analyzer โดยใช้ Arduino Nano ที่บ้าน #arduinoproject: 8 ขั้นตอน

วิธีทำ DIY 32 Band LED Audio Music Spectrum Analyzer โดยใช้ Arduino Nano ที่บ้าน #arduinoproject: วันนี้เราจะสร้างเครื่องวิเคราะห์สเปกตรัมเพลงเสียง LED 32 แบนด์ที่บ้านโดยใช้ Arduino มันสามารถแสดงสเปกตรัมความถี่และเล่นเพลงได้ในเวลาเดียวกันหมายเหตุ max7219LED ต้องต่อที่หน้าตัวต้านทาน 100k ไม่เช่นนั้นเสียงของสปี
DIY FFT Audio Spectrum Analyzer: 3 ขั้นตอน

DIY FFT Audio Spectrum Analyzer: เครื่องวิเคราะห์สเปกตรัม FFT เป็นอุปกรณ์ทดสอบที่ใช้การวิเคราะห์ฟูริเยร์และเทคนิคการประมวลผลสัญญาณดิจิทัลเพื่อให้การวิเคราะห์สเปกตรัม การใช้การวิเคราะห์ฟูริเยร์ทำให้สามารถแปลงค่าหนึ่งค่าใน ตัวอย่างเช่น โดเมนเวลาต่อเนื่องที่แปลง
น้ำพุเต้นรำ: Arduino พร้อม MSGEQ7 Spectrum Analyzer: 8 ขั้นตอน

น้ำพุเต้นรำ: Arduino พร้อม MSGEQ7 Spectrum Analyzer: การรับสัญญาณเสียงและแปลงเป็นปฏิกิริยาทางสายตาหรือทางกลไกนั้นน่าสนใจมาก ในโครงการนี้ เราจะใช้ Arduino Mega เพื่อเชื่อมต่อกับเครื่องวิเคราะห์สเปกตรัม MSGEQ7 ที่รับสัญญาณเสียงอินพุตและดำเนินการแบนด์
DIY Arduino Audio Signal Spectrum Analyzer: 3 ขั้นตอน

DIY Arduino Audio Signal Spectrum Analyzer: นี่คือเครื่องวิเคราะห์เสียงที่ง่ายมากพร้อมโหมดภาพที่เปลี่ยนแปลงได้
RGB Matrix + Spectrum Analyzer: 10 ขั้นตอน (พร้อมรูปภาพ)

RGB Matrix + Spectrum Analyzer: Love LEDs หรือไม่ฉันด้วย! ในคำแนะนำนี้ ฉันจะแสดงวิธีสร้าง RGB LED Matrix ที่ยอดเยี่ยม ซึ่งสามารถเปลี่ยนเป็น Spectrum Analyzer ได้อย่างง่ายดายด้วยการคลิกปุ่ม หลังจากอ่าน , หากคุณคิดว่าคำแนะนำนี้ได้รับโปรดลงคะแนน