LoL Shield Audio Spectrum VU өлшеуіші: 4 қадам (суреттермен)
LoL Shield Audio Spectrum VU өлшеуіші: 4 қадам (суреттермен)
Anonim
LoL Shield аудио спектрінің VU өлшегіші
LoL Shield аудио спектрінің VU өлшегіші

Бұл Arduino үшін LoL Shield қолданатын VU аудио спектрінің өлшегіші. LoL Shield - бұл 14 х 9 жарықдиодты матрица, ол қалқан ретінде Arduino -ға сәйкес келеді және Charlieplexing деп аталатын тиімді әдіспен басқарылады. Оны Джимми П. Роджерс жасаған. Бұл жоба аудио сигналды талдау, оны жиілік диапазонына бөлу және LoL Shield экранында көрсету үшін Arduino үшін Fast Fourier Transform кітапханасын пайдаланады. Arduino микроконтроллері жылдам Фурье түрленуін есептеу үшін жеткілікті жылдам. Ол өз атауына сәйкес келеді және таңқаларлықтай жылдам және дәл. Барлық жұмыстарды микроконтроллер атқаратындықтан, егер сіз батареяларды қолдансаңыз, бұл жоба толығымен тасымалданады. Бұл жобаның веб -беті https://andydoro.com/vulol/ & amp; amp; амп; амп; амп; амп; амп; Қажетті бөлшектер:

  • LoL Shield
  • Ардуино (Диаволино ұсынылады)
  • аудио ұясы (мен ерлер моно 1/8 дюймдік телефон ашасын қолдандым)
  • Arduino коды
  • қуат көзі (тұрақты ток көзі, USB кабелі, 9В батарея және т.

1 -қадам: LoL Shield жинаңыз

LoL Shield жинаңыз
LoL Shield жинаңыз

LoL Shield жинау үшін нұсқауларды орындаңыз. Қараңызшы, бұл көп күттірмеді!

2 -қадам: Аудио ұясына дәнекерлеу сымдары

Дыбыс ұясына дәнекерлеу сымдары
Дыбыс ұясына дәнекерлеу сымдары

Мен Radioshack деп аталатын 1/8 дюймдік ерлерге арналған телефон штепсельін қолданамын, бірақ сіз аудио жүйені орнатуға сәйкес келетін кез келген аудио кабельді қолдана аласыз. Қаласаңыз, микрофонды қолдана аласыз. Мұндай штепсель үшін Мен екі сымды дәнекерледім. Мен қызыл мен қара түсті қолдандым. Сізге оны дәнекерлеудің қажеті жоқ, мен сымды өткізіп, бүктедім.

3 -қадам: Arduino бағдарламасы

Arduino бағдарламасы
Arduino бағдарламасы

Енді бізге LoL Shield басқару үшін Arduino бағдарламалау керек.

Стандартты Arduino 13 -ші істікшеге жалғанған жасыл түсті жарықдиодты жарық диодты жарықтандырғыштардың әсеріне жол бермеу үшін LoL Shield басқару үшін Diavolino пайдалану ұсынылады, бірақ стандартты Arduino жақсы жұмыс істейді.

Бұл үшін екі Arduino кітапханасы қажет: - Arduino форумынан табылған FFT кітапханасы - LoL Shield үшін Charlieplexing кітапханасы

Arduino үшін кітапханаларды орнату, егер сіз мұны бұрын жасамаған болсаңыз, қиын болуы мүмкін, бірақ сіз жақсы жасайсыз!

Мұнда Arduino кітапханаларын орнату бойынша нұсқауларды орындаңыз:

www.arduino.cc/kz/guide/libraries

FFT кітапханасы дыбыстық сигналды 64 жиілік диапазонында бұзады. LoL Shield - 14 x 9 жарық диоды. Біз 64 жиілік диапазонын 14 жиілік диапазонына орта есеппен қосамыз. Біз кейбір деректерді тастаймыз, себебі 14 біркелкі 64 -ке бөлінбейді, бірақ ватев. Әр жиілік диапазонының мәні 0 -ден 9 -ға дейін ауыстырылады.

Сіз төмендегі Arduino кодын көшіре аласыз, GitHub -тан кодты ала аласыз (ұсынылады) немесе кітапханалар мен Arduino коды бар. ZIP файлын жүктей аласыз.

Міне GitHub сілтемесі:

github.com/andydoro/LoLShield-FFT

Төменде Arduino коды берілген:

/* LoL Shield v0.9 үшін Энди Дороға арналған FFT https://andydoro.com/FFT кітапханасы мен Arduino форумдары мен LoL Shield үшін Charlieplexing кітапханасының кодына негізделген. */

#«Charliplexing.h» қосыңыз

#«fix_fft.h» қосыңыз

#define AUDIOPIN 5 char im [128], деректер [128]; char data_avgs [14];

int i = 0, val;

void setup () {LedSign:: Init (); // LoL Shield инилизациясы}

void loop () {

for (i = 0; i <128; i ++) {val = analogRead (AUDIOPIN); деректер = val; im = 0; };

fix_fft (деректер, им, 7, 0);

for (i = 0; i <64; i ++) {data = sqrt (data * data +im * im ); // бұл жиымдағы мәндердің абсолюттік мәнін алады, сондықтан біз тек оң сандармен айналысамыз};

// орташа жолақтар бірге (i = 0; i <14; i ++) {data_avgs = деректер [i*4] + деректер [i*4 + 1] + деректер [i*4 + 2] + деректер [i*4 + 3]; // орташа бірге data_avgs = карта (data_avgs , 0, 30, 0, 9); // LoL} үшін қайта салыстыру мәндері

// LoLShield орнатыңыз

for (int x = 0; x <14; x ++) {for (int y = 0; y <9; y ++) {if (y <data_avgs [13-x]) {// 13-x жолақтарды тым төмен айналдырады жоғары жиіліктер солдан оңға қарай көрсетілген. LedSign:: Set (x, y, 1); // жарық диодты қосыңыз} else {LedSign:: Set (x, y, 0); // жарықдиодты өшіріңіз}}}

}

4 -қадам: ләззат алыңыз

Ләззат алыңыз !!
Ләззат алыңыз !!

& ampnbsp & ampnbsp; амп; амп; амп; Дыбыстық ұяны стерео, iPod, компьютерге және т.б. қосыңыз. Arduino-ны тұрақты ток көзімен, компьютерден USB немесе батареямен қосыңыз- бұл толығымен портативті. Сіз оны шляпаға немесе белдікке киюге болады. Ақ жарық диодтары өте жарқын, сондықтан оларды бейнеге түсіру қиын. Олардан күлгін жалын шығып жатқан сияқты! Артқа отырыңыз және ләззат алыңыз!

Микроконтроллер сайысы
Микроконтроллер сайысы
Микроконтроллер сайысы
Микроконтроллер сайысы

Микроконтроллер байқауының финалисті

Ұсынылған: