Obsah:

Merač VU LoL Shield Audio Spectrum: 4 kroky (s obrázkami)
Merač VU LoL Shield Audio Spectrum: 4 kroky (s obrázkami)

Video: Merač VU LoL Shield Audio Spectrum: 4 kroky (s obrázkami)

Video: Merač VU LoL Shield Audio Spectrum: 4 kroky (s obrázkami)
Video: Что произойдет, если вы казните более 250 лордов в Mount & Blade II: Bannerlord 2024, December
Anonim
Merač VL LoL Shield Audio Spectrum
Merač VL LoL Shield Audio Spectrum

Jedná sa o merač VU zvukového spektra využívajúci štít LoL Shield pre Arduino. LoL Shield je matica LED 14 x 9, ktorá sa hodí na Arduino ako štít a je ovládaná účinnou metódou známou ako Charlieplexing. Navrhol ho Jimmie P. Rodgers. Tento projekt používa knižnicu Fast Fourier Transform pre Arduino na analýzu zvukového signálu, jeho rozdelenie do frekvenčných pásiem a zobrazenie týchto informácií na štíte LoL. Mikrokontrolér Arduino je dostatočne rýchly na to, aby vypočítal rýchlu Fourierovu transformáciu. Plní svoje meno a je prekvapivo rýchly a presný. Pretože všetku prácu vykonáva mikrokontrolér, je tento projekt úplne prenosný, ak používate batérie. Webová stránka tohto projektu je umiestnená na adrese https://andydoro.com/vulol/ & amp; amp; amp; amp; amp; amp; amp; amp; lt; br /& amp; amp; amp; amp; amp; amp; amp; Potrebné diely:

  • Štít LoL
  • Arduino (odporúča sa Diavolino)
  • zvukový konektor (použil som mužský mono 1/8 "telefónny konektor)
  • Arduino kód
  • napájanie (napájanie jednosmerným prúdom, kábel USB, 9V batéria atď.)

Krok 1: Zostavte štít LoL

Zostavte štít LoL
Zostavte štít LoL

Pri zostavovaní štítu LoL tu postupujte podľa pokynov. Vidíte, to netrvalo dlho!

Krok 2: Spájkovacie vodiče k zvukovému konektoru

Spájkovacie vodiče k zvukovému konektoru
Spájkovacie vodiče k zvukovému konektoru

Používam mužský mono 1/8 telefónny konektor, ako sa tomu hovorí v Radioshacku, ale môžete použiť akýkoľvek zvukový kábel, ktorý je vhodný pre nastavenie vášho audio systému. Ak chcete, môžete použiť mikrofón. Pre tento typ konektora Spájkoval som dva vodiče. Použil som červený a čierny. LoL Shield ponecháva pre vstupy analógové piny 4 a 5. Môj kód používa kolík 5. Červený vodič môžete pripojiť k analógovému kolíku 5 štítu LoL a čierny vodič k GND Nemusíte ho spájkovať, jednoducho som previedol drôt a ohnul ho.

Krok 3: Programujte Arduino

Program Arduino
Program Arduino

Teraz musíme naprogramovať Arduino na ovládanie LoL Shield.

Odporúča sa používať Diavolino na ovládanie štítu LoL, aby sa zabránilo efektom „duchov“na diódach LED kvôli zelenej dióde LED na povrchovú montáž pripojenej k kolíku 13 na štandardnom Arduino, ale štandardné Arduino bude fungovať dobre.

Na to sú potrebné dve knižnice Arduino: - knižnica FFT na fóre Arduino - knižnica Charlieplexing pre LoL Shield

Inštalácia knižníc pre Arduino môže byť mierne skľučujúca, ak ste to ešte neurobili, ale zvládnete to!

Postupujte podľa pokynov na inštaláciu knižníc Arduino tu:

www.arduino.cc/en/guide/libraries

Knižnica FFT rozdeľuje zvukový signál v 64 frekvenčných pásmach. LoL Shield je 14 x 9 LED diód. Priemerujeme 64 frekvenčných pásiem spolu do 14 frekvenčných pásiem. Vyhodíme niekoľko údajov, pretože 14 sa nedelí na 64 rovnomerne, ale čo. Hodnota každého frekvenčného rozsahu sa premapuje od 0 do 9.

Môžete skopírovať kód Arduino nižšie, získať kód z GitHub (odporúča sa) alebo si stiahnuť súbor. ZIP, ktorý obsahuje knižnice a kód Arduino.

Tu je odkaz na GitHub:

github.com/andydoro/LoLShield-FFT

Nasleduje kód Arduino:

/* FFT pre LoL Shield v0.9 od Andy Doro https://andydoro.com/ založený na knižnici FFT a kóde z fór Arduino a knižnice Charlieplexing pre LoL Shield. */

#include "Charliplexing.h"

#include "fix_fft.h"

#define AUDIOPIN 5 char im [128], data [128]; char data_avgs [14];

int i = 0, val;

void setup () {LedSign:: Init (); // Inicializuje štít LoL}

prázdna slučka () {

pre (i = 0; i <128; i ++) {val = analogRead (AUDIOPIN); údaje = hodnota; im = 0; };

fix_fft (údaje, im, 7, 0);

pre (i = 0; i <64; i ++) {data = sqrt (data * data +im * im ); // tým sa získa absolútna hodnota hodnôt v poli, takže sa zaoberáme iba kladnými číslami};

// priemer priemerov spolu pre (i = 0; i <14; i ++) {data_avgs = údaje [i*4] + údaje [i*4 + 1] + údaje [i*4 + 2] + údaje [i*4 + 3]; // priemer spolu data_avgs = mapa (data_avgs , 0, 30, 0, 9); // premapovanie hodnôt pre LoL}

// nastavenie LoLShield

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (y <data_avgs [13-x]) {// 13-x obráti pruhy tak nízko na vysoké frekvencie sú zastúpené zľava doprava. LedSign:: Set (x, y, 1); // zapnite LED diódu} else {LedSign:: Set (x, y, 0); // vypnite LED}}}

}

Krok 4: Užite si to !

Užite si to!!
Užite si to!!

& amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; lt; br & amp; amp; amp; amp amp; amp; amp; amp; amp; amp; amp; amp; gt; Pripojte audio konektor k vášmu stereu, iPodu, počítaču atď. Napájajte Arduino pomocou jednosmerného napájania, USB z počítača alebo z batérií- to je úplne prenosné. Môžete ho vložiť do spony na klobúku alebo opasku. Biele LED diódy sú také jasné, že je ťažké ich zachytiť na videu. Vyzerá to, že z nich vychádza fialový plameň! Posaďte sa a užívajte si!

Súťaž o mikrokontrolér
Súťaž o mikrokontrolér
Súťaž o mikrokontrolér
Súťaž o mikrokontrolér

Finalista v súťaži o mikrokontrolér

Odporúča: