Sisukord:

LoL Shieldi helispektri VU -mõõtja: 4 sammu (piltidega)
LoL Shieldi helispektri VU -mõõtja: 4 sammu (piltidega)

Video: LoL Shieldi helispektri VU -mõõtja: 4 sammu (piltidega)

Video: LoL Shieldi helispektri VU -mõõtja: 4 sammu (piltidega)
Video: Одним словом, Фрида полнейшая ► 17 Прохождение Dark Souls 3 2024, November
Anonim
LoL Shieldi helispektri VU -arvesti
LoL Shieldi helispektri VU -arvesti

See on helispektri VU -mõõtur, mis kasutab Arduino jaoks LoL Shieldi. LoL Shield on 14 x 9 LED -maatriks, mis sobib Arduinole kilbina ja mida juhitakse tõhusa Charlieplexing -meetodiga. Selle kujundas Jimmie P. Rodgers. See projekt kasutab Arduino jaoks kiiret Fourier 'teisendusteeki, et analüüsida helisignaali, jagada see sagedusribadeks ja kuvada see teave LoL Shieldil. Arduino mikrokontroller on piisavalt kiire, et arvutada kiiret Fourier 'teisendust. See vastab oma nimele ning on üllatavalt kiire ja täpne. Kuna kogu töö teeb mikrokontroller, on see projekt patareide kasutamisel täiesti kaasaskantav. Selle projekti veebisait asub aadressil https://andydoro.com/vulol/ & amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; 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; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; gt; Vajalikud osad:

  • LoL kilp
  • Arduino (soovitatav Diavolino)
  • helipistik (kasutasin isast mono 1/8 "telefonipistikut)
  • Arduino kood
  • toide (alalisvoolu toide, USB -kaabel, 9V aku jne)

Samm: pange kokku LoL Shield

Pange kokku LoL Shield
Pange kokku LoL Shield

LoL Shieldi kokkupanekuks järgige siin toodud juhiseid. Näete, see ei võtnud kaua aega!

2. samm: jootetraat ühendab helipistikuga

Jootetraat ühendab helipistikuga
Jootetraat ühendab helipistikuga

Ma kasutan isast monofonilist 1/8 telefonipistikut, nagu seda nimetatakse Radioshackis, kuid võite kasutada mis tahes helikaablit, mis sobib teie helisüsteemi seadistamiseks. Soovi korral võite kasutada mikrofoni. Seda tüüpi pistiku jaoks Joodin kaks juhet. Kasutasin punast ja musta. LoL Shield jätab analoogpoldid 4 ja 5 sisendite jaoks vabaks. Minu kood kasutab tihvti 5. Punase juhtme saate ühendada LoL Shieldi analoogpistikuga 5 ja musta traadi GND -ga. Te ei pea seda jootma, ma panin traadi lihtsalt läbi ja painutasin.

Samm: programmeerige Arduino

Programm Arduino
Programm Arduino

Nüüd peame programmeerima Arduino LoL Shieldi juhtimiseks.

Soovitatav on kasutada Diavolinot LoL Shieldi juhtimiseks, et vältida "kummituse" tekkimist LED -idel, mis on tingitud rohelise pinnakinnituse LED -st, mis on ühendatud standardse Arduino tihvtiga 13, kuid tavaline Arduino töötab hästi.

Selleks on vaja kahte Arduino raamatukogu: - Arduino foorumist leitud FFT raamatukogu - LoL Shieldi Charlieplexingi raamatukogu

Teekide installimine Arduino jaoks võib olla pisut hirmutav, kui te pole seda varem teinud, kuid saate hakkama!

Järgige Arduino raamatukogude installimise juhiseid siin:

www.arduino.cc/en/guide/libraries

FFT raamatukogu katkestab helisignaali 64 sagedusribas. LoL Shieldil on 14 x 9 LED -i. Keskmistame 64 sagedusriba kokku 14 sagedusribaks. Me viskame ära mõned andmed, sest 14 ei jagu 64 -ks ühtlaselt, vaid whatevs. Iga sagedusvahemiku väärtust muudetakse vahemikus 0 kuni 9.

Saate kopeerida allpool oleva Arduino koodi, hankida koodi GitHubist (soovitatav) või alla laadida. ZIP -faili, mis sisaldab raamatukogusid ja Arduino koodi.

Siin on GitHubi link:

github.com/andydoro/LoLShield-FFT

Allpool on Arduino kood:

/* FFT LoL Shield v0.9 jaoks, autor Andy Doro https://andydoro.com/ põhineb FFT raamatukogul ja Arduino foorumite koodil ning LoL Shieldi Charlieplexingi raamatukogul. */

#include "Charliplexing.h"

#include "fix_fft.h"

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

int i = 0, val;

void setup () {LedSign:: Init (); // Initsialiseerib LoL Shieldi}

void loop () {

jaoks (i = 0; i <128; i ++) {val = analogRead (AUDIOPIN); andmed = val; im = 0; };

fix_fft (andmed, im, 7, 0);

jaoks (i = 0; i <64; i ++) {data = sqrt (andmed * andmed +im * im ); // see saab massiivi väärtuste absoluutväärtuse, seega tegeleme ainult positiivsete arvudega};

// keskmised ribad koos (i = 0; i <14; i ++) {data_avgs = andmed [i*4] + andmed [i*4 + 1] + andmed [i*4 + 2] + andmed [i*4 + 3]; // keskmine kokku data_avgs = kaart (data_avgs , 0, 30, 0, 9); // LoL väärtuste ümbertegemine}

// määrake LoLShield

jaoks (int x = 0; x <14; x ++) {jaoks (int y = 0; y <9; y ++) {kui (y <data_avgs [13-x]) {// 13-x pöörab ribad nii madalale kõrgetel sagedustel on kujutatud vasakult paremale. LedSign:: Komplekt (x, y, 1); // lülita LED sisse} else {LedSign:: Set (x, y, 0); // lülita LED välja}}}

}

Samm: nautige

Nautige !!
Nautige !!

Amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; amp; gt; Ühendage helipistik stereoga, iPodiga, arvutiga jne. Toitege Arduino alalisvoolu toiteallikaga, USB-ga arvutist või patareidega- see on täiesti kaasaskantav. Võite selle panna mütsi või vööpandlasse. Valged LED -id on nii eredad, et neid on raske videole jäädvustada. Tundub, et neist tuleb purpurset leeki! Istuge ja nautige!

Mikrokontrollerite võistlus
Mikrokontrollerite võistlus
Mikrokontrollerite võistlus
Mikrokontrollerite võistlus

Mikrokontrollerite konkursi finalist

Soovitan: