Мазмуну:
- 1 -кадам: LoL Shield чогултуу
- 2 -кадам: Аудио Jackке Solder Wires
- 3 -кадам: Ардуино программасы
- 4 -кадам: ырахат алыңыз
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул Arduino үчүн LoL Shieldди колдонгон VU аудио спектри. LoL Shield - бул 14 x 9 LED матрицасы, ал калкан катары Arduinoго туура келет жана Charlieplexing деп аталган эффективдүү ыкма аркылуу башкарылат. Бул Jimmie P. Rodgers тарабынан иштелип чыккан. Бул проект Arduino үчүн Fast Fourier Transform китепканасын колдонуп, аудио сигналды анализдеп, аны жыштык тилкелерине бөлүп, бул маалыматты LoL Shieldде көрсөтөт. Arduino микроконтроллери тез Фурье трансформациясын эсептөө үчүн жетиштүү. Ал өзүнүн атына ылайык келет жана таң калыштуу түрдө тез жана так. Бардык иштер микроконтроллер тарабынан жүргүзүлгөндүктөн, эгерде сиз батарейканы колдонсоңуз, бул долбоор толугу менен портативдүү. Бул долбоордун веб -баракчасы https://andydoro.com/vulol/ & amp; amp; amp; amp; amp; amp; & ampnbsp & ampnbsp; Амп & amp; amp; amp; Бөлүктөр талап кылынат:
- LoL Shield
- Arduino (Diavolino сунушталат)
- аудио джек (мен эркек моно 1/8 "телефон сайгычын колдондум)
- Arduino коду
- электр менен камсыздоо (DC электр менен камсыздоо, USB кабели, 9V батарея, ж.
1 -кадам: LoL Shield чогултуу
LoL Shieldди чогултуу үчүн нускамаларды аткарыңыз бул жерде. Көрүңүз, бул көпкө созулган жок!
2 -кадам: Аудио Jackке Solder Wires
Мен Radioshack деп аталган эркек моно 1/8 дюймдук телефон сайгычын колдонуп жатам, бирок аудио тутумуңузга ылайыктуу аудио кабелди колдонсоңуз болот. Кааласаңыз микрофонду колдонсоңуз болот. Мындай сайгыч үчүн, Мен эки зымды ширеттим Сиз аны ширетүүнүн кажети жок, мен жөн эле зымды салып, ийкем.
3 -кадам: Ардуино программасы
Эми биз LoL Shieldди башкаруу үчүн Arduino программасын түзүшүбүз керек.
Диаволинону LoL Shieldди башкаруу үчүн LED диоддоруна "арбак" эффекттерин алдын алуу үчүн, жашыл бетине орнотулган LED 13 стандарттуу Arduino пинге туташтырылган, бирок стандарт Arduino жакшы иштейт.
Бул үчүн эки Arduino китепканасы керек: - Arduino форумунда табылган FFT китепканасы - LoL Shield үчүн Charlieplexing китепканасы
Arduino үчүн китепканаларды орнотуу, эгер сиз буга чейин жасабасаңыз, бир аз оор болушу мүмкүн, бирок сиз жакшы кыласыз!
Бул жерде Arduino китепканаларын орнотуу боюнча нускамаларды аткарыңыз:
www.arduino.cc/en/guide/libraries
FFT китепканасы 64 жыштык тилкесиндеги аудио сигналды бузат. LoL Shield 14 x 9 LED болуп саналат. Биз 64 жыштык тилкесин 14 жыштык тилкесине орточо эсеп менен бириктиребиз. Биз кээ бир маалыматтарды ыргытып жатабыз, анткени 14 бирдей 64кө бөлүнбөйт, бирок whatevs. Ар бир жыштык диапазонунун мааниси 0дон 9га чейин алмаштырылат.
Сиз төмөндөгү Arduino кодун көчүрүп, GitHubдан кодду ала аласыз (сунушталат) же китепканалар менен Arduino кодун камтыган. ZIP файлын жүктөп алсаңыз болот.
Бул жерде GitHub шилтемеси:
github.com/andydoro/LoLShield-FFT
Төмөндө Arduino коду:
/* FFT for LoL Shield v0.9 by Andy Doro 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 = data [i*4] + data [i*4 + 1] + data [i*4 + 2] + data [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); // LEDди күйгүзүү} else {LedSign:: Set (x, y, 0); // светодиодду өчүрүү}}}
}
4 -кадам: ырахат алыңыз
& ampquotАппа & ampquot; amp; amp; amp; amp; amp; amp; amp; amp; Аудио джекти стереоңузга, iPodго, компьютериңизге ж.б. сайыңыз. Arduino-ны DC кубаты менен, компьютериңизден USB же батареяларыңыз менен кубаттаңыз- бул толугу менен портативдүү. Сиз аны шляпага же курга байлап койсоңуз болот. Ак LED диоддору ушунчалык жарык болгондуктан, видеого тартуу кыйын. Булардан кызгылт жалын чыгып жаткан окшойт! Артка отуруп, ырахат алыңыз!
Микроконтроллер конкурсунда финалист
Сунушталууда:
Adafruit Shield менен робот тартуу (Конкурс жасоо): 10 кадам (Сүрөттөр менен)
Adafruit Shield менен сүрөт тартуу роботу (Конкурс жасаңыз): Саламатсызбы менин ысымым Жакып жана мен Улуу Британияда жашайбыз. Бул долбоордо мен сиз үчүн тарткан роботту курайын деп жатам. *Мен ишенем, көбүңөр көргүңөр келет, ошондуктан билгиңер келсе, экинчисине өтүңүз, акыркы кадамга өтүңүз, бирок бул жерге кайра келүүнү унутпаңыз
Raspberry Pi RetroPie Build үчүн ZX Spectrum USB адаптери: 5 кадам (Сүрөттөр менен)
Raspberry Pi RetroPie Builds үчүн ZX Spectrum USB адаптери: RetroPie Raspberry Pis жана башка бир тактайлуу компьютерлердеги ретро видео оюн системаларын эмуляциялоо үчүн атайын иштелип чыккан атайын Linux дистрибутиви. Мен көптөн бери RetroPie конструкциясына баргым келет, жана мен бул репорду көргөндө
CRAZY L.O.L SPECTRUM ANALIZER: 6 кадам (Сүрөттөр менен)
CRAZY L.O.L SPECTRUM ANALYZER: Бүгүн мен 4 LoL Shieldsди бириктирип, 36 диапазондогу аудио спектр анализаторун кантип жасоону бөлүшкүм келет. Бул жинди долбоор стерео аудио сигналды талдоо, аны жыштык диапазонуна айландыруу жана бул жыштыктын амплитудасын көрсөтүү үчүн FFT китепканасын колдонот
Reaction Time Meter (Visual, Audio жана Touch): 9 кадам (Сүрөттөр менен)
Реакциянын убактысын өлчөөчү (визуалдык, аудио жана тийүү): Реакция убактысы - бул адамдын стимулду аныктоо жана жооп берүү үчүн алган убакыты. Мисалы, спортчунун аудио реакция убактысы - мылтык атуу менен (жарыш башталат) жана анын жарышты баштоосуна чейинки убакыт. Reactio
Capacitance Meter TM1637 менен Arduino колдонуп: 5 кадам (сүрөттөр менен)
Capacitance Meter TM1637 менен Arduino колдонуу менен: TM1637де көрсөтүлгөн Arduino менен сыйымдуулук өлчөгүчтү кантип жасоо керек. Болжол менен 1 UF 2000 UF чейин