Cuprins:
- Pasul 1: LUCRURI DE CE AVEM NEVOIE
- Pasul 2: SCHEMATIC
- Pasul 3: LOL SHIELD PCB & SOLDERING LED
- Pasul 4: CONECTARE ȘI ASAMBLARE
- Pasul 5: PROGRAMARE
- Pasul 6: FINALIZARE
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Astăzi aș dori să vă împărtășesc cum să fac un analizor de spectru audio - 36 de benzi, combinând 4 LoL Shields împreună. Acest proiect nebun folosește o bibliotecă FFT pentru a analiza un semnal audio stereo, a-l converti în benzi de frecvență și a afișa amplitudinea acestor benzi de frecvență pe 4 x LoL Shields.
Înainte de a începe, vă rugăm să urmăriți videoclipul de mai jos:
Pasul 1: LUCRURI DE CE AVEM NEVOIE
Principalele componente electronice sunt următoarele:
- 4 buc x Arduino Uno R3.
- 4 buc x LoLShield PCB. PCBWay (serviciu complet de prototip personalizat pentru PCB) mi-a sprijinit aceste plăci de circuite imprimate LoLShield.
- 504buc x LED, 3mm. Fiecare LoLShield are nevoie de 126 de LED-uri și putem alege 4 culori și tipuri diferite de leduri (difuze sau nedifuse).
- 1 buc x încărcător portabil Power Bank baterie 10000 / 20000mAh.
- 4 buc x antet masculin 40 pini 2,54 mm.
- 2 buc x cablu USB tip A / B. Unul este utilizat pentru programarea Arduino, celălalt este pentru alimentarea Arduino de la o bancă de alimentare.
- 1 buc x 3,5 mm mufă audio stereo feminin.
- 1buc x 3.5mm 1 tată la 2 mama adaptor audio Splitter sau multi căști Splitter audio.
- 1 buc x 3.5mm Jack audio stereo Cablu conector tată-tată.
- Cablu 1m x 8P Rainbow Ribbon.
- 1m x cablu de alimentare cu două nuclee.
- 1buc x Acrilic transparent, dimensiune A4.
Pasul 2: SCHEMATIC
LoLShield este o matrice LED charlieplexing 9x14 pentru Arduino și acest design NU include rezistențe de limitare a curentului. LED-urile pot fi adresate individual, deci îl putem folosi pentru a afișa informații într-o matrice de leduri 9 × 14.
LoL Shield lasă D0 (Rx), D1 (Tx) și pinii analogici A0 la A5 liberi pentru alte aplicații. Imaginea de mai jos prezintă utilizarea pinilor Arduino Uno pentru acest proiect:
Analizorul meu de spectru audio are 4 x (Arduino Uno + LoLShield). Sursa de alimentare și mufa audio stereo de 3,5 mm sunt conectate conform schemei de mai jos:
Pasul 3: LOL SHIELD PCB & SOLDERING LED
1. PCB LoL SHIELD
Ѽ. Puteți consulta designul PCB la: https://github.com/jprodgers/LoLshield de Jimmie P. Rodgers.
Ѽ. PCBWay m-a susținut cu aceste circuite imprimate LoLShield cu livrare rapidă și PCB de înaltă calitate.
2. SOLDARE LED
Ѽ. Fiecare LoLShield are nevoie de 126 de leduri și am folosit diferite tipuri și culori pentru 4x LoLShields după cum urmează:
- 1 x LoLShield: led difuz, culoare roșie, 3mm.
- 1 x LoLShield: led difuz, culoare verde, 3mm.
- 2 x LoLShield: led nedifuzat (clar), culoare albastră, 3mm.
Ѽ. Pregătirea LoLShield PCB și LED
Ѽ. Lipire 126 LED pe LoLShield PCB. Ar trebui să verificăm LED-urile prin baterie după lipirea fiecărui rând - 14 LED-uri
TOP LoLSHIELD
BASSOM LoLSHIELD
Ѽ. Terminați un LoLShield și continuați să lipiți 3 LoLShield rămas.
Pasul 4: CONECTARE ȘI ASAMBLARE
Ѽ. Alimentare cu energie de lipit și semnal audio către 4xLoLShield. Un semnal stereo utilizează două canale audio: stânga și dreapta, care sunt conectate la Arduino Uno la pinii analogici A4 și A5.
- A4: Canal audio din stânga.
- A5: Canal audio dreapta.
Ѽ. Aliniere și montare 4 x Arduino Uno pe placa acrilică.
Ѽ. Conectarea a 4 x LoLShield la 4 x Arduino Uno.
Ѽ. Lipiți bateria portabilă a încărcătorului portabil și mufa audio pe placa acrilică
Ѽ. Terminat!
Pasul 5: PROGRAMARE
Ar trebui să vă referiți la modul în care funcționează LoLShield pe baza metodei Charlieplexing și a Transformatei Fourier rapide (FFT) la:
en.wikipedia.org/wiki/Charlieplexing
github.com/kosme/fix_fft
Pentru Charlieplexing, acordăm atenție „celor trei stări” ale pinilor digitali Arduino: „HIGH” (5V), „LOW” (0V) și „INPUT”. Modul „INPUT” pune pinul Arduino în stare de impedanță ridicată. Referință la:
www.arduino.cc/en/Tutorial/DigitalPins
În proiectul meu, benzile de frecvență audio sunt afișate pe 4 x LoL Shield și sunt descrise așa cum se arată mai jos:
Fiecare Arduino citește semnalul audio pe canalul stânga / dreapta și efectuează FFT.
pentru (i = 0; i <64; i ++) {Audio_Input = analogRead (RIGHT_CHANNEL); // Citiți semnalul audio pe canalul drept A5 - ARDUINO 1 și 2 // Audio_Input = analogRead (LEFT_CHANNEL); // Citiți semnalul audio pe canalul din stânga A4 - ARDUINO 3 și 4 Real_Number = Audio_Input; Număr_imaginar = 0; } fix_fft (Real_Number, Imaginary_Number, 6, 0); // Efectuați transformarea Fourier rapidă cu N_WAVE = 6 (2 ^ 6 = 64) pentru (i = 0; i <32; i ++) {Real_Number = 2 * sqrt (Real_Number * Real_Number + Imaginary_Number * Număr_imaginar ); }
Ѽ. Arduino 1 - Afișați benzile de frecvență de amplitudine 01 ~ 09 ale canalului drept (A5).
for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [y]) // Afișați benzile de frecvență de la 01 la 09 {LedSign:: Set (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED OFF}}}
Ѽ. Arduino 2 - Afișați benzile de frecvență ale amplitudinii 10 ~ 18 ale canalului drept (A5).
for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (x <Real_Number [9 + y]) // Afișați benzile de frecvență 10-18 {LedSign:: Set (13-x, 8-y, 1); // LED ON} else {LedSign:: Set (13-x, 8-y, 0); // LED OFF}}}
Ѽ. Arduino 3 - Afișați benzile de frecvență de amplitudine 01 ~ 09 ale canalului stâng (A4).
Codul este la fel ca Arduino 1, iar semnalul audio al canalului stâng se conectează la Arduino la pinul analogic A4.
Ѽ. Arduino 4 - Afișați benzile de frecvență de amplitudine 10 ~ 18 ale canalului stâng.
Codul este la fel ca Arduino 2, iar canalul stâng al semnalului audio se conectează la Arduino la pinul analogic A4.
Pasul 6: FINALIZARE
Acest analizor portabil de spectru se poate conecta direct la un laptop / desktop, telefon mobil, tabletă sau alte playere muzicale prin mufa stereo audio de 3,5 mm. Acest proiect pare o nebunie, sper să vă placă!
Mulțumesc pentru lectură !!!
Recomandat:
Fântână de dans: Arduino cu MSGEQ7 Spectrum Analyzer: 8 pași
Dancing Fountain: Arduino Cu MSGEQ7 Spectrum Analyzer: Recepția unui semnal audio și transformarea acestuia în reacție vizuală sau mecanică este foarte interesantă. În acest proiect vom folosi un Arduino Mega pentru a fi conectat la un analizor de spectru MSGEQ7 care preia semnalul audio de intrare și efectuează banda
DIY Arduino Audio Signal Spectrum Analyzer: 3 pași
DIY Arduino Audio Signal Spectrum Analyzer: Acesta este un analizor audio foarte simplu, cu moduri vizuale modificabile
1024 eșantioane FFT Spectrum Analyzer folosind un Atmega1284: 9 pași
1024 Samples FFT Spectrum Analyzer Folosind un Atmega1284: Acest tutorial relativ ușor (având în vedere complexitatea acestui subiect) vă va arăta cum puteți face un analizor de spectru de mostre 1024 foarte simplu folosind o placă de tip Arduino (1284 Narrow) și plotterul serial. Orice fel de companie Arduino
MSP430 Breadboard Audio Spectrum Analyzer: 6 pași
MSP430 Breadboard Audio Spectrum Analyzer: Acest proiect este bazat pe microfon și necesită componente externe minime. Se folosesc 2 celule de monedă LR44, astfel încât să pot avea întreaga structură care funcționează în limitele unei mini panouri de legătură de 170. ADC10, TimerA întrerupe LPM trezire, TimerA PWM
RGB Matrix + Spectrum Analyzer: 10 pași (cu imagini)
RGB Matrix + Spectrum Analyzer: Iubesc LED-urile? Și eu! De aceea, în acest Instructable, vă voi arăta cum să creați o matrice LED RGB minunată, care se poate transforma cu ușurință într-un Analizor de spectru printr-un clic pe un buton. , dacă credeți că acest Instructable a câștigat-o, vă rugăm să votați