У овом пројекту ћемо направити забаву користећи Ардуино. Сви имамо ту навику да тапкамо по столу или оловци за стварање било које насумичне музике. Наравно, то се можда не би могло сматрати добрим маниром, али сви уживамо у томе барем једном. Стога сам помислио да га пребацим на следећи ниво користећи Ардуино способност да свира тонове. Једном када направите овај пројекат, моћи ћете да генеришете тонове тапкајући прстима по било чему проводном и створите сопствене ритмове, попут свирања клавира на длану. Звучи у реду, па, хајде да га направимо.
Потребне компоненте:
Материјали потребни за овај пројекат наведени су у наставку, није обавезно придржавати се истих. Једном када схватите концепт, можете га користити на свој начин.
- Ардуини Про Мини
- Пеизо звучник
- Флек Сенсор
- Рукавице за прсте
- 10К отпорници
- БЦ547 Транзистори
- 9В батерија
Шема и објашњење:
Шема кола за овај Ардуино Палм клавир је приказана испод.
Пројекат користи укупно четири сензора, то су два флек сензора и два Дарлингтонова пара која делују као сензор за додир. Такође смо користили два отпорна отпора Р1 и Р2 вредности по 10к, који ће деловати као падајући отпорник за Флек сензор. Овде се Флек сензор користи за генерисање три различита тона једним прстом, на основу тога колико се савио. Тако можемо произвести 6 звукова помоћу два прста. Овде сазнајте о Флек сензору.
Дарлингтон пар:
Пре него што наставимо, важно је знати шта је Дарлингтон и како тачно делује у нашем пројекту. Дарлингтонов пар се може дефинисати као два биполарна транзистора повезана тако да струју појачану првом појача други транзистор. Пар Дарлингтон приказан је на доњој слици:
Као што је горе приказано, користили смо два транзистора БЦ547 чији су колектори везани за окупљање, а емитер првог транзистора повезан је са базом другог транзистора. Ово коло делује као појачало са појачањем, што значи да је сваки мали сигнал дат на базу првог транзистора довољан да одступа од базе другог транзистора. Наше тело овде делује као тло, па кад год додирнемо основу транзистора, други транзистор постане пристран. Користећи ово у своју корист, направили смо сензор за додир за овај пројекат.
Пин број 2 и 3 су прекидне иглице на Ардуину које ће се високо повући помоћу унутрашњих отпорника за извлачење, а затим ће се ове иглице држати на земљи кад год се Дарлингтонов прекидач затвори. На овај начин ће се сваки пут кад додирнемо жицу (од базе 1. транзистора) прекида прекинути са Ардуина.
Коришћење два прста може произвести само две врсте тонова, па сам тако додао и флексибилни сензор који ће променити тон на основу тога колико је савијен. Програмирао сам да произведем три различита тона по прсту на основу тога колико је прст (флекс сензор) савијен. Можете да повећате број ако желите да више тонова буде при врховима прстију.
Направио сам комплетну плочу на парфемској плочи тако да ми лако стане на дланове, али можете користити и даску за хлеб. Само се уверите да ваше тело додирне тло круга у неком тренутку. Једном када све залемите, требало би да изгледа отприлике овако
Употребио сам две рукавице за прсте да учврстим жице од пара Дарлингтон и флекс сензора у положају како је горе приказано. Можете да смислите своју (бољу ако је могуће) идеју како бисте их учврстили на месту док свирате своје тонове.
Ардуино програмирање:
Програм за овај Ардуино генератор тонских тонова је прилично напредан. Морамо само припазити на прекиде са Дарлингтонових жица и ако их пронађемо, морамо пустити тон који зависи од тога колико је савијен сензор савијања. Комплетни код је дат на крају овог поста, али у наставку сам објаснио неколико важних делова.
Напомена: Овај програм ради уз помоћ библиотеке „питцхес.х“. Зато обавезно додајте датотеку заглавља у свој програм пре него што га преведете. Датотеку заглавља питцхес.х можете преузети овде.
У функцији подешавања иницијализујемо пинове 2 и 3 као улаз са пулл-уп отпорницима. Такође их проглашавамо као пинове за прекиде и извршавамо тон1 () када постоји прекид на пину 2 и функцију тоне2 () када постоји прекид на 3. пину. Ови прекиди ће се активирати кад год ови пинови буду НИЗКИ из свог повученог стања.
воид сетуп () {пинМоде (2, ИНПУТ_ПУЛЛУП); пинМоде (3, ИНПУТ_ПУЛЛУП); аттацхИнтеррупт (дигиталПинТоИнтеррупт (2), тоне1, ЛОВ); аттацхИнтеррупт (дигиталПинТоИнтеррупт (3), тоне2, ЛОВ); Сериал.бегин (9600); }
Унутар функције петље непрестано проверавамо колико је савијен флекс сензор. Мој ФлекСенсор 1 је на пример дао вредности око 200 када је остао раван и спустио се све до 130 када сам га савио до максимума, тако да сам вредност од 200 до 130 мапирао као 1 до 3, јер морам да играм 3 различита типа тонова. Ове две линије морате прилагодити на основу вредности вашег Флек сензора и броја тонова.
воид лооп () {флекСенсор1 = мап (аналогРеад (А0), 200,130,1,3); // Мапирање са сопственим вредностима на основу вашег флекс сензора флекСенсор2 = мап (аналогРеад (А1), 170,185,1,3); // Мапирање сопственим вредностима на основу вашег флекс сензора}
Као што смо раније видели, функција тоне1 () извршиће се када се на пину 2 открије прекид. Шта се догађа унутар функције тоне1 () приказано је горе. Гледамо вредности ФлекСенсор1 и свирамо тон заснован на вредности флекСеснор. Тонови ће се репродуковати помоћу функције Ардуино Тоне. Објаснили смо функцију тоне () у нашем претходном пројекту.
воид тоне1 () {иф (флекСенсор1 == 1) тоне (8, НОТЕ_Д4,50); иначе иф (флекСенсор1 == 2) тон (8, НАПОМЕНА_А3,50); иначе иф (флекСенсор1 == 3) тон (8, НОТЕ_Г4,50); елсе тон (8, НОТЕ_Д4,50); }
Ред за доле се користи за репродукцију тона. Можете да репродукујете било који тон који је доступан у датотеци заглавља „питцхес.х“. На пример, горња линија пушта НОТЕ_А3 на пин у трајању од 50 мили секунди.
тон (8, НАПОМЕНА_А3,50); // тон (ПинНум, назив напомене, трајање);
Рад:
Када је хардвер спреман, отпремите код и монтирајте их на прсте. Уверите се да ваше тело у неком тренутку додирује тло кола. Сада једноставно додирните било који проводни материјал или своје тело и требали бисте чути одговарајући тон. Можете да пуштате своју мелодију или музику тапкајући у различитим интервалима и на различитим позицијама.
Видео испод показује комплетан радни оф тх пројекта. Надам се да вам се свидело у изради пројекта, било који сугестија или питање можете објавити у одељку за коментаре испод. Такође погледајте наш пројекат Ардуино Аудио Плаиер и Ардуино Тоне Генератор.