
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51

Бұл 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 жинау үшін нұсқауларды орындаңыз. Қараңызшы, бұл көп күттірмеді!
2 -қадам: Аудио ұясына дәнекерлеу сымдары

Мен Radioshack деп аталатын 1/8 дюймдік ерлерге арналған телефон штепсельін қолданамын, бірақ сіз аудио жүйені орнатуға сәйкес келетін кез келген аудио кабельді қолдана аласыз. Қаласаңыз, микрофонды қолдана аласыз. Мұндай штепсель үшін Мен екі сымды дәнекерледім. Мен қызыл мен қара түсті қолдандым. Сізге оны дәнекерлеудің қажеті жоқ, мен сымды өткізіп, бүктедім.
3 -қадам: 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 немесе батареямен қосыңыз- бұл толығымен портативті. Сіз оны шляпаға немесе белдікке киюге болады. Ақ жарық диодтары өте жарқын, сондықтан оларды бейнеге түсіру қиын. Олардан күлгін жалын шығып жатқан сияқты! Артқа отырыңыз және ләззат алыңыз!


Микроконтроллер байқауының финалисті
Ұсынылған:
Arduino CAP-ESR-FREQ өлшеуіші: 6 қадам

Arduino CAP-ESR-FREQ өлшеуіші: Arduino Duemilanove бар CAP-ESR-FREQ өлшегіші. Бұл нұсқаулықта сіз Arduino Duemilanove негізіндегі өлшеу құралы туралы барлық қажетті ақпаратты таба аласыз. Бұл құралдың көмегімен сіз үш нәрсені өлшей аласыз: нанофарадтағы конденсатордың мәндері
Raspberry Pi RetroPie құрастыруға арналған ZX Spectrum USB адаптері: 5 қадам (суреттермен)

Raspberry Pi RetroPie құруға арналған ZX Spectrum USB адаптері: RetroPie-бұл арнайы Linux дистрибутиві, ол Raspberry Pis пен басқа бір тақталы компьютерлердегі ретро бейне ойын жүйелерін эмуляциялауға арналған. Мен көптен бері RetroPie конструкциясына қатысқым келеді, мен бұл репортажды көргенде
OLED дисплейі бар DIY қашықтық өлшеуіші: 4 қадам

OLED дисплейі бар DIY арақашықтық өлшегіші: Бұл оқулықта біз OLED дисплейінде мәндерді шығаратын сандық қашықтық өлшегіш құрамыз. Бұл жоба үшін сіз ardiuno немесе ESP8266 модулін пайдалануды таңдай аласыз, мен олардың екеуіне де код беремін. Егер сіз ESP826 қолдансаңыз
Arduino Uno -дағы RPM өлшеуіші: 3 қадам

Arduino Uno -дағы RPM Meter: Arduino - құдіретті платформа. Бұл қарапайым флешкаларды, сонымен қатар жетілдірілген автоматтандырудың күрделі жүйесін құруға мүмкіндік береді. Әр түрлі автобустардың арқасында Arduino -ны әр түрлі перифериялық қондырғылармен толықтыруға болады. Бүгін біз қабылдаймыз
Қарапайым автономды конденсатор сынағы / сыйымдылық өлшеуіші Arduino көмегімен және қолмен: 4 қадам

Қарапайым автономды конденсатор сынағы / сыйымдылық өлшегіші Arduino көмегімен және қолмен: Сәлеметсіз бе! Бұл физикалық блок үшін сізге қажет:* 0-12В* бір немесе бірнеше конденсаторлы қуат көзі* бір немесе бірнеше зарядтау резисторы* секундомер* кернеуге арналған мультиметр. өлшеу* arduino нано* 16x2 I²C дисплей* 1 / 4Вт резисторлар 220, 10к, 4.7М және