- అవసరమైన పదార్థాలు:
- సర్క్యూట్ రేఖాచిత్రం:
- ADC విలువ నుండి dB ను లెక్కించడానికి రిగ్రెషన్ పద్ధతిని ఉపయోగించడం:
- DB లో ధ్వని స్థాయిని కొలవడానికి Arduino ప్రోగ్రామ్:
- ఆర్డునో సౌండ్ లెవల్ మీటర్ యొక్క పని:
- ఫిల్టర్స్ సర్క్యూట్తో యాంప్లిఫైయర్:
అధిక జనాభా సాంద్రత కారణంగా శబ్ద కాలుష్యం నిజంగా ప్రాముఖ్యతను పొందడం ప్రారంభించింది. ఒక సాధారణ మానవ చెవి 0dB నుండి 140dB వరకు ధ్వని స్థాయిలను వినగలదు, దీనిలో 120dB నుండి 140dB వరకు ధ్వని స్థాయిలు శబ్దంగా పరిగణించబడతాయి. బిగ్గరగా లేదా ధ్వని స్థాయిలను సాధారణంగా డెసిబెల్ (డిబి) లో కొలుస్తారు, మనకు కొన్ని పరికరాలు ఉన్నాయి, ఇవి డిబిలో ధ్వని సంకేతాలను కొలవగలవు కాని ఈ మీటర్లు కొంచెం ఖరీదైనవి మరియు పాపం డెసిబెల్స్లో ధ్వని స్థాయిలను కొలవడానికి మనకు బాక్స్ సెన్సార్ మాడ్యూల్ లేదు. చిన్న తరగతి గదిలో లేదా గదిలో ధ్వని స్థాయిని కొలవవలసిన చిన్న ఆర్డునో ప్రాజెక్ట్ కోసం ఖరీదైన మైక్రోఫోన్లను కొనడం ఆర్థికంగా లేదు.
కాబట్టి ఈ ప్రాజెక్ట్లో మేము ఆర్డునోతో ఒక సాధారణ ఎలెక్ట్రెట్ కండెన్సర్ మైక్రోఫోన్ను ఉపయోగిస్తాము మరియు వాస్తవ విలువకు సాధ్యమైనంత దగ్గరగా డిబిలో ధ్వని లేదా శబ్ద కాలుష్య స్థాయిని కొలవడానికి ప్రయత్నిస్తాము. ధ్వని సంకేతాలను విస్తరించడానికి మరియు దానిని ఆర్డునోకు తినిపించడానికి మేము ఒక సాధారణ యాంప్లిఫైయర్ సర్క్యూట్ను ఉపయోగిస్తాము, దీనిలో మేము dB లోని ధ్వని సంకేతాలను లెక్కించడానికి రిగ్రెషన్ పద్ధతిని ఉపయోగిస్తాము. పొందిన విలువలు సరిగ్గా ఉన్నాయో లేదో తనిఖీ చేయడానికి మేము “సౌండ్ మీటర్” ఆండ్రాయిడ్ అప్లికేషన్ను ఉపయోగించవచ్చు, మీకు మంచి మీటర్ ఉంటే మీరు దాన్ని క్రమాంకనం కోసం ఉపయోగించవచ్చు. ఈ ప్రాజెక్ట్ dB ని ఖచ్చితంగా కొలవడం లక్ష్యంగా లేదు మరియు వాస్తవ విలువకు సాధ్యమైనంత దగ్గరగా విలువలను ఇస్తుంది.
అవసరమైన పదార్థాలు:
- ఆర్డునో UNO
- మైక్రోఫోన్
- LM386
- 10 కె వేరియబుల్ POT
- రెసిస్టర్లు మరియు కెపాసిటర్లు
సర్క్యూట్ రేఖాచిత్రం:
ఈ ఆర్డునో సౌండ్ లెవల్ మీటర్ కోసం సర్క్యూట్ చాలా సులభం, దీనిలో మేము కండెన్సర్ మైక్రోఫోన్ నుండి సంకేతాలను విస్తరించడానికి మరియు ఆర్డునో యొక్క అనలాగ్ పోర్టుకు సరఫరా చేయడానికి LM386 ఆడియో యాంప్లిఫైయర్ సర్క్యూట్ను ఉపయోగించాము. తక్కువ వోల్టేజ్ ఆడియో యాంప్లిఫైయర్ సర్క్యూట్ను నిర్మించడానికి మేము ఇప్పటికే ఈ LM386 IC ని ఉపయోగించాము మరియు సర్క్యూట్ ఎక్కువ లేదా తక్కువ అలాగే ఉంటుంది.
పిన్ 1 మరియు 8 అంతటా రెసిస్టర్ లేదా కెపాసిటర్ ఉపయోగించి ఈ ప్రత్యేకమైన ఆప్-ఆంప్ యొక్క లాభం 20 నుండి 200 వరకు సెట్ చేయవచ్చు. అవి ఉచితంగా వదిలేస్తే లాభం అప్రమేయంగా 20 గా సెట్ చేయబడుతుంది. మా ప్రాజెక్ట్ కోసం మేము ఈ సర్క్యూట్ ద్వారా సాధ్యమయ్యే గరిష్ట లాభం, కాబట్టి మేము పిన్స్ 1 మరియు 8 ల మధ్య 10uF విలువ యొక్క కెపాసిటర్ను ఉపయోగిస్తాము, ఈ పిన్ ధ్రువణత సున్నితమైనదని మరియు కెపాసిటర్ యొక్క నెగటివ్ పిన్ పిన్ 8 కి అనుసంధానించబడి ఉండాలని గమనించండి. పూర్తి యాంప్లిఫైయర్ సర్క్యూట్ Arduino నుండి 5V పిన్ ద్వారా శక్తిని పొందుతుంది.
మైక్రోఫోన్ నుండి DC శబ్దాన్ని ఫిల్టర్ చేయడానికి కెపాసిటర్ సి 2 ఉపయోగించబడుతుంది. ప్రాథమికంగా మైక్రోఫోన్ ఇంద్రియ శబ్దం చేసినప్పుడు ధ్వని తరంగాలు AC సిగ్నల్గా మార్చబడతాయి. ఈ ఎసి సిగ్నల్తో పాటు కొన్ని డిసి శబ్దం ఉండవచ్చు, అది ఈ కెపాసిటర్ ద్వారా ఫిల్టర్ చేయబడుతుంది. అదేవిధంగా, యాంప్లిఫికేషన్ తర్వాత కూడా కెపాసిటర్ సి 3 యాంప్లిఫికేషన్ సమయంలో జోడించబడిన ఏదైనా డిసి శబ్దాన్ని ఫిల్టర్ చేయడానికి ఉపయోగిస్తారు.
ADC విలువ నుండి dB ను లెక్కించడానికి రిగ్రెషన్ పద్ధతిని ఉపయోగించడం:
మేము మా సర్క్యూట్తో సిద్ధమైన తర్వాత, ఆర్డునోను కంప్యూటర్కు కనెక్ట్ చేసి, మన మైక్రోఫోన్ నుండి చెల్లుబాటు అయ్యే ADC విలువలను పొందుతున్నామో లేదో తనిఖీ చేయడానికి Arduino నుండి “అనలాగ్ రీడ్ సీరియల్” ఉదాహరణ ప్రోగ్రామ్ను అప్లోడ్ చేయవచ్చు. ఇప్పుడు మనం ఈ ADC విలువలను dB గా మార్చాలి.
ఉష్ణోగ్రత లేదా తేమను కొలవడం వంటి ఇతర విలువల మాదిరిగా కాకుండా, dB ను కొలవడం సూటిగా చేసే పని కాదు. ఎందుకంటే dB యొక్క విలువ ADC విలువతో సరళంగా ఉండదు. మీరు చేరుకోవడానికి కొన్ని మార్గాలు ఉన్నాయి, కాని నేను ప్రయత్నించిన ప్రతి అడుగు నాకు మంచి ఫలితాలను పొందలేదు. మీరు ఒకసారి ప్రయత్నించాలనుకుంటే ఇక్కడ ఈ ఆర్డునో ఫోరమ్ ద్వారా చదువుకోవచ్చు.
నా అప్లికేషన్ కోసం, dB విలువలను కొలిచేటప్పుడు నాకు చాలా ఖచ్చితత్వం అవసరం లేదు మరియు అందువల్ల ADC విలువలను dB విలువలతో నేరుగా క్రమాంకనం చేయడానికి సులభమైన మార్గాన్ని ఉపయోగించాలని నిర్ణయించుకున్నాను. ఈ పద్ధతి కోసం, మాకు ఒక SPL మీటర్ అవసరం (ఒక SPL మీటర్ అనేది dB విలువలను చదివి దానిని ప్రదర్శించగల ఒక పరికరం), కానీ పాపం నా దగ్గర ఒకటి లేదు మరియు మనలో చాలామందికి ఖచ్చితంగా తెలియదు. కాబట్టి మేము "సౌండ్ మీటర్" అని పిలువబడే ఆండ్రాయిడ్ అప్లికేషన్ను ప్లే స్టోర్ నుండి ఉచితంగా డౌన్లోడ్ చేసుకోవచ్చు. అటువంటి అనేక రకాల అనువర్తనాలు ఉన్నాయి మరియు మీకు నచ్చిన ఏదైనా డౌన్లోడ్ చేసుకోవచ్చు. ఈ అనువర్తనాలు శబ్దం స్థాయిని గుర్తించడానికి మరియు మా మొబైల్లో ప్రదర్శించడానికి ఫోన్ యొక్క అంతర్నిర్మిత మైక్రోఫోన్ను ఉపయోగిస్తాయి. అవి చాలా ఖచ్చితమైనవి కావు, కాని ఖచ్చితంగా మా పనికి పని చేస్తాయి. కాబట్టి ఆండ్రాయిడ్ అప్లికేషన్ను ఇన్స్టాల్ చేయడం ద్వారా ప్రారంభిద్దాం, తెరిచినప్పుడు గని ఈ విధంగా కనిపిస్తుంది
నేను ఇంతకు ముందే చెప్పినట్లుగా, డిబి మరియు అనలాగ్ విలువల మధ్య సంబంధం సరళంగా ఉండదు కాబట్టి ఈ రెండు విలువలను వేర్వేరు వ్యవధిలో పోల్చాలి. మీ మొబైల్ ఫోన్లో ప్రదర్శించబడే విభిన్న dB కోసం స్క్రీన్లో ప్రదర్శించబడే ADC విలువను గమనించండి. నేను సుమారు 10 రీడింగులను తీసుకున్నాను మరియు అవి క్రింద ఇలా ఉన్నాయి, మీరు కొంచెం మారవచ్చు
ఎక్సెల్ పేజీని తెరిచి ఈ విలువలను టైప్ చేయండి, ప్రస్తుతానికి పై సంఖ్యకు రిగ్రెషన్ విలువలను కనుగొనడానికి ఎక్సెల్ ఉపయోగిస్తాము. దీనికి ముందు ఒక గ్రాఫ్ను ప్లాట్ చేద్దాం మరియు అవి రెండూ ఎలా సంబంధం కలిగి ఉన్నాయో తనిఖీ చేద్దాం, గని క్రింద ఇలా ఉంది.
మేము చూడగలిగినట్లుగా, dB యొక్క విలువ ADC తో సరళంగా సంబంధం లేదు, అంటే అన్ని ADC విలువలకు సమానమైన dB విలువలను పొందటానికి మీకు సాధారణ గుణకం ఉండకూడదు. అటువంటి సందర్భంలో మనం “లీనియర్ రిగ్రెషన్” పద్ధతిని ఉపయోగించుకోవచ్చు. సాధారణంగా, ఇది ఈ క్రమరహిత నీలిరంగు రేఖను సాధ్యమైనంత దగ్గరగా ఉండే సరళ రేఖకు (బ్లాక్ లైన్) మారుస్తుంది మరియు ఆ సరళ రేఖ యొక్క సమీకరణాన్ని ఇస్తుంది. ఆర్డునో కొలిచే ADC యొక్క ప్రతి విలువకు dB యొక్క సమానమైన విలువను కనుగొనడానికి ఈ సమీకరణాన్ని ఉపయోగించవచ్చు.
ఎక్సెల్ లో డేటా విశ్లేషణ కోసం మాకు ప్లగ్-ఇన్ ఉంది, ఇది మీ విలువల సమితి కోసం రిగ్రెషన్ను స్వయంచాలకంగా లెక్కిస్తుంది మరియు దాని డేటాను ప్రచురిస్తుంది. ఈ ప్రాజెక్ట్ యొక్క పరిధికి వెలుపల ఉన్నందున ఎక్సెల్ తో ఎలా చేయాలో నేను కవర్ చేయబోతున్నాను, ఇది మీకు గూగుల్ మరియు నేర్చుకోవడం కూడా సులభం. మీరు విలువ కోసం రిగ్రెషన్ను లెక్కించిన తర్వాత, ఎక్సెల్ క్రింద చూపిన విధంగా కొన్ని విలువలను ఇస్తుంది. దిగువ హైలైట్ చేయబడిన సంఖ్యలపై మాత్రమే మాకు ఆసక్తి ఉంది.
మీరు ఈ సంఖ్యలను పొందిన తర్వాత మీరు ఈ క్రింది సమీకరణాన్ని రూపొందించగలరు
ADC = (11.003 * dB) - 83.2073
దీని నుండి మీరు dB ను పొందవచ్చు
dB = (ADC + 83.2073) / 11.003
అమరిక భిన్నంగా ఉండవచ్చు కాబట్టి మీరు మీ స్వంత సమీకరణాన్ని నడపవలసి ఉంటుంది. అయితే, ఆర్డునోను ప్రోగ్రామింగ్ చేసేటప్పుడు మనకు ఇది అవసరం కనుక ఈ విలువను సురక్షితంగా ఉంచండి.
DB లో ధ్వని స్థాయిని కొలవడానికి Arduino ప్రోగ్రామ్:
DB ను కొలవడానికి పూర్తి ప్రోగ్రామ్ క్రింద ఇవ్వబడింది, కొన్ని ముఖ్యమైన పంక్తులు క్రింద వివరించబడ్డాయి
పై రెండు పంక్తులలో, పిన్ A0 యొక్క ADC విలువను చదివి, మనం ఇప్పుడే పొందిన సమీకరణాన్ని ఉపయోగించి దానిని dB గా మారుస్తాము. ఈ dB విలువ మేము నిజమైన dB విలువకు ఖచ్చితమైనది కాకపోవచ్చు, కానీ, మొబైల్ అనువర్తనంలో ప్రదర్శించబడే విలువలకు చాలా దగ్గరగా ఉంటుంది.
adc = అనలాగ్ రీడ్ (MIC); // యాంప్లిఫైయర్ నుండి ADC విలువను చదవండి dB = (adc + 83.2073) / 11.003; // రిగ్రెషన్ విలువలను ఉపయోగించి ADC విలువను dB గా మార్చండి
ప్రోగ్రామ్ సరిగ్గా పనిచేస్తుందో లేదో తనిఖీ చేయడానికి, మేము డిజిటల్ పిన్ 3 కి ఒక ఎల్ఇడిని కూడా చేర్చుకున్నాము, ఇది ఆర్డునో 60 డిబి పైన పెద్ద శబ్దాన్ని కొలిచినప్పుడు 1 సెకనుకు అధికంగా వెళ్తుంది.
if (dB> 60) {DigitalWrite (3, HIGH); // LED ని ఆన్ చేయండి (HIGH అనేది వోల్టేజ్ స్థాయి) ఆలస్యం (1000); // రెండవ డిజిటల్ రైట్ (3, తక్కువ) కోసం వేచి ఉండండి; }
ఆర్డునో సౌండ్ లెవల్ మీటర్ యొక్క పని:
మీరు కోడ్ మరియు హార్డ్వేర్తో సిద్ధమైన తర్వాత, కోడ్ను అప్లోడ్ చేసి, మీ ఆర్డునో చేత కొలవబడిన dB విలువలను చూడటానికి మీ సీరియల్ మానిటర్ను తెరవండి. నేను ఈ గదిని నా గదిలో పరీక్షిస్తున్నాను, అక్కడ ట్రాఫిక్ మినహా ఎక్కువ శబ్దం లేదు మరియు నా సీరియల్ మానిటర్లో ఈ క్రింది విలువలు వచ్చాయి మరియు ఆండ్రాయిడ్ అప్లికేషన్ కూడా దీనికి దగ్గరగా ఏదో ప్రదర్శిస్తుంది
ప్రాజెక్ట్ యొక్క పూర్తి పనిని ఈ పేజీ చివరిలో ఇచ్చిన వీడియోలో చూడవచ్చు. గదిలో ధ్వనిని గుర్తించడానికి మీరు ప్రాజెక్ట్ చేయడానికి ఉపయోగించవచ్చు మరియు ఏదైనా కార్యాచరణ ఉందా లేదా ప్రతి తరగతి గదిలో ఎంత శబ్దం ఉత్పత్తి అవుతుందో తనిఖీ చేయండి. 60 డిబి పైన ధ్వని రికార్డ్ చేయబడితే 2 సెకన్ల పాటు ఎత్తైన ఎల్ఈడీని తయారు చేసాను.
పని అసాధారణంగా సంతృప్తికరంగా ఉంది, కానీ ఖచ్చితంగా ప్రాజెక్టులు మరియు ఇతర ప్రాథమిక నమూనాల కోసం ఉపయోగించవచ్చు. మరికొన్ని త్రవ్వకాలతో సమస్య వాస్తవానికి హార్డ్వేర్తో ఉందని నేను కనుగొన్నాను, ఇది ఇప్పటికీ నాకు శబ్దం ఇస్తోంది. నేను తక్కువ-పాస్ మరియు హై-పాస్ ఫిల్టర్ ఉన్న స్పార్క్ ఫన్ మైక్రోఫోన్ బోర్డులలో ఉపయోగించే ఇతర సర్క్యూట్లను ప్రయత్నించాను. మీరు ప్రయత్నించడానికి నేను ఈ క్రింది సర్క్యూట్ను వివరించాను.
ఫిల్టర్స్ సర్క్యూట్తో యాంప్లిఫైయర్:
ఈ సౌండ్ లెవల్ కొలత సర్క్యూట్లో శబ్దాన్ని తగ్గించడానికి యాంప్లిఫైయర్తో తక్కువ పాస్ మరియు హై పాస్ ఫిల్టర్లను ఇక్కడ ఉపయోగించాము , తద్వారా ఖచ్చితత్వం పెరుగుతుంది.
ఈ పై సర్క్యూట్లో, మైక్రోఫోన్ నుండి సంకేతాలను విస్తరించడానికి మేము ప్రముఖ LM358 యాంప్లిఫైయర్ను ఉపయోగించాము. యాంప్లిఫైయర్తో పాటు, మేము రెండు ఫిల్టర్లను కూడా ఉపయోగించాము, హై-పాస్ ఫిల్టర్ R5, C2 చేత ఏర్పడుతుంది మరియు తక్కువ-పాస్ ఫిల్టర్ను C1 మరియు R2 ఉపయోగిస్తాయి. ఈ ఫిల్టర్లు 8Hz నుండి 10KHz వరకు మాత్రమే ఫ్రీక్వెన్సీని అనుమతించేలా రూపొందించబడ్డాయి, ఎందుకంటే తక్కువ పాస్-ఫిల్టర్ 8Hz కంటే తక్కువ ఏదైనా ఫిల్టర్ చేస్తుంది మరియు హై పాస్ ఫిల్టర్ 15KHz పైన ఏదైనా ఫిల్టర్ చేస్తుంది. ఈ ఫ్రీక్వెన్సీ పరిధి ఎంచుకోబడింది ఎందుకంటే దిగువ డేటాషీట్లో చూపిన విధంగా నా కండెన్సర్ మైక్రోఫోన్ 10Hz నుండి 15KHZ వరకు మాత్రమే పనిచేస్తుంది.
మీ ఫ్రీక్వెన్సీ డిమాండ్ మారితే, మీకు అవసరమైన ఫ్రీక్వెన్సీ కోసం రెసిస్టర్ మరియు కెపాసిటర్ విలువను లెక్కించడానికి మీరు ఈ క్రింది సూత్రాలను ఉపయోగించవచ్చు.
ఫ్రీక్వెన్సీ (F) = 1 / (2πRC)
అలాగే, ఇక్కడ ఉపయోగించిన రెసిస్టర్ యొక్క విలువ కూడా యాంప్లిఫైయర్ యొక్క లాభంపై ప్రభావం చూపుతుందని గమనించండి. ఈ సర్క్యూట్లో ఉపయోగించే రెసిస్టర్ మరియు కెపాసిటర్ విలువ కోసం లెక్కింపు క్రింద చూపబడింది. ఫ్రీక్వెన్సీ విలువలను సవరించడానికి మరియు రిగ్రెషన్ విలువలను లెక్కించడానికి మీరు ఇక్కడ నుండి ఎక్సెల్ షీట్ను డౌన్లోడ్ చేసుకోవచ్చు.
మాజీ సర్క్యూట్ నా అంచనాలకు సంతృప్తికరంగా పనిచేసింది, కాబట్టి నేను దీన్ని ఎప్పుడూ ప్రయత్నించలేదు. మీరు ఈ సర్క్యూట్ను ప్రయత్నించినట్లయితే, ఇది వ్యాఖ్యల ద్వారా మునుపటి కంటే మెరుగ్గా పనిచేస్తుందో లేదో నాకు తెలియజేయండి.