สารบัญ:
- ขั้นตอนที่ 1: ประกอบ LoL Shield
- ขั้นตอนที่ 2: บัดกรีสายไฟเข้ากับแจ็คเสียง
- ขั้นตอนที่ 3: โปรแกรม Arduino
- ขั้นตอนที่ 4: สนุก !
วีดีโอ: LoL Shield Audio Spectrum VU Meter: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
นี่คือเครื่องวัด VU สเปกตรัมเสียงโดยใช้ LoL Shield สำหรับ Arduino LoL Shield เป็นเมทริกซ์ LED ขนาด 14 x 9 ซึ่งพอดีกับ Arduino เป็นโล่และควบคุมผ่านวิธีการที่มีประสิทธิภาพที่เรียกว่า Charlieplexing ออกแบบโดย Jimmie P. Rodgers โปรเจ็กต์นี้ใช้ไลบรารี Fast Fourier Transform สำหรับ Arduino เพื่อวิเคราะห์สัญญาณเสียง แยกออกเป็นย่านความถี่ และแสดงข้อมูลนั้นบน LoL Shield ไมโครคอนโทรลเลอร์ Arduino นั้นเร็วพอที่จะคำนวณการแปลงฟูริเยร์อย่างรวดเร็ว มันใช้งานได้จริงตามชื่อของมันและรวดเร็วและแม่นยำอย่างน่าประหลาดใจ เนื่องจากไมโครคอนโทรลเลอร์ทำงานทั้งหมด โปรเจ็กต์นี้จึงพกพาสะดวกหากคุณใช้แบตเตอรี่ หน้าเว็บสำหรับโครงการนี้อยู่ที่ https://andydoro.com/vulol/ & amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;br /&แอมป์ แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;gt; ชิ้นส่วนที่จำเป็น:
- LoL Shield
- Arduino (แนะนำ Diavolino)
- แจ็คเสียง (ฉันใช้ปลั๊กโทรศัพท์โมโน 1/8 "ตัวผู้)
- รหัส Arduino
- แหล่งจ่ายไฟ (แหล่งจ่ายไฟ DC, สาย USB, แบตเตอรี่ 9V เป็นต้น)
ขั้นตอนที่ 1: ประกอบ LoL Shield
ทำตามคำแนะนำเพื่อประกอบ LoL Shield ที่นี่ ดูนั่นใช้เวลาไม่นานเลย!
ขั้นตอนที่ 2: บัดกรีสายไฟเข้ากับแจ็คเสียง
ฉันใช้ปลั๊กโทรศัพท์โมโน 1/8 ตัวผู้ ตามชื่อที่ Radioshack แต่คุณสามารถใช้สายสัญญาณเสียงใดก็ได้ที่เหมาะกับการตั้งค่าระบบเสียงของคุณ คุณสามารถใช้ไมโครโฟนได้หากต้องการ สำหรับปลั๊กประเภทนี้ ฉันบัดกรีสายไฟสองเส้น ฉันใช้สีแดงและสีดำ LoL Shield ปล่อยให้พินอะนาล็อก 4 และ 5 ว่างสำหรับอินพุต รหัสของฉันใช้พิน 5 คุณสามารถต่อสายสีแดงกับพินอะนาล็อก 5 ของ LoL Shield และสายสีดำกับ GND คุณไม่จำเป็นต้องบัดกรีฉันแค่ใส่ลวดเข้าไปแล้วงอ
ขั้นตอนที่ 3: โปรแกรม Arduino
ตอนนี้เราต้องตั้งโปรแกรม Arduino เพื่อควบคุม LoL Shield
ขอแนะนำให้ใช้ Diavolino เพื่อควบคุม LoL Shield เพื่อป้องกันผลกระทบ "ghosting" บน LED เนื่องจาก LED สีเขียวติดบนพื้นผิวที่เชื่อมต่อกับพิน 13 บน Arduino มาตรฐาน แต่ Arduino มาตรฐานจะทำงานได้ดี
ต้องใช้ไลบรารี Arduino สองไลบรารี: - ไลบรารี FFT ที่พบในฟอรัม Arduino - ไลบรารี Charlieplexing สำหรับ LoL Shield
การติดตั้งไลบรารี่สำหรับ Arduino อาจเป็นเรื่องยุ่งยากเล็กน้อย หากคุณไม่เคยทำมาก่อน แต่คุณก็ทำได้ดี!
ทำตามคำแนะนำในการติดตั้งไลบรารี Arduino ที่นี่:
www.arduino.cc/en/guide/libraries
ไลบรารี FFT แบ่งสัญญาณเสียงออกเป็น 64 ย่านความถี่ LoL Shield คือไฟ LED 14 x 9 เราเฉลี่ยคลื่นความถี่ 64 แถบเข้าด้วยกันเป็น 14 แถบความถี่ เรากำลังทิ้งข้อมูลบางส่วนเพราะ 14 ไม่ได้แบ่งออกเป็น 64 อย่างเท่าๆ กัน แต่อะไรก็ตาม ค่าของแต่ละช่วงความถี่จะทำการรีแมปจาก 0 ถึง 9
คุณสามารถคัดลอกโค้ด Arduino ด้านล่าง รับโค้ดจาก GitHub (แนะนำ) หรือดาวน์โหลดไฟล์. ZIP ซึ่งรวมถึงไลบรารีและโค้ด Arduino
นี่คือลิงค์ GitHub:
github.com/andydoro/LoLShield-FFT
ด้านล่างเป็นรหัส Arduino:
/* FFT สำหรับ LoL Shield v0.9 โดย Andy Doro https://andydoro.com/ ตามไลบรารี FFT และโค้ดจากฟอรัม Arduino และไลบรารี Charlieplexing สำหรับ LoL Shield */
#รวม "Charliplexing.h"
#รวม "fix_fft.h"
#define AUDIOPIN 5 ตัวอักษร [128], data[128]; ถ่าน data_avgs[14];
int i=0, วาล;
การตั้งค่าเป็นโมฆะ () { LedSign:: Init (); // เริ่มต้น LoL Shield }
วงเป็นโมฆะ () {
สำหรับ (i=0; i < 128; i++) { val = analogRead (AUDIOPIN); data = วาล; ฉัน = 0; };
fix_fft(ข้อมูล, im, 7, 0);
สำหรับ (i=0; i< 64;i++){ data = sqrt(data * data + im * im); // นี่รับค่าสัมบูรณ์ของค่าในอาร์เรย์ ดังนั้นเราจึงจัดการกับจำนวนบวกเท่านั้น };
// แท่งค่าเฉลี่ยรวมกันสำหรับ (i=0; i<14; i++) { data_avgs = data[i*4] + data[i*4 + 1] + data[i*4 + 2] + data[ผม*4 + 3]; // เฉลี่ยร่วมกัน data_avgs = map(data_avgs, 0, 30, 0, 9); // ทำการแมปค่าสำหรับ LoL }
// ตั้งค่า LoLShield
สำหรับ (int x=0; x <14; x++) { สำหรับ (int y=0; y <9; y++) { if (y < data_avgs [13-x]) {// 13-x กลับแท่งที่ต่ำมาก ความถี่สูงจะแสดงจากซ้ายไปขวา LedSign::Set(x, y, 1); // ตั้งค่า LED เป็น } else { LedSign::Set(x, y, 0); // ปิดไฟ LED } } }
}
ขั้นตอนที่ 4: สนุก !
&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;แอมป์ แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;แอมป์;gt; เสียบแจ็คเสียงเข้ากับสเตอริโอ iPod คอมพิวเตอร์ ฯลฯ จ่ายไฟให้กับ Arduino ด้วยแหล่งจ่ายไฟ DC, USB จากคอมพิวเตอร์หรือแบตเตอรี่ - นี่เป็นอุปกรณ์พกพาได้อย่างสมบูรณ์ ใส่หมวกหรือหัวเข็มขัดก็ได้ ไฟ LED สีขาวสว่างมากจนถ่ายวิดีโอได้ยาก ดูเหมือนว่ามีเปลวไฟสีม่วงออกมาจากพวกมัน! เอนหลังและเพลิดเพลิน!
ผู้เข้ารอบสุดท้ายในการประกวดไมโครคอนโทรลเลอร์
แนะนำ:
วิธีทำ 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 เป็นอุปกรณ์ทดสอบที่ใช้การวิเคราะห์ฟูริเยร์และเทคนิคการประมวลผลสัญญาณดิจิทัลเพื่อให้การวิเคราะห์สเปกตรัม การใช้การวิเคราะห์ฟูริเยร์ทำให้สามารถแปลงค่าหนึ่งค่าใน ตัวอย่างเช่น โดเมนเวลาต่อเนื่องที่แปลง
DIY Spiderweb Audio Spectrum: 3 ขั้นตอน
DIY Spiderweb Audio Spectrum: ทำให้ห้องของคุณน่าอยู่ด้วยสเปกตรัมเสียงใยแมงมุม DIY นี้ web part ใช้เวลาเพียงเล็กน้อย แต่ในท้ายที่สุดผลลัพธ์จะดีและน่าอัศจรรย์มากขึ้นสเปกตรัมเสียง diy และอื่น ๆ อีกมากมายในเร็ว ๆ นี้สำหรับวิดีโอที่คุณสามารถติดตามฉันได้ บนอินสตาแกรม @shub
Arduino LED Audio Spectrum: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino LED Audio Spectrum: นี่คือคู่มือการใช้ Arduino Uno เพื่อแสดงรูปคลื่นเสียงของเพลงของคุณโดยใช้เมทริกซ์ของ LED (ไดโอดเปล่งแสง)
Smart-Meter Radiation Shield: 11 ขั้นตอน (พร้อมรูปภาพ)
Smart-Meter Radiation Shield: สมาร์ทมิเตอร์ใหม่ที่บริษัทสาธารณูปโภคของเราติดตั้งในบ้านของฉันส่ง "WiFi" อันทรงพลัง สัญญาณในการระเบิด ฉันกังวลเกี่ยวกับผลกระทบต่อสุขภาพในระยะยาวของไมโครเวฟเหล่านี้ ดังนั้นฉันจึงตัดสินใจทำช