- Mga Materyal na Kinakailangan:
- Diagram ng Circuit:
- Paggamit ng Paraan ng Pag-urong upang makalkula ang dB mula sa Halaga ng ADC:
- Arduino Program upang masukat ang antas ng Tunog sa dB:
- Paggawa ng Arduino Sound Level Meter:
- Amplifier na may Mga Filter ng Circuit:
Ang polusyon sa ingay ay talagang nagsimula upang makakuha ng kahalagahan dahil sa mataas na density ng populasyon. Ang isang normal na tainga ng tao ay maaaring makarinig ng mga antas ng tunog mula 0dB hanggang 140dB kung saan ang mga antas ng tunog mula 120dB hanggang 140dB ay itinuturing na ingay. Ang mga antas ng lakas o tunog ay karaniwang sinusukat sa decibel (dB), mayroon kaming ilang mga instrumento na maaaring masukat ang mga signal ng tunog sa dB ngunit ang mga metro na ito ay medyo mahal at nakalulungkot na wala kaming isang out of box sensor module upang masukat ang mga antas ng tunog sa mga decibel. At hindi matipid ang pagbili ng mamahaling mga mikropono para sa isang maliit na proyekto ng Arduino na dapat sukatin ang antas ng tunog sa isang maliit na silid-aralan o sala.
Kaya sa proyektong ito gagamit kami ng isang normal na mikropono ng Electret Condenser na may Arduino at subukang sukatin ang antas ng polusyon ng tunog o ingay sa dB na mas malapit hangga't maaari sa aktwal na halaga. Gumagamit kami ng isang normal na circuit ng amplifier upang palakasin ang mga signal ng tunog at pakainin ito sa Arduino kung saan gagamitin namin ang paraan ng pagbabalik upang makalkula ang mga signal ng tunog sa dB. Upang suriin kung tama ang mga halagang nakuha maaari naming gamitin ang application na "Sound Meter" android, kung mayroon kang isang mas mahusay na metro maaari mo itong magamit para sa pagkakalibrate. Tandaan na ang proyektong ito ay hindi naglalayong sukatin ang dB nang tumpak at bibigyan lamang ang mga halagang mas malapit hangga't maaari sa aktwal na halaga.
Mga Materyal na Kinakailangan:
- Arduino UNO
- Mikropono
- LM386
- 10K variable na POT
- Mga Resistor at Capacitor
Diagram ng Circuit:
Ang circuit para sa Arduino Sound Level Meter na ito ay isang napaka-simple kung saan ginamit namin ang LM386 Audio amplifier circuit upang palakasin ang mga signal mula sa isang condenser microphone at ibigay ito sa Analog port ng Arduino. Ginamit na namin ang LM386 IC na ito upang makabuo ng isang mababang boltahe na audio amplifier Circuit at ang circuit higit pa o mas mababa ay nananatiling pareho.
Ang pagkakaroon ng partikular na op-amp na ito ay maaaring itakda mula 20 hanggang 200 gamit ang isang risistor o capacitor sa kabuuan ng pin 1 at 8. Kung maiiwan silang libre ang maitatakda ay itatakda bilang 20 bilang default. Para sa aming proyekto namin ang maximum na posible na makakuha ng circuit na ito, kaya gumagamit kami ng isang kapasitor ng halagang 10uF sa pagitan ng mga pin 1 at 8, tandaan na ang pin na ito ay sensitibo sa polarity at ang negatibong pin ng capacitor ay dapat na konektado sa pin 8. ang circuit ay pinalakas ng 5V pin mula sa Arduino.
Ginagamit ang Capacitor C2 upang salain ang ingay ng DC mula sa Mikropono. Karaniwan kapag nadarama ng mikropono ang tunog ng mga alon ng tunog ay mababago sa mga signal ng AC. Ang senyas na ito ng AC ay maaaring magkaroon ng ilang ingay ng DC na isinama dito na masasala sa pamamagitan ng kapasitor na ito. Katulad nito, kahit na pagkatapos ng pagpapalaki ng isang capacitor C3 ay ginagamit upang salain ang anumang DC ingay na maaaring naidagdag sa panahon ng amplification.
Paggamit ng Paraan ng Pag-urong upang makalkula ang dB mula sa Halaga ng ADC:
Kapag handa na kami sa aming circuit maaari naming ikonekta ang Arduino sa computer at i-upload ang programang Halimbawa ng "Analog Read Serial" mula sa Arduino upang suriin kung nakakakuha kami ng wastong mga halaga ng ADC mula sa aming mikropono. Ngayon kailangan naming i-convert ang mga halagang ADC na ito sa dB.
Hindi tulad ng iba pang mga halagang tulad ng pagsukat ng temperatura o halumigmig, ang pagsukat ng dB ay hindi isang prangka na gawain. Dahil ang halaga ng dB ay hindi guhit sa halaga ng ADC's. Mayroong ilang mga paraan kung saan ka makakarating ngunit bawat posibleng hakbang na sinubukan ko ay hindi nakakuha ng magagandang resulta sa akin. Maaari mong basahin ang Arduino forum na ito dito kung nais mong subukan ito.
Para sa aking aplikasyon, hindi ko kailangan ng gaanong kawastuhan habang sinusukat ang mga halaga ng dB at kaya't nagpasyang gumamit ng isang mas madaling paraan ng direktang pag-calibrate ng mga halaga ng ADC na may mga halagang dB. Para sa pamamaraang ito, kakailanganin namin ang isang SPL meter (Ang isang SPL meter ay isang instrumento na maaaring basahin ang mga halaga ng dB at ipakita ito), ngunit nakalulungkot na wala akong isa at sigurado na karamihan sa atin ay hindi. Kaya maaari naming gamitin ang android application na tinatawag na "Sound meter" na maaaring ma-download mula sa play store nang libre. Maraming mga tulad ng mga uri ng application at maaari mong i-download ang anumang gusto mo. Ang mga application na ito ay gumagamit ng built-in na mikropono ng telepono upang makita ang antas ng ingay at ipakita ito sa aming mobile. Ang mga ito ay hindi masyadong tumpak, ngunit tiyak na gagana para sa aming gawain. Kaya't magsimula tayo sa pamamagitan ng pag-install ng Android application, ang sa akin kapag binuksan ay tumingin ng tulad nito sa ibaba
Tulad ng sinabi ko nang mas maaga ang ugnayan sa pagitan ng dB at mga halaga ng Analog ay hindi magiging linear kaya kailangan nating ihambing ang dalawang halagang ito sa magkakaibang agwat. Tandaan lamang ang halaga ng pagpapakita ng ADC sa screen para sa iba't ibang dB na ipinapakita sa iyong mobile phone. Tumagal ako ng halos 10 mga pagbasa at ganito ang hitsura nila sa ibaba, maaari kang mag-iba ng kaunti
Magbukas ng isang pahina ng excel at i-type ang mga halagang ito, sa ngayon ay gagamitin namin ang Excel upang hanapin ang mga halaga ng pagbabalik para sa numero sa itaas. Bago iyon magplano tayo ng isang graph at suriin kung paano sila magkakaugnay, ang minahan ay ganito sa ibaba.
Tulad ng nakikita natin ang halaga ng dB ay hindi nauugnay nang linearly sa ADC, nangangahulugang hindi ka maaaring magkaroon ng isang karaniwang multiplier para sa lahat ng mga halaga ng ADC upang makuha ang katumbas na mga halaga ng dB. Sa ganitong kaso maaari naming magamit ang pamamaraang "linear regression". Talaga, babaguhin nito ang hindi regular na asul na linya sa pinakamalapit na posibleng tuwid na linya (itim na linya) at bibigyan kami ng equation ng tuwid na linya. Ang equation na ito ay maaaring magamit upang mahanap ang katumbas na halaga ng dB para sa bawat halaga ng ADC na sinusukat ng Arduino.
Sa excel mayroon kaming isang plug-in para sa pagtatasa ng data na awtomatikong makakalkula ang pagbabalik para sa iyong hanay ng mga halaga at mai-publish ang data nito. Hindi ko sasaklawin kung paano ito gawin nang may excel dahil wala ito sa saklaw ng proyektong ito, madali din para sa iyo ang Google at alamin ito. Kapag nakalkula mo ang pagbabalik para sa halaga, ang excel ay magbibigay ng ilang mga halagang tulad ng ipinakita sa ibaba. Interesado lamang kami sa mga bilang na naka-highlight sa ibaba.
Kapag nakuha mo ang mga numerong ito magagawa mong bumuo ng sa ibaba ng equation tulad
ADC = (11.003 * dB) - 83.2073
Mula sa kung saan maaari kang makakuha ng dB upang maging
dB = (ADC + 83.2073) / 11.003
Maaaring kailanganin mong magmaneho ng iyong sariling equation dahil maaaring magkakaiba ang pagkakalibrate. Gayunpaman, panatilihing ligtas ang halagang ito dahil kakailanganin namin ito habang pinaprograma ang Arduino.
Arduino Program upang masukat ang antas ng Tunog sa dB:
Ang kumpletong programa upang masukat ang dB ay ibinibigay sa ibaba, ilang mahahalagang linya ang ipinapaliwanag sa ibaba
Sa mga nasa itaas na dalawang linya, binasa namin ang halaga ng ADC ng pin A0 at binago ito sa dB gamit ang equation na aming nakuha lamang. Ang halagang dB na ito ay maaaring hindi tayo tumpak sa totoong halaga ng dB ngunit, nananatiling medyo malapit sa mga halagang ipinapakita sa mobile application.
adc = analogRead (MIC); // Basahin ang halaga ng ADC mula sa amplifer dB = (adc + 83.2073) / 11.003; // I-convert ang halaga ng ADC sa dB gamit ang mga halagang Pag-urong
Upang suriin kung ang programa ay gumagana nang maayos nagdagdag din kami ng isang LED sa digital pin 3 na ginawa upang mataas para sa 1 sec kapag ang Arduino ay sumusukat ng isang malakas na ingay sa itaas 60dB.
kung (dB> 60) {digitalWrite (3, TAAS); // i-on ang LED (MATAAS ang antas ng boltahe) pagkaantala (1000); // maghintay para sa isang pangalawang digitalWrite (3, LOW); }
Paggawa ng Arduino Sound Level Meter:
Kapag handa ka na sa code at hardware, i-upload lamang ang code at buksan ang iyong serial monitor upang tingnan ang mga halagang dB na sinusukat ng iyong Arduino. Sinusubukan ko ang code na ito sa aking silid kung saan walang gaanong ingay maliban sa trapiko sa labas at nakuha ko ang mga halagang nasa ibaba sa aking serial monitor at ang android application ay nagpakita rin ng isang bagay na malapit dito
Ang kumpletong pagtatrabaho ng proyekto ay matatagpuan sa video na ibinigay sa pagtatapos ng pahinang ito. Maaari mong gamitin upang i-proyekto ang pagtuklas ng tunog sa silid at suriin kung mayroong anumang aktibidad o kung gaano karaming ingay ang nabuo sa bawat silid-aralan o isang bagay na tulad nito. Ginagawa ko lang ang isang LED upang maging mataas para sa 2 segundo kung may tunog na naitala sa itaas 60dB.
Ang pagtatrabaho ay kakaibang nagbibigay-kasiyahan, ngunit tiyak na magagamit para sa mga proyekto at iba pang pangunahing mga prototype. Sa ilang mga paghuhukay pa natagpuan ko na ang problema ay talagang sa hardware, na nagbibigay pa rin sa akin ng ingay ngayon at pagkatapos. Kaya't sinubukan ko ang iba pang mga circuit na ginagamit sa spark fun microphone boards na mayroong isang low-pass at high-pass filter. Ipinaliwanag ko ang circuit sa ibaba para subukan mo.
Amplifier na may Mga Filter ng Circuit:
Dito namin ginamit ang Mababang pagpasa at mga high pass filter na may Amplifier upang mabawasan ang ingay sa circuit ng pagsukat ng antas ng tunog na ito upang madagdagan ang katumpakan.
Sa circuit sa itaas na ito, ginamit namin ang sikat na LM358 amplifier upang palakasin ang mga signal mula sa mikropono. Kasama ang amplifier gumamit din kami ng dalawang mga filter, ang high-pass filter ay nabuo ng R5, C2 at ang low-pass filter ay ginagamit ng C1 at R2. Ang mga filter na ito ay dinisenyo upang payagan ang dalas lamang mula 8Hz hanggang 10KHz, dahil ang mababang pass-filter ay mag-filter ng anumang mas mababa sa 8Hz at ang High Pass filter ay mag-filter ng anumang higit sa 15KHz. Ang saklaw ng dalas na ito ay pinili ay dahil ang aking condenser microphone ay gumagana lamang mula 10Hz hanggang 15KHZ tulad ng ipinakita sa datasheet sa ibaba.
Kung nagbago ang iyong kahilingan sa dalas maaari mong gamitin ang mga formula sa ibaba upang makalkula ang halaga ng Resistor at capacitor para sa iyong kinakailangang dalas.
Dalas (F) = 1 / (2πRC)
Gayundin, tandaan na ang halaga ng risistor na ginamit dito ay makakaapekto rin sa Gain ng amplifier. Ang pagkalkula para sa halaga ng risistor at capacitor na ginamit sa circuit na ito ay ipinapakita sa ibaba. Maaari mong i-download ang excel sheet mula dito para sa pagbabago ng mga halaga ng Frequency at pagkalkula ng mga halaga ng pagbabalik.
Ang dating circuit ay nagtrabaho kasiya-siya para sa aking mga inaasahan, kaya hindi ko kailanman sinubukan ang isang ito. Kung sakaling subukan mo ang circuit na ito ipaalam sa akin kung gumana ito nang mas mahusay kaysa sa naunang isa sa pamamagitan ng mga komento.