- అవసరమైన పదార్థాలు:
- సర్క్యూట్ రేఖాచిత్రం:
- HC-SR04 మాడ్యూల్ వాస్తవానికి ఎలా పనిచేస్తుంది:
- రెండు అల్ట్రాసోనిక్ సెన్సార్ల (HC-SR04) మధ్య దూరాన్ని కొలవడం:
- ట్రాన్స్మిటర్ సెన్సార్ కోసం ప్రోగ్రామ్:
- రిసీవర్ సెన్సార్ కోసం ప్రోగ్రామ్:
- పని:
- మెరుగైన ఆలోచన - తెలిసిన దూరాన్ని ఉపయోగించి సెన్సార్ను క్రమాంకనం చేస్తుంది:
అల్ట్రాసోనిక్ సెన్సార్ (HC-SR04) సాధారణంగా ఒక నిర్దిష్ట బిందువు నుండి ఒక వస్తువు యొక్క దూరాన్ని కనుగొనడానికి ఉపయోగిస్తారు. ఆర్డునోతో దీన్ని చేయడం చాలా సులభం మరియు కోడ్ కూడా చాలా సులభం. కానీ ఈ వ్యాసంలో మేము ఈ ప్రసిద్ధ HC-SR04 సెన్సార్లతో భిన్నమైనదాన్ని ప్రయత్నించబోతున్నాము. మేము రెండు అల్ట్రాసోనిక్ సెన్సార్ల మధ్య దూరాన్ని లెక్కించడానికి ప్రయత్నిస్తాము, అంటే మేము ఒక సెన్సార్ను ట్రాన్స్మిటర్గా మరియు మరొక సెన్సార్ను రిసీవర్గా పనిచేయడానికి చేస్తాము. ఇలా చేయడం ద్వారా మేము అనేక అల్ట్రాసోనిక్ రిసీవర్లను ఉపయోగించి ఒక ట్రాన్స్మిటర్ యొక్క స్థానాన్ని ట్రాక్ చేయవచ్చు, ఈ ట్రాకింగ్ను ట్రయాంగ్యులేషన్ అంటారు మరియు ఆటోమేటిక్ డాకింగ్ రోబోట్స్ లగేజ్ ఫాలోవర్స్ మరియు ఇతర సారూప్య అనువర్తనాల కోసం ఉపయోగించవచ్చు. రెండు యుఎస్ సెన్సార్ల మధ్య దూరాన్ని కనుగొనడం చాలా సరళమైన పని అనిపించవచ్చు కాని నేను ఈ ప్రాజెక్ట్లో చర్చించిన కొన్ని సవాళ్లను ఎదుర్కొన్నాను.
ఈ వ్యాసంలో చర్చించిన సాంకేతికత చాలా ఖచ్చితమైనది కాదు మరియు మార్పులు లేకుండా ఏ నిజమైన వ్యవస్థల్లోనూ ఉపయోగపడకపోవచ్చు. ఈ డాక్యుమెంటేషన్ సమయంలో నేను ఎవరితోనూ ఫలితాలను పొందలేకపోయాను, అందువల్ల నేను ఎలా పని చేశాను అనే దానిపై నా అభిప్రాయాలను పంచుకున్నాను, తద్వారా ఈ ప్రయత్నం చేస్తున్న వ్యక్తులు చక్రంను తిరిగి కనిపెట్టవలసిన అవసరం లేదు.
అవసరమైన పదార్థాలు:
- ఆర్డునో (2 సంఖ్యలు) - ఏదైనా మోడల్
- HCSR04 మాడ్యూల్ (2 సంఖ్యలు)
సర్క్యూట్ రేఖాచిత్రం:
మేము ఒక యుఎస్ (అల్ట్రాసోనిక్) సెన్సార్ను ట్రాన్స్మిటర్గా మరియు మరొకటి రిసీవర్గా పని చేయబోతున్నప్పటికీ, సెన్సార్ల యొక్క నాలుగు పిన్లను ఆర్డునోతో కనెక్ట్ చేయడం తప్పనిసరి. మనం ఎందుకు ఉండాలి? వాటిలో మరిన్ని తరువాత చర్చించబడతాయి, కానీ ప్రస్తుతానికి సర్క్యూట్ రేఖాచిత్రం ఈ క్రింది విధంగా ఉంటుంది
మీరు చూడగలిగినట్లుగా ట్రాన్స్మిటర్ మరియు రిసీవర్ రెండింటికి సర్క్యూట్ రేఖాచిత్రం రెండూ ఒకేలా ఉంటాయి. ఇవి కూడా తనిఖీ చేయండి: ఆర్డునో అల్ట్రాసోనిక్ సెన్సార్ ఇంటర్ఫేసింగ్
HC-SR04 మాడ్యూల్ వాస్తవానికి ఎలా పనిచేస్తుంది:
మేము ముందుకు వెళ్ళే ముందు HC-SR04 సెన్సార్ ఎలా పనిచేస్తుందో అర్థం చేసుకుందాం. దిగువ టైమింగ్ రేఖాచిత్రం పనిని అర్థం చేసుకోవడానికి మాకు సహాయపడుతుంది.
సెన్సార్ రెండు పిన్స్ ట్రిగ్గర్ మరియు ఎకోలను కలిగి ఉంది, ఇది టైమింగ్ రేఖాచిత్రంలో చూపిన విధంగా దూరాన్ని కొలవడానికి ఉపయోగిస్తారు. మొదట కొలతను ప్రారంభించడానికి మేము ట్రాన్స్మిటర్ నుండి అల్ట్రాసోనిక్ తరంగాన్ని పంపాలి, ట్రిగ్గర్ పిన్ను 10uS కోసం అధికంగా అమర్చడం ద్వారా ఇది చేయవచ్చు. ఇది పూర్తయిన వెంటనే ట్రాన్స్మిటర్ పిన్ యుఎస్ తరంగాల 8 సోనిక్ పేలుళ్లను పంపుతుంది. ఈ యుఎస్ వేవ్ ఆబ్జెక్ట్ బౌన్స్ బ్యాక్ను తాకుతుంది మరియు రిసీవర్ అందుకుంటుంది.
ఇక్కడ టైమింగ్ రేఖాచిత్రం రిసీవర్ తరంగాన్ని స్వీకరించిన తర్వాత అది ఎకో పిన్ను ఎక్కువ కాలం వెళ్లేలా చేస్తుంది, ఇది యుఎస్ సెన్సార్ నుండి వేవ్ ప్రయాణించి సెన్సార్కు తిరిగి రావడానికి తీసుకున్న సమయానికి సమానం. ఈ టైమింగ్ రేఖాచిత్రం నిజమని అనిపించదు.
నేను నా సెన్సార్ యొక్క Tx (ట్రాన్స్మిటర్) భాగాన్ని కవర్ చేసాను మరియు ఎకో పల్స్ ఎక్కువగా ఉందో లేదో తనిఖీ చేసాను మరియు అవును అది అధికంగా ఉంటుంది. దీని అర్థం యుఎస్ (అల్ట్రాసోనిక్) వేవ్ అందుకోడానికి ఎకో పల్స్ వేచి ఉండదు. ఇది యుఎస్ తరంగాన్ని ప్రసారం చేసిన తర్వాత అది ఎత్తుకు వెళ్లి వేవ్ తిరిగి వచ్చే వరకు అధికంగా ఉంటుంది. కాబట్టి సరైన టైమింగ్ రేఖాచిత్రం క్రింద చూపిన విధంగా ఉండాలి (నా పేలవమైన రచనా నైపుణ్యానికి క్షమించండి)
మీ HC-SR04 ను ట్రాన్స్మిటర్గా మాత్రమే పని చేస్తుంది:
ట్రాన్స్మిటర్గా మాత్రమే పనిచేయడానికి HC-SR04 చేయడానికి ఇది చాలా సరళంగా ముందుకు ఉంటుంది. టైమింగ్ రేఖాచిత్రంలో చూపిన విధంగా మీరు ట్రిగ్గర్ పిన్ను అవుట్పుట్ పిన్గా ప్రకటించాలి మరియు 10 మైక్రోసెకన్ల వరకు అధికంగా ఉండేలా చేయాలి. ఇది అల్ట్రాసోనిక్ వేవ్ పేలుడును ప్రారంభిస్తుంది. కాబట్టి మేము తరంగాన్ని ప్రసారం చేయాలనుకున్నప్పుడు మేము ట్రాన్స్మిటర్ సెన్సార్ యొక్క ట్రిగ్గర్ పిన్ను నియంత్రించాలి, దీని కోసం కోడ్ క్రింద ఇవ్వబడింది.
మీ HC-SR04 ను స్వీకర్తగా మాత్రమే పని చేయడం:
టైమింగ్ రేఖాచిత్రంలో చూపినట్లుగా, ఎకో పిన్ యొక్క పెరుగుదలను ట్రిగ్గర్ పిన్కు సంబంధించినది కాబట్టి మేము నియంత్రించలేము. కాబట్టి మేము HC-SR04 ను రిసీవర్గా మాత్రమే పని చేసే మార్గం లేదు. సెన్సార్ యొక్క ట్రాన్స్మిటర్ భాగాన్ని టేప్తో కప్పడం ద్వారా (క్రింద ఉన్న చిత్రంలో చూపినట్లు) లేదా యుఎస్ వేవ్ దాని ట్రాన్స్మిటర్ కేసింగ్ వెలుపల తప్పించుకోలేము మరియు ఎకో పిన్ ఈ యుఎస్ వేవ్ ద్వారా ప్రభావితం కాదు.
ఇప్పుడు ఎకో పిన్ అధికంగా ఉండటానికి మనం ఈ డమ్మీ ట్రిగ్గర్ పిన్ను 10 మైక్రోసెకన్ల కోసం అధికంగా లాగాలి. ఈ రిసీవర్ సెన్సార్ ట్రాన్స్మిటర్ సెన్సార్ ద్వారా యుఎస్ వేవ్ ప్రసారం అయిన తర్వాత ఎకో పిన్ తక్కువగా ఉంటుంది.
రెండు అల్ట్రాసోనిక్ సెన్సార్ల (HC-SR04) మధ్య దూరాన్ని కొలవడం:
ఒక సెన్సార్ను ట్రాన్స్మిటర్గా, మరొక సెన్సార్ను రిసీవర్గా ఎలా పని చేయాలో ఇప్పటివరకు మేము అర్థం చేసుకున్నాము. ఇప్పుడు, మేము ట్రాన్స్మిటర్ సెన్సార్ నుండి అల్ట్రాసోనిక్ వేవ్ను ప్రసారం చేయాలి మరియు దానిని రిసీవర్ సెన్సార్తో స్వీకరించాలి మరియు ట్రాన్స్మిటర్ నుండి రిసీవర్ వరకు వేవ్ ప్రయాణించడానికి తీసుకున్న సమయాన్ని తనిఖీ చేయాలి. కానీ పాపం!, మాకు ఇక్కడ సమస్య ఉంది మరియు ఇది పనిచేయదు.
ట్రాన్స్మిటర్ మాడ్యూల్ మరియు రిసీవర్ మాడ్యూల్ చాలా దూరంగా ఉన్నాయి మరియు రిసీవర్ మాడ్యూల్ ట్రాన్స్మిటర్ మాడ్యూల్ నుండి యుఎస్ వేవ్ను అందుకున్నప్పుడు, ట్రాన్స్మిటర్ ఈ ప్రత్యేకమైన తరంగాన్ని ఎప్పుడు పంపించిందో తెలియదు. ప్రారంభ సమయం తెలియకుండా మనం తీసుకున్న సమయాన్ని మరియు దూరాన్ని లెక్కించలేము. ఈ సమస్యను పరిష్కరించడానికి, ట్రాన్స్మిటర్ మాడ్యూల్ యుఎస్ వేవ్ను ప్రసారం చేసినప్పుడు రిసీవర్ మాడ్యూల్ యొక్క ఎకో పల్స్ ఖచ్చితంగా ఎత్తుకు వెళ్ళాలి. మరో మాటలో చెప్పాలంటే, ట్రాన్స్మిటర్ మాడ్యూల్ మరియు రిసీవర్ మాడ్యూల్ ఒకే సమయంలో ట్రిగ్గర్ చేయాలి. కింది పద్ధతి ద్వారా దీనిని సాధించవచ్చు.
పై రేఖాచిత్రంలో, Tx ట్రాన్స్మిటర్ సెన్సార్ను సూచిస్తుంది మరియు Rx రిసీవర్ సెన్సార్ను సూచిస్తుంది. చూపినట్లుగా, యుఎస్ తరంగాలను క్రమానుగతంగా తెలిసిన ఆలస్యం వద్ద ప్రసారం చేయడానికి ట్రాన్స్మిటర్ సెన్సార్ చేయబడుతుంది, ఇది చేయాల్సిందల్లా.
రిసీవర్ సెన్సార్లో ట్రాన్స్మిటర్ పిన్ అధికంగా ఉన్నప్పుడు ట్రిగ్గర్ పిన్ను సరిగ్గా ఎత్తైన విధంగా చేయాలి. కాబట్టి ప్రారంభంలో మేము యాదృచ్చికంగా రిసీవర్స్ ట్రిగ్గర్ను అధికంగా వెళ్ళేలా చేస్తాము మరియు ఎకో పిన్ తక్కువగా ఉండే వరకు అధికంగా ఉంటుంది. ఈ ఎకో పిన్ ట్రాన్స్మిటర్ నుండి యుఎస్ వేవ్ అందుకున్నప్పుడు మాత్రమే తక్కువగా ఉంటుంది. కనుక ఇది తక్కువగా వెళ్ళిన వెంటనే ట్రాన్స్మిటర్ సెన్సార్ ప్రేరేపించబడిందని మనం అనుకోవచ్చు. ఇప్పుడు, ఈ with హతో ప్రతిధ్వని తక్కువగా వెళ్ళిన వెంటనే మనం తెలిసిన ఆలస్యం కోసం వేచి ఉండి, ఆపై రిసీవర్స్ ట్రిగ్గర్ను ట్రిగ్గర్ చేయవచ్చు. ఇది ట్రాన్స్మిటర్ మరియు రిసీవర్ రెండింటి యొక్క ట్రిగ్గర్ను పాక్షికంగా సమకాలీకరిస్తుంది మరియు అందువల్ల మీరు పల్స్ఇన్ () ను ఉపయోగించి తక్షణ ప్రతిధ్వని పల్స్ వ్యవధిని చదవవచ్చు మరియు దూరాన్ని లెక్కించవచ్చు.
ట్రాన్స్మిటర్ సెన్సార్ కోసం ప్రోగ్రామ్:
ట్రాన్స్మిటర్ మాడ్యూల్ కోసం పూర్తి ప్రోగ్రామ్ పేజీ దిగువన చూడవచ్చు. ఇది ఆవర్తన విరామంలో ట్రాన్స్మిటర్ సెన్సార్ను ప్రేరేపిస్తుంది తప్ప ఏమీ చేయదు.
డిజిటల్ రైట్ (ట్రిగ్పిన్, హై); delayMicroseconds (10); డిజిటల్ రైట్ (ట్రిగ్పిన్, తక్కువ);
సెన్సార్ను ట్రిగ్గర్ చేయడానికి మేము 10uS కోసం ఎక్కువగా ఉండటానికి ట్రిగ్గర్ పిన్ని తయారు చేయాలి. అదే విధంగా చేయవలసిన కోడ్ పైన చూపబడింది
రిసీవర్ సెన్సార్ కోసం ప్రోగ్రామ్:
రిసీవర్ సెన్సార్లో ఇంతకుముందు చర్చించినట్లుగా డమ్మీగా ఉండటానికి సెన్సార్ యొక్క ట్రాన్స్మిటర్ కన్ను కవర్ చేసాము. ఇప్పుడు మనం రెండు సెన్సార్ల మధ్య దూరాన్ని కొలవడానికి పైన పేర్కొన్న పద్ధతిని ఉపయోగించవచ్చు. పూర్తి ప్రోగ్రామ్ ఈ పేజీ దిగువన ఇవ్వబడింది. కొన్ని ముఖ్యమైన పంక్తులు క్రింద వివరించబడ్డాయి
ట్రిగ్గర్_యూఎస్ (); అయితే (డిజిటల్ రీడ్ (ఎకోపిన్) == హై); delayMicroseconds (10); ట్రిగ్గర్_యూఎస్ (); వ్యవధి = పల్స్ఇన్ (ఎకోపిన్, హై);
ప్రారంభంలో మేము Trigger_US () ఫంక్షన్ను ఉపయోగించడం ద్వారా US సెన్సార్ను ట్రిగ్గర్ చేసి, ఆపై కాసేపు లూప్ను ఉపయోగించి ఎకో పిన్ అధికంగా ఉండే వరకు వేచి ఉండండి. ఇది తక్కువ అయిన తర్వాత మేము ముందుగా నిర్ణయించిన వ్యవధి కోసం వేచి ఉంటాము, ఈ వ్యవధి 10 నుండి 30 మైక్రోసెకన్ల మధ్య ఉండాలి, ఇది ట్రయల్ మరియు ఎర్రర్ ఉపయోగించి నిర్ణయించబడుతుంది (లేదా మీరు క్రింద ఇచ్చిన మెరుగైన ఆలోచనను ఉపయోగించవచ్చు). ఈ ఆలస్యం తరువాత అదే ఫంక్షన్ను ఉపయోగించి యుఎస్ను మళ్లీ ట్రిగ్గర్ చేసి, ఆపై వేవ్ యొక్క వ్యవధిని లెక్కించడానికి పల్స్ఇన్ () ఫంక్షన్ను ఉపయోగించండి.
ఇప్పుడు అదే పాత సూత్రాలను ఉపయోగించి మనం క్రింద ఉన్న దూరాన్ని లెక్కించవచ్చు
దూరం = వ్యవధి * 0.034;
పని:
ప్రోగ్రామ్లో వివరించిన విధంగా కనెక్షన్లను చేయండి. చిత్రంలో చూపిన విధంగా రిసీవర్ సెన్సార్ యొక్క Tx భాగాన్ని కవర్ చేయండి. అప్పుడు ట్రాన్స్మిటర్ కోడ్ మరియు రిసీవర్ కోడ్ను వరుసగా ట్రాన్స్మిటర్ మరియు రిసీవర్ ఆర్డునోకు అప్లోడ్ చేయండి. రిసీవర్ మాడ్యూల్ యొక్క సీరియల్ మానిటర్ను తెరవండి మరియు దిగువ వీడియోలో చూపిన విధంగా ప్రదర్శించబడే రెండు మాడ్యూళ్ల మధ్య దూరాన్ని మీరు గమనించాలి.
గమనిక: ఈ పద్ధతి కేవలం ఒక భావజాలం మరియు ఇది ఖచ్చితమైనది లేదా సంతృప్తికరంగా ఉండకపోవచ్చు. అయితే మంచి ఫలితాలను పొందడానికి మీరు దిగువ మెరుగుపరచిన ఆలోచనను ప్రయత్నించవచ్చు.
మెరుగైన ఆలోచన - తెలిసిన దూరాన్ని ఉపయోగించి సెన్సార్ను క్రమాంకనం చేస్తుంది:
ఇప్పటివరకు వివరించిన పద్ధతి సంతృప్తికరంగా ఉన్నట్లు అనిపిస్తుంది, అయినప్పటికీ ఇది నా ప్రాజెక్ట్ కోసం సరిపోతుంది. అయితే నేను ఈ పద్ధతి యొక్క లోపాలను మరియు వాటిని అధిగమించడానికి ఒక మార్గాన్ని కూడా పంచుకోవాలనుకుంటున్నాను. ఈ పద్ధతి యొక్క ఒక ప్రధాన లోపం ఏమిటంటే, ట్రాన్స్మిటర్ సెన్సార్ యుఎస్ వేవ్ను ప్రసారం చేసిన వెంటనే రిసీవర్ యొక్క ఎకో పిన్ తక్కువగా పడిపోతుందని మేము అనుకుంటాము, ఇది నిజం కాదు, ఎందుకంటే వేవ్ ట్రాన్స్మిటర్ నుండి రిసీవర్ వరకు ప్రయాణించడానికి కొంత సమయం పడుతుంది. అందువల్ల ట్రాన్స్మిటర్ యొక్క ట్రిగ్గర్ మరియు రిసీవర్ యొక్క ట్రిగ్గర్ ఖచ్చితమైన సమకాలీకరణలో ఉండవు.
దీన్ని అధిగమించడానికి మనం ప్రారంభంలో తెలిసిన దూరాన్ని ఉపయోగించి సెన్సార్ను క్రమాంకనం చేయవచ్చు. దూరం తెలిస్తే, యుఎస్ వేవ్ ట్రాన్స్మిటర్ నుండి రిసీవర్ చేరుకోవడానికి తీసుకున్న సమయం మాకు తెలుస్తుంది. క్రింద చూపిన విధంగా ఈ సమయాన్ని డెల్ (డి) గా తీసుకుందాం.
ట్రాన్స్మిటర్ యొక్క ట్రిగ్గర్తో సమకాలీకరించడానికి రిసీవర్ యొక్క ట్రిగ్గర్ పిన్ను ఎంత ఎక్కువ సమయం చేయాలో ఇప్పుడు మనకు ఖచ్చితంగా తెలుస్తుంది. ఈ వ్యవధిని తెలిసిన ఆలస్యం (టి) - డెల్ (డి) ద్వారా లెక్కించవచ్చు. సమయ పరిమితుల కారణంగా నేను ఈ ఆలోచనను పరీక్షించలేకపోయాను, కనుక ఇది ఎంత ఖచ్చితమైన పని చేస్తుందో నాకు తెలియదు. కాబట్టి మీరు ప్రయత్నించినట్లయితే వ్యాఖ్య విభాగం ద్వారా ఫలితాలను నాకు తెలియజేయండి.