Spisu treści:

Miernik VU widma dźwięku LoL Shield: 4 kroki (ze zdjęciami)
Miernik VU widma dźwięku LoL Shield: 4 kroki (ze zdjęciami)

Wideo: Miernik VU widma dźwięku LoL Shield: 4 kroki (ze zdjęciami)

Wideo: Miernik VU widma dźwięku LoL Shield: 4 kroki (ze zdjęciami)
Wideo: Wskaźnik wysterowania z liczników samochodowych. / VUmeter from 2 auto tachometers. 2024, Lipiec
Anonim
Miernik VU widma dźwięku LoL Shield
Miernik VU widma dźwięku LoL Shield

Jest to miernik VU widma audio wykorzystujący LoL Shield dla Arduino. LoL Shield to matryca LED 14 x 9, która pasuje do Arduino jako tarcza i jest kontrolowana za pomocą wydajnej metody znanej jako Charlieplexing. Zaprojektował go Jimmie P. Rodgers. Ten projekt wykorzystuje bibliotekę szybkiej transformacji Fouriera dla Arduino do analizy sygnału audio, dzielenia go na pasma częstotliwości i wyświetlania tych informacji na LoL Shield. Mikrokontroler Arduino jest wystarczająco szybki, aby obliczyć szybką transformację Fouriera. Zasługuje na swoją nazwę i jest zaskakująco szybki i dokładny. Ponieważ cała praca jest wykonywana przez mikrokontroler, ten projekt jest całkowicie przenośny, jeśli używasz baterii. Strona internetowa tego projektu znajduje się pod adresem https://andydoro.com/vulol/ & wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz Wymagane części:

  • Tarcza LoL-a
  • Arduino (zalecane Diavolino)
  • gniazdo audio (użyłem męskiej wtyczki mono 1/8")
  • Kod Arduino
  • zasilanie (zasilacz DC, kabel USB, bateria 9V itp.)

Krok 1: Złóż LoL Shield

Zmontuj LoL Shield
Zmontuj LoL Shield

Postępuj zgodnie z instrukcjami, aby złożyć LoL Shield tutaj. Widzisz, to wcale nie trwało długo!

Krok 2: Przylutuj przewody do gniazda audio

Przylutuj przewody do gniazda audio
Przylutuj przewody do gniazda audio

Używam męskiej wtyczki telefonicznej mono 1/8 , jak to się nazywa w Radioshack, ale możesz użyć dowolnego kabla audio, który jest odpowiedni dla twojego systemu audio. Możesz użyć mikrofonu, jeśli chcesz. Przylutowałem dwa przewody. Użyłem czerwonego i czarnego. Tarcza LoL pozostawia analogowe piny 4 i 5 wolne dla wejść. Mój kod używa pinu 5. Możesz podłączyć czerwony przewód do analogowego pinu 5 tarczy LoL, a czarny przewód do GND Nie musisz go lutować, po prostu przewleczem drut i wygięłem.

Krok 3: Zaprogramuj Arduino

Program Arduino
Program Arduino

Teraz musimy zaprogramować Arduino do sterowania LoL Shield.

Zaleca się używanie Diavolino do sterowania LoL Shield, aby zapobiec efektom „poświaty” na diodach LED ze względu na zieloną diodę LED do montażu powierzchniowego podłączoną do pinu 13 w standardowym Arduino, ale standardowe Arduino będzie działać dobrze.

Wymaga to dwóch bibliotek Arduino: - biblioteki FFT znalezionej na forum Arduino - biblioteki Charlieplexing dla LoL Shield

Instalowanie bibliotek dla Arduino może być nieco zniechęcające, jeśli nie robiłeś tego wcześniej, ale zrobisz dobrze!

Postępuj zgodnie z instrukcjami instalacji bibliotek Arduino tutaj:

www.arduino.cc/en/guide/libraries

Biblioteka FFT rozbija sygnał audio w 64 pasmach częstotliwości. Tarcza LoL to 14 x 9 diod LED. Uśredniamy 64 pasma częstotliwości razem na 14 pasm częstotliwości. Wyrzucamy trochę danych, ponieważ 14 nie dzieli się równomiernie na 64, ale cokolwiek. Wartość każdego zakresu częstotliwości jest mapowana od 0 do 9.

Możesz skopiować poniższy kod Arduino, pobrać kod z GitHub (zalecane) lub pobrać plik. ZIP, który zawiera biblioteki i kod Arduino.

Oto link do GitHub:

github.com/andydoro/LoLShield-FFT

Poniżej znajduje się kod Arduino:

/* FFT dla LoL Shield v0.9 autorstwa Andy Doro https://andydoro.com/w oparciu o bibliotekę FFT i kod z forów Arduino oraz bibliotekę Charlieplexing dla LoL Shield. */

#include "Charliplexing.h"

#include "fix_fft.h"

#define AUDIOPIN 5 znak[128], dane[128]; char data_avgs[14];

int i=0, val;

void setup() { LedSign::Init(); //Inicjuje LoL Shield }

pusta pętla () {

for (i=0; i < 128; i++){ val = analogRead(AUDIOPIN); dane = wart; im = 0; };

fix_fft(dane, im, 7, 0);

for (i=0; i< 64;i++){ dane = sqrt(dane * dane + im * im); // to pobiera wartość bezwzględną wartości w tablicy, więc mamy do czynienia tylko z liczbami dodatnimi };

// średnie słupki razem dla (i=0; i<14; i++) { data_avgs = dane[i*4] + dane[i*4 + 1] + dane[i*4 + 2] + dane[i*4 + 3]; // uśredniaj razem data_avgs = map(data_avgs, 0, 30, 0, 9); // przemapuj wartości dla LoL }

// ustaw LoLShield

for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (y < data_avgs[13-x]) { // 13-x odwraca słupki tak nisko do wysokich częstotliwości są reprezentowane od lewej do prawej. LedSign::Set(x, y, 1); // włącz diodę LED } else { LedSign::Set(x, y, 0); // wyłącz diodę LED } } }

}

Krok 4: Ciesz się

Cieszyć się!!
Cieszyć się!!

&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;br&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp; wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz;wzmacniacz Podłącz gniazdo audio do stereo, iPoda, komputera itp. Zasil Arduino zasilaczem DC, USB z komputera lub bateriami - jest to całkowicie przenośne. Można go włożyć do klamry kapelusza lub paska. Białe diody LED są tak jasne, że trudno je uchwycić na wideo. Wygląda na to, że wydobywa się z nich fioletowy płomień! Usiądź wygodnie i ciesz się!

Konkurs na mikrokontrolery
Konkurs na mikrokontrolery
Konkurs na mikrokontrolery
Konkurs na mikrokontrolery

Finalista w Konkursie Mikrokontrolerów

Zalecana: