Барабаншыларға арналған визуалды метроном: 8 қадам
Барабаншыларға арналған визуалды метроном: 8 қадам
Anonim
Барабаншыларға арналған визуалды метроном
Барабаншыларға арналған визуалды метроном

Менің досым мен әріптесім бар, ол рок -н -ролл барабаншысы. Оның кабинасы жұмыста менің қасымда, сондықтан ол менің электроника мен бағдарламалық қамтамасыз етудің барлық жобаларын көреді және естиді. Бір жылдан астам уақыт болды, сондықтан мен мұның бәрі қалай болғанын есіме түсіре алмаймын, бірақ ол мені бір күні жарық диодты жарықдиодты қолданғанын көргеніне сенемін. Ол менен барабаншыларға көрнекі метроном жасау қаншалықты қиын болатынын сұрады. Қазіргі кездегі сияқты, визуалды метром ойлап табылған шығар. Бірақ оның идеясы мені қызықтырды, және, әдетте, мен скучно болғандықтан, оған назар аудару керек, мен оны сынап көруді шештім.

Мен бірден кешірім сұраймын: мен бұл жобаны көп суретке түсірмедім. Мен бұл үшін нұсқаулық жазамын деп ойлаған жоқпын (бұл нұсқаулықта болғанға дейін болған). Сондықтан, егер сіз оны құруды шешсеңіз, мен ұсынған схеманы, бағдарламалық жасақтаманы және бірнеше суретті қолдана отырып, ең жақсысын жасауыңыз керек. Мен бәрін Майкқа бердім, содан бері көрмедім. Ол маған қаншалықты жақсы көретінін жиі айтады. Ол маған ойнаған сайын оны қазір қолданатынын айтты. Сізге ұядан кететін және ешқашан қайтып келмейтін жобаны ұнату керек. Бұл менің бүкіл мансабымда болды деп айта алмаймын.

1 -қадам: жарықдиодты шамдар

Жарық диодтары
Жарық диодтары

Мен жарықдиодты шамдарды қолдануды шештім. Adafruit NeoPixel Sick деп атайтын нәрсені жасайды: PWB -де кішкентай және тар 8 жарық диодты жолақ (https://www.adafruit.com/product/1426). Мен олардың екеуін қолданып, оларды кабель арқылы микроконтроллер, дисплей және осының барлығын басқаратын орталық қорапқа қосуды шештім.

NeoPixel светодиодтары 5В кернеуде жұмыс істейді, және сіз көріп тұрғандай, мен 3.3В микроконтроллерді қолданамын. Бұл маған 3.3В микроконтроллер мен NeoPixel арасындағы басқару сигналын кернеуді ауыстыру әдісі қажет екенін білдіреді. Мен SparkFun логикалық деңгей түрлендіргішін қолдануды таңдадым (https://www.sparkfun.com/products/12009). Мен бұларды бұрын қолданғанмын және оларды қолдану оңай, шамамен 3 доллар тұрады (мен үшін).

6 футтық екі стерео кабельді қолданып, мен аударылған 5В басқару сигналдарын 5В қуаты мен жермен бірге екі NeoPixels -ке жіберемін. Мен NeoPixels үшін кабельді қабылдау үшін аналық стерео ұясы бар тасымалдаушы тақтаға бекітілген корпусты ойлап шығардым және 3D басып шығардым.

2 -қадам: микроконтроллер

Микроконтроллер
Микроконтроллер

Қазіргі уақытта жоба үшін қандай микроконтроллер тақтасын қолдану керектігін шешу қиын болуы мүмкін. Мен бұрын өзімнің дизайнымды жасадым, бірақ соңғы онжылдықта ашық бастапқы коды бар көптеген арзан тақталар қол жетімді болды, енді оны сынап көрудің мағынасы жоқ. Көрнекі метроном үшін маған қанша қуат қажет болатынын білмедім. Менің болжамым тым көп болған жоқ. Айтайын дегенім, маған қажет сигналдарды алу үшін үзілісті басқару үшін таймерді орнату қаншалықты қиын болар еді? Маған дисплей мен ақпаратты енгізу әдісі қажет. Тіпті бұл көп өңдеуді қажет етпеуі мүмкін.

Мен контроллер ретінде Teensy 3.2 қолдануды шештім. Teensy 3.2 PJRC шығарады және мен оларды соңғы уақытта көптеген жобалар үшін қолданамын. Бұл DSP кеңейтімдері бар 32 биттік ARM және 96 МГц жиілікке дейін (үдетілген). Олар шамамен 20 доллар тұрады, сондықтан олар өте ақылға қонымды. Иә, мен бұл қосымшаның микроконтроллері тым көп деп айтатындарыңызбен келісемін. Бірақ, Teensy -де кейбір аппараттық және бағдарламалық құралдар бар, олар пайдалы болуы мүмкін, мен оларды соңғы кездері көп қолданып жүрмін.

3 -қадам: Дисплей

Дисплей
Дисплей

Дисплей үшін мен Adafruit Monochrome 128X64 OLED графикалық дисплейін қолданамын. Олар Teensy сияқты 3.3V жұмыс істейді, интерфейсті жеңілдетеді.

Мен опциялар мен күйді операторға көрсету үшін мәзірлер тізбегін қолданамын. Мәзірлерді басқару үшін мен Sparkfun арқылы алынған айналмалы кодерді қолданамын (https://www.sparkfun.com/products/10982). Мен кодтаушыны мәзірлерден өту үшін қолдана аламын, ал элементтерді таңдау үшін біріктірілген түйме қолданылады. Бұл құрылғыда қосымша дисплей ретінде пайдалануға болатын интеграцияланған жарық диоды бар.

4 -қадам: қоршау

Қоршау
Қоршау

Мен электроникаға арналған корпусты 3D басып шығардым. Сіз мұны жазудың басында суреттен көре аласыз. Сізге мұны қолданудың қажеті жоқ екені анық. Мен қорапты қалағанымнан сәл үлкен етіп жасадым, бірақ ол маған қолымды ішке кіргізуге мүмкіндік берді.

5 -қадам: құрастыру

Ассамблея
Ассамблея

Тағы да, мен өткен жылы мен бұл суретті көп түсірген жоқпын. Бұл үстіңгі суретте дисплейдің орналасқан жері, кодер, Teensy бар негізгі протокол және кіші протободы бар, деңгейлі аудармасы бар және екі әйел стерео ұясы, светодиодтар корпусқа қосылады.

Негізгі протобардта Adafruit -тен алған «нанға арналған» тұрақты ток ұяшығы бар. Ол тақтаға орналастырылды, ол сыртқа шығып, мен оң жақ панельде мен жасаған тесікке сәйкес келеді. Менде егжей -тегжейлі ақпарат жоқ болғандықтан, сіз оны ретке келтіру үшін бұл туралы ойнауға тура келеді. Әйел стерео ұялары артқы жағынан шығып тұратын тақтаға да қатысты. Тағы да, кешіріңіз, менде бұл үшін басқа суреттер жоқ.

6 -қадам: код

Код
Код

Код. Менің ойымша, сізде қандай да бір өзгеріс енгізуге көмектесетін түсініктемелер жеткілікті. Бұл жоба PJRC пен Adafruit -тен көптеген кодты пайдаланады (соавт.). Мен мұның бәрін жақсартуға болатынына сенімдімін. Мен мұны бірнеше күн ішінде Рождестволық демалыста бірге жинадым. Мен Open Source аппараттық құралдары мен бағдарламалық қамтамасыз етуді қолдаймын. Мен сондай -ақ технология мен ақпаратпен бөлісуге сенемін (өйткені ол сәнді болғанға дейін).

7 -қадам: операция

Мен ендіруге тырысқан бейне жұмыс істемеді деп ойлаймын … Мен оны YouTube сілтемесіне айналдырамын. Бізбен бірге қалыңыз…

8 -қадам: Қорытынды

Қорытынды
Қорытынды

Менің үмітім - кейбір ақылды адам (жас деп үміттенемін) бұл жобаны қабылдап, одан да жақсы етеді. Ал егер сізде болса, бөлісіңіз. Мен үнемі айтамын (әсіресе соңғы кездері): бізге ақылды әлем қажет. Білгендеріңізді таратыңыздар.

Ұсынылған: