Spisu treści:
- Krok 1: RZECZY, KTÓRE POTRZEBUJEMY
- Krok 2: SCHEMAT
- Krok 3: LOL SHIELD PCB i LUTOWANIE LED
- Krok 4: PODŁĄCZENIE I MONTAŻ
- Krok 5: PROGRAMOWANIE
- Krok 6: ZAKOŃCZ
Wideo: CRAZY L.O.L SPECTRUM ANALYZER: 6 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
Dzisiaj chciałbym się podzielić jak zrobić analizator widma dźwięku - 36 pasm łącząc razem 4 LoL Shields. Ten szalony projekt wykorzystuje bibliotekę FFT do analizy stereofonicznego sygnału audio, konwertowania go na pasma częstotliwości i wyświetlania amplitudy tych pasm częstotliwości na 4 x LoL Shields.
Zanim zaczniesz, obejrzyj poniższy film:
Krok 1: RZECZY, KTÓRE POTRZEBUJEMY
Główne elementy elektroniczne są jak poniżej:
- 4 szt. x Arduino Uno R3.
- 4 szt. x płytka LoLShield. PCBWay (w pełni funkcjonalna usługa niestandardowego prototypu PCB) wspierała mnie te płytki drukowane LoLShield.
- 504szt x LED, 3mm. Każdy LoLShield potrzebuje 126 diod LED i możemy wybrać 4 różne kolory i typy diod LED (rozproszone lub nierozproszone).
- 1 sztuk x przenośna ładowarka Power Bank 10000/20000 mAh.
- 4 szt. x męski nagłówek 40pin 2.54mm.
- 2 szt. x kabel USB typu A/B. Jeden służy do programowania Arduino, drugi do zasilania Arduino z powerbanku.
- 1 szt. x 3.5mm żeńskie stereofoniczne gniazdo audio.
- 1 sztuk x 3.5mm 1 męski na 2 żeński przejściówka audio lub rozdzielacz audio do wielu słuchawek.
- 1 sztuk x 3.5mm Stereo Audio Jack męski-męski kabel łączący.
- Tęczowy kabel taśmowy 1 m x 8 P.
- 1 m x dwużyłowy kabel zasilający.
- 1 szt x przezroczysty akryl, rozmiar A4.
Krok 2: SCHEMAT
LoLShield to matryca LED charlieplexing 9x14 dla Arduino i ta konstrukcja NIE zawiera żadnych rezystorów ograniczających prąd. Diody LED są indywidualnie adresowalne, dzięki czemu możemy je wykorzystać do wyświetlania informacji w matrycy ledowej 9×14.
LoL Shield pozostawia D0 (Rx), D1 (Tx) i piny analogowe A0 do A5 wolne dla innych zastosowań. Zdjęcie poniżej pokazuje użycie pinów Arduino Uno dla tego projektu:
Mój analizator widma audio ma 4 x (Arduino Uno + LoLShield). Zasilanie i stereofoniczne gniazdo audio 3,5 mm są połączone jak na poniższym schemacie:
Krok 3: LOL SHIELD PCB i LUTOWANIE LED
1. LoL TARCZA PCB
. Możesz zapoznać się z projektem PCB pod adresem: https://github.com/jprodgers/LoLshield autorstwa Jimmie P. Rodgers.
. PCBWay wsparł mnie tymi płytkami drukowanymi LoLShield z szybką dostawą i wysokiej jakości płytką drukowaną.
2. LUTOWANIE LED
. Każdy LoLShield potrzebuje 126 diod led, a ja użyłem różnych rodzajów i kolorów dla 4x LoLShield w następujący sposób:
- 1 x LoLShield: dioda rozproszona, kolor czerwony, 3mm.
- 1 x LoLShield: dioda rozproszona, kolor zielony, 3mm.
- 2 x LoLShield: nierozproszona (przezroczysta) dioda led, kolor niebieski, 3mm.
. Przygotowanie płytki PCB i diody LED LoLShield
. Wlutowanie 126 LED na płytkę LoLShield. Po wlutowaniu każdego rzędu należy sprawdzić diody baterią - 14 diod
TOP LoLSHIELD
DOLNA LOLSHIELD
. Wykańczam jeden LoLShield i kontynuuj lutowanie 3 pozostałych LoLShield.
Krok 4: PODŁĄCZENIE I MONTAŻ
. Przylutowanie zasilania i sygnału audio do 4xLoLShield. Sygnał stereo wykorzystuje dwa kanały audio: lewy i prawy, które są podłączone do Arduino Uno za pomocą pinów analogowych A4 i A5.
- A4: Lewy kanał audio.
- A5: Prawy kanał audio.
. Wyrównanie i montaż 4 x Arduino Uno na płycie akrylowej.
. Podłączanie 4 x LoLShield do 4 x Arduino Uno.
. Przyklej przenośną ładowarkę power bank i gniazdo audio na akrylowej płycie
. Gotowe!
Krok 5: PROGRAMOWANIE
Powinieneś zapoznać się z tym, jak działa LoLShield w oparciu o metodę Charlieplexing i szybką transformację Fouriera (FFT) pod adresem:
en.wikipedia.org/wiki/Charlieplexing
github.com/kosme/fix_fft
W przypadku Charlieplexing zwracamy uwagę na „trzy stany” pinów cyfrowych Arduino: „HIGH” (5V), „LOW” (0V) i „INPUT”. Tryb „INPUT” wprowadza pin Arduino w stan wysokiej impedancji. Odniesienie pod adresem:
www.arduino.cc/en/Tutorial/DigitalPins
W moim projekcie pasma częstotliwości dźwięku są wyświetlane na 4 x LoL Shield i są opisane tak, jak pokazano poniżej:
Każde Arduino odczytuje sygnał audio w lewym/prawym kanale i wykonuje FFT.
for (i=0; i < 64; i++) { Audio_Input= analogRead(RIGHT_CHANNEL); // Odczytaj sygnał audio w prawym kanale A5 - ARDUINO 1 i 2 //Audio_Input = analogRead(LEFT_CHANNEL); // Odczytaj sygnał audio w lewym kanale A4 - ARDUINO 3 & 4 Real_Number = Audio_Input; Numer_wyobrażony = 0; } fix_fft(Liczba_rzeczywista, Liczba_urojona, 6, 0); // Wykonaj szybką transformację Fouriera z N_WAVE=6 (2^6=64) for (i=0; i< 32;i++) { Liczba_rzeczywista = 2*sqrt(Liczba_rzeczywista * Liczba_rzeczywista + Liczba_urojona * Numer_urojony); }
. Arduino 1 - Wyświetla pasma częstotliwości amplitudy 01 ~ 09 prawego kanału (A5).
for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (x < Liczba_rzeczywista[y]) // Wyświetlanie pasm częstotliwości od 01 do 09 { LedSign::Set (13-x, 8-y, 1); // DIODA WŁĄCZONA } else { LedSign::Set(13-x, 8-y, 0); // DIODA WYŁĄCZONA } } }
. Arduino 2 - Wyświetlanie pasm częstotliwości amplitudy 10 ~ 18 prawego kanału (A5).
for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (x < Liczba_rzeczywista[9 + y]) // Wyświetlanie pasm częstotliwości od 10 do 18 { LedSign::Ustaw(13-x, 8-y, 1); // DIODA WŁĄCZONA } else { LedSign::Set(13-x, 8-y, 0); // DIODA WYŁĄCZONA } } }
. Arduino 3 - Wyświetlanie pasm częstotliwości amplitudy 01 ~ 09 lewego kanału (A4).
Kod jest taki sam jak Arduino 1, a lewy kanał sygnału audio łączy się z Arduino na analogowym pinie A4.
. Arduino 4 - Wyświetlanie pasm częstotliwości amplitudy 10 ~ 18 lewego kanału.
Kod jest taki sam jak Arduino 2, a lewy kanał sygnału audio łączy się z Arduino na analogowym pinie A4.
Krok 6: ZAKOŃCZ
Ten przenośny analizator widma może łączyć się bezpośrednio z laptopem/komputerem stacjonarnym, telefonem komórkowym, tabletem lub innymi odtwarzaczami muzyki za pośrednictwem stereofonicznego gniazda audio 3,5 mm. Ten projekt wydaje się szalony, mam nadzieję, że Ci się spodoba!
Dziękuję za przeczytanie !!!
Zalecana:
Adapter USB ZX Spectrum do Raspberry Pi RetroPie Buildy: 5 kroków (ze zdjęciami)
Adapter USB ZX Spectrum do Raspberry Pi RetroPie Builds: RetroPie to specjalna dystrybucja Linuksa zaprojektowana specjalnie do emulacji retro systemów gier wideo na Raspberry Pi i innych komputerach jednopłytkowych. Od jakiegoś czasu chciałem pójść na całość w kompilacji RetroPie, a kiedy zobaczyłem tę reprodukcję
3ft DIY Actobotics Slider dla EMOTIMO Spectrum: Część III: 6 kroków (ze zdjęciami)
3ft DIY Actobotics Slider dla eMotimo Spectrum: Część III: To jest część III budowy slidera, w której zmotoryzuję suwak dla sekwencji poklatkowych i wideo za pomocą eMotimo Spectrum ST4. Niektóre z tych samych obrazów z kroku 1 są tutaj powtarzane, więc nie musisz przechodzić tam iz powrotem między wątkami budowania
Crazy Modular Lamp: 6 kroków (ze zdjęciami)
Crazy Modular Lamp: Koncepcja polega na stworzeniu wyjątkowej lampy modułowej, którą użytkownicy będą konfigurować według własnego uznania, wykorzystując określoną przestrzeń, z której chcą korzystać. Lampa będzie ściemniana i sterowana dotykiem. Modułowe zastosowanie tej lampy zamyka obieg
Crazy Circuits: system nauki elektroniki typu open source: 8 kroków (ze zdjęciami)
Crazy Circuits: system nauki elektroniki typu open source: rynek edukacyjny i domowy jest zalany modułowymi systemami „uczenia się” elektroniki przeznaczonymi do nauczania dzieci i dorosłych kluczowych pojęć STEM i STEAM. Produkty takie jak LittleBits czy Snapcircuits zdają się dominować w każdym przewodniku po prezentach świątecznych lub blogu dla rodziców
Jak złożyć zestaw 3D Light Cube 8x8x8 Blue LED MP3 Music Spectrum Od Banggood.com: 10 kroków (ze zdjęciami)
Jak złożyć zestaw 3D Light Cube 8x8x8 Blue LED MP3 Music Spectrum Od Banggood.com: To właśnie budujemy: 3D Light Cube Kit 8x8x8 Blue LED MP3 Music Spectrum Opcjonalna przezroczysta obudowa z płyty akrylowej Jeśli podoba Ci się ta kostka LED, możesz chcieć wskakuj na mój kanał YouTube, gdzie tworzę kostki LED, roboty, IoT, druk 3D i nie tylko