- Потребни материјали:
- Кружни дијаграм:
- Коришћење регресионе методе за израчунавање дБ из вредности АДЦ:
- Ардуино програм за мерење нивоа звука у дБ:
- Рад Ардуино мерача нивоа звука:
- Појачало са кругом филтера:
Загађење буком је заиста почело да добија на значају због велике густине насељености. Уобичајено људско уво могло је да чује ниво звука од 0 дБ до 140 дБ, при чему се ниво звука од 120 дБ до 140 дБ сматра шумом. Јачина звука или ниво звука обично се мере у децибелима (дБ), имамо неке инструменте који могу мерити звучне сигнале у дБ, али ови мерачи су мало скупи и на жалост немамо модул сензора за мерење нивоа звука у децибелима. И није економично купити скупе микрофоне за мали Ардуино пројекат који би требало да мери ниво звука у малој учионици или дневној соби.
Дакле, у овом пројекту ћемо користити нормални Елецтрет Цонденсер микрофон са Ардуином и покушати да измеримо ниво загађења звука или буке у дБ што је ближе стварној вредности. Користићемо нормално појачавачко коло да бисмо појачали звучне сигнале и напојили га у Ардуино у којем ћемо користити регресиону методу за израчунавање звучних сигнала у дБ. Да бисмо проверили да ли су добијене вредности тачне, можемо користити андроид апликацију „Мерач звука“, ако имате бољи мерач, можете је користити за калибрацију. Имајте на уму да овај пројекат нема за циљ тачно мерење дБ већ ће дати вредности што ближе стварној вредности.
Потребни материјали:
- Ардуино УНО
- Микрофон
- ЛМ386
- 10К променљива ПОТ
- Отпорници и кондензатори
Кружни дијаграм:
Круг за овај Ардуино мерач нивоа звука је врло једноставан у којем смо користили коло ЛМ386 аудио појачала за појачавање сигнала из кондензаторског микрофона и његово напајање на аналогни порт Ардуино. Већ смо користили овај ЛМ386 ИЦ за израду нисконапонског круга аудио појачала и склоп је мање-више исти.
Појачање овог опционог појачала може се подесити са 20 на 200 помоћу отпорника или кондензатора преко пинова 1 и 8. Ако их не пусте, појачање ће се подразумевано поставити на 20. За наш пројекат користимо максимално могуће појачање помоћу овог кола, па користимо кондензатор вредности 10уФ између пинова 1 и 8, имајте на уму да је овај пин осетљив на поларитет и да негативни пин кондензатора треба бити повезан на пин 8. Комплетно појачало коло напаја 5В пин са Ардуина.
Кондензатор Ц2 се користи за филтрирање једносмерне буке из микрофона. У основи, када микрофон осети звук, звучни таласи ће се претворити у АЦ сигнале. На овом наизменичном сигналу може се налазити истосмерни шум, који ће овај кондензатор филтрирати. Слично томе, чак и након појачања, кондензатор Ц3 се користи за филтрирање било какве једносмерне буке која је можда додата током појачања.
Коришћење регресионе методе за израчунавање дБ из вредности АДЦ:
Једном када смо спремни са нашим кругом, можемо повезати Ардуино са рачунаром и отпремити пример програма „Аналог Реад Сериал“ из Ардуина да бисмо проверили да ли добијамо важеће АДЦ вредности из нашег микрофона. Сада морамо претворити ове вредности АДЦ у дБ.
За разлику од других вредности попут мерења температуре или влажности, мерење дБ није једноставан задатак. Јер вредност дБ није линеарна са вредношћу АДЦ-а. Постоји неколико начина на које можете доћи, али сваки могући корак који сам покушао није ми донео добре резултате. Овде можете прочитати овај Ардуино форум ако желите да испробате.
За моју апликацију није ми била потребна велика прецизност приликом мерења дБ вредности, па сам стога одлучио да користим лакши начин директног калибрисања АДЦ вредности са дБ вредностима. За ову методу биће нам потребан СПЛ метар (СПЛ метар је инструмент који може да очитава вредности дБ и приказује га), али нажалост нисам га имао и сигуран сам да већина нас неће. Тако да можемо да користимо андроид апликацију под називом „Мерач звука“ коју можемо бесплатно преузети из продавнице за игру. Постоји много таквих врста апликација и можете преузети било шта по свом избору. Ове апликације користе уграђени микрофон телефона за откривање нивоа буке и приказивање на нашем мобилном телефону. Нису баш тачни, али би сигурно радили за наш задатак. Дакле, почнимо са инсталирањем Андроид апликације, моја када се отвори изгледала је овако некако у наставку
Као што сам раније рекао, веза између дБ и аналогних вредности неће бити линеарна, зато морамо ове две вредности упоређивати у различитим интервалима. Само забележите вредност АДЦ која се приказује на екрану за различите дБ приказане на вашем мобилном телефону. Узео сам око 10 очитавања и она су изгледала овако доле, можда се мало разликујете
Отворите екцел страницу и укуцајте ове вредности, за сада ћемо користити Екцел да бисмо пронашли регресионе вредности за горњи број. Пре тога хајде да направимо графикон и проверимо како се обојица односе, мој је изгледао овако доле.
Као што видимо, вредност дБ није линеарно повезана са АДЦ, што значи да не можете имати заједнички множитељ за све вредности АДЦ да бисте добили његове еквивалентне вредности дБ. У том случају можемо користити методу „линеарне регресије“. У основи, претвориће ову неправилну плаву линију у најближу могућу праву линију (црна линија) и дати нам једначину те праве линије. Ова једначина се може користити за проналажење еквивалентне вредности дБ за сваку вредност АДЦ-а коју Ардуино мери.
У Екцелу имамо додатак за анализу података који ће аутоматски израчунати регресију за ваш скуп вредности и објавити његове податке. Нећу описивати како се то ради са екцелом, јер је то изван оквира овог пројекта, а такође вам је лако да Гоогле-у и научите. Једном када израчунате регресију за вредност, Екцел ће дати неке вредности као што је приказано доле. Занимају нас само бројеви који су истакнути у наставку.
Једном када добијете ове бројеве моћи ћете да формирате доњу једначину попут
АДЦ = (11,003 * дБ) - 83,2073
Из чега можете извести дБ
дБ = (АДЦ + 83.2073) / 11.003
Можда ћете морати да водите сопствену једначину јер се калибрација може разликовати. Међутим, чувајте ову вредност на сигурном јер ће нам требати током програмирања Ардуина.
Ардуино програм за мерење нивоа звука у дБ:
Комплетан програм за мерење дБ је дат у наставку, неколико важних редова објашњено је у наставку
У ова горња два реда читамо АДЦ вредност пина А0 и претварамо је у дБ користећи једначину коју смо управо извели. Ова дБ вредност можда неће бити тачна до праве дБ вредности, али остаје прилично близу вредности приказаних у мобилној апликацији.
адц = аналогРеад (МИЦ); // Очитавање вредности АДЦ из појачала дБ = (адц + 83.2073) / 11.003; // Претварање вредности АДЦ у дБ помоћу вредности регресије
Да бисмо проверили да ли програм ради исправно, додали смо и ЛЕД на дигитални пин 3 који се подиже на 1 секунду када Ардуино измери јаку буку изнад 60дБ.
иф (дБ> 60) {дигиталВрите (3, ХИГХ); // укључити ЛЕД (ХИГХ је ниво напона) кашњење (1000); // чекамо други дигиталВрите (3, ЛОВ); }
Рад Ардуино мерача нивоа звука:
Када сте спремни са кодом и хардвером, само отпремите код и отворите серијски монитор да бисте погледали вредности дБ измерене вашим Ардуином. Тестирао сам овај код у својој соби где није било пуно буке, осим саобраћаја напољу, а доле наведене вредности добио сам на свом серијском монитору, а апликација за Андроид је такође приказала нешто близу овог
Комплетни рад пројекта налази се на видео снимку датом на крају ове странице. Можете да пројектујете како бисте открили звук у соби и проверили да ли постоји нека активност или колико се буке ствара у свакој учионици или нешто слично. Управо сам направио ЛЕД диоду која ће се осветљавати 2 секунде ако постоји звук снимљен изнад 60 дБ.
Рад необично задовољава, али се сигурно може користити за пројекте и друге основне прототипове. Уз још неколико копања открио сам да је проблем заправо у хардверу, који ми је повремено још увек стварао буку. Испробао сам и друге склопове који се користе на микрофонским плочама са забавним варницама које имају нископропусни и високопропусни филтер. Објаснио сам доњи круг да бисте покушали.
Појачало са кругом филтера:
Овде смо користили нископропусне и високопропусне филтере са појачалом за смањење буке у овом кругу мерења нивоа звука, тако да се тачност може повећати.
У овом горе наведеном колу користили смо популарно појачало ЛМ358 за појачавање сигнала са микрофона. Заједно са појачалом користили смо и два филтера, високопропусни филтер чине Р5, Ц2, а нископропусни филтер користе Ц1 и Р2. Ови филтери су дизајнирани да дозвољавају фреквенцију само од 8Хз до 10КХз, јер ће нископропусни филтер филтрирати све испод 8Хз, а високопропусни филтер све изнад 15КХз. Овај опсег фреквенција је одабран јер мој кондензаторски микрофон ради само од 10Хз до 15КХЗ, као што је приказано у табели са подацима испод.
Ако се ваша потреба за фреквенцијом промени, можете користити следеће формуле за израчунавање вредности отпорника и кондензатора за вашу потребну фреквенцију.
Фреквенција (Ф) = 1 / (2πРЦ)
Такође имајте на уму да ће вредност отпорника који се овде користи такође утицати на појачање појачала. Израчун вредности отпорника и кондензатора који се користе у овом колу приказан је испод. Одатле можете преузети екцел лист за модификовање вредности фреквенције и израчунавање вредности регресије.
Претходни круг је функционисао задовољавајуће за моја очекивања, па овај никада нисам пробао. Ако случајно испробате овај склоп, обавестите ме да ли функционише боље од претходног путем коментара.