ఎలక్ట్రానిక్స్లో, ఒక నిర్దిష్ట బిందువు నుండి మరొకదానికి దూరాన్ని కొలవడానికి అల్ట్రాసోనిక్ సెన్సార్లను ఎక్కువగా ఉపయోగిస్తారు. Arduino బోర్డులో ఒక కోడ్ రాయడం చాలా సులభం అల్ట్రాసోనిక్ సెన్సార్ ఈ పనిని నిర్వహించడానికి. కానీ ఈ వ్యాసంలో, మేము వేరే విధానాన్ని అవలంబించబోతున్నాము. మేము రెండు వేర్వేరు అల్ట్రాసోనిక్ సెన్సార్లను ఉపయోగించబోతున్నాము, అవి రెండు వేర్వేరు ఆర్డునోలతో కలిసిపోతాయి. ఈ రెండు గుణకాలు దూరాన్ని కొలవవలసిన రెండు వేర్వేరు పాయింట్ల వద్ద ఉంచబడతాయి. ఒక సెన్సార్ రిసీవర్గా మరియు మరొకటి ట్రాన్స్మిటర్గా చేయబడుతుంది. అలా చేయడం ద్వారా, అనేక అల్ట్రాసోనిక్ రిసీవర్లను ఉపయోగించడం ద్వారా ట్రాన్స్మిటర్ యొక్క స్థానాన్ని గుర్తించడం ద్వారా వాటి మధ్య దూరాన్ని కొలవగలుగుతాము. మేము ఇక్కడ ఉపయోగిస్తున్న టెక్నిక్ అంటారు త్రిభుజం.
Arduino ఉపయోగించి దూరాన్ని కొలవడం
ఇక్కడ ఉపయోగించిన టెక్నిక్ చిన్న దూరం ఉన్న సిస్టమ్స్లో ఉపయోగపడుతుంది. దీన్ని పెద్ద ఎత్తున అమలు చేయడానికి, కొన్ని మార్పులు తప్పనిసరిగా అవసరం. ఈ ప్రాజెక్టును చేపట్టేటప్పుడు ఎదుర్కొన్న సవాళ్లన్నీ క్రింద చర్చించబడ్డాయి.
దూరాన్ని కొలవడానికి ఆర్డునో మరియు అల్ట్రాసోనిక్ సెన్సార్ను ఎలా ఉపయోగించాలి?
ప్రాజెక్ట్ వెనుక సారాంశం మాకు తెలుసు కాబట్టి, ప్రాజెక్ట్ను ప్రారంభించడానికి ముందుకు సాగండి మరియు మరింత సమాచారాన్ని సేకరిద్దాం.
దశ 1: భాగాలు సేకరించడం (హార్డ్వేర్)
మీరు ఏదైనా ప్రాజెక్ట్ మధ్యలో ఏదైనా అసౌకర్యాన్ని నివారించాలనుకుంటే, మేము ఉపయోగించబోయే అన్ని భాగాల పూర్తి జాబితాను రూపొందించడం ఉత్తమ విధానం. రెండవ దశ, సర్క్యూట్ చేయడానికి ముందు, ఈ అన్ని భాగాల గురించి క్లుప్త అధ్యయనం చేయడం. ఈ ప్రాజెక్ట్లో మనకు అవసరమైన అన్ని భాగాల జాబితా క్రింద ఇవ్వబడింది.
- జంపర్ వైర్లు
- 5V AC నుండి DC అడాప్టర్ (x2)
దశ 2: భాగాలు సేకరించడం (సాఫ్ట్వేర్)
- ప్రోటీయస్ 8 ప్రొఫెషనల్ (నుండి డౌన్లోడ్ చేసుకోవచ్చు ఇక్కడ )
ప్రోటీయస్ 8 ప్రొఫెషనల్ను డౌన్లోడ్ చేసిన తర్వాత, దానిపై సర్క్యూట్ను రూపొందించండి. సాఫ్ట్వేర్ సిమ్యులేషన్స్ను నేను ఇక్కడ చేర్చాను, తద్వారా ప్రారంభకులకు సర్క్యూట్ను రూపకల్పన చేయడం మరియు హార్డ్వేర్పై తగిన కనెక్షన్లు ఇవ్వడం సౌకర్యంగా ఉంటుంది.
దశ 3: HCR-05 యొక్క పని
మా ప్రాజెక్ట్ యొక్క ప్రధాన వియుక్త ఇప్పుడు మనకు తెలుసు కాబట్టి, ముందుకు సాగండి మరియు పని గురించి క్లుప్త అధ్యయనం ద్వారా వెళ్దాం HCR-05 . కింది రేఖాచిత్రం ద్వారా మీరు ఈ సెన్సార్ యొక్క ప్రధాన పనిని అర్థం చేసుకోవచ్చు.
ఈ సెన్సార్లో రెండు పిన్లు ఉన్నాయి, ట్రిగ్గర్ పిన్, మరియు ఎకో పిన్ ఇవి రెండు నిర్దిష్ట బిందువుల మధ్య దూరాన్ని కొలవడానికి ఉపయోగిస్తారు. సెన్సార్ నుండి అల్ట్రాసోనిక్ వేవ్ పంపడం ద్వారా ఈ ప్రక్రియ ప్రారంభించబడుతుంది. 10us కోసం ట్రిగ్ పిన్ను ప్రేరేపించడం ద్వారా ఈ పని జరుగుతుంది. అల్ట్రాసోనిక్ తరంగాల యొక్క 8 సోనిక్ పేలుడు ఈ పని పూర్తయిన వెంటనే ట్రాన్స్మిటర్ నుండి పంపబడుతుంది. ఈ తరంగం గాలిలో ప్రయాణిస్తుంది మరియు అది ఒక వస్తువును దాని మార్గంలో తాకిన వెంటనే, అది సెన్సార్లో నిర్మించిన రిసీవర్ ద్వారా తిరిగి కొట్టబడుతుంది.
సెన్సార్ను ప్రతిబింబించిన తర్వాత అల్ట్రాసోనిక్ వేవ్ రిసీవర్ అందుకున్నప్పుడు, అది ఉంచుతుంది ఎకో పిన్ ఉన్నత రాష్ట్రానికి. ట్రాన్స్మిటర్ నుండి తిరిగి ప్రయాణించడానికి మరియు సెన్సార్ రిసీవర్కు తిరిగి రావడానికి అల్ట్రాసోనిక్ వేవ్ తీసుకున్న సమయానికి సరిగ్గా సమానమైన కాల వ్యవధికి ఈ పిన్ అధిక స్థితిలో ఉంటుంది.
మీ అల్ట్రాసోనిక్ సెన్సార్ చేయడానికి ట్రాన్స్మిటర్ మాత్రమే, ట్రిగ్ పిన్ను మీ అవుట్పుట్ పిన్గా చేసి, 10us కోసం ఈ పిన్కు అధిక పల్స్ పంపండి. ఇది పూర్తయిన వెంటనే అల్ట్రాసోనిక్ పేలుడు ప్రారంభించబడుతుంది. కాబట్టి, వేవ్ ప్రసారం అయినప్పుడల్లా, అల్ట్రాసోనిక్ సెన్సార్ యొక్క ట్రిగ్గర్ పిన్ను నియంత్రించాలి.
అల్ట్రాసోనిక్ సెన్సార్ను a గా మార్చడానికి మార్గం లేదు రిసీవర్ మాత్రమే ఎందుకంటే ECO పిన్ యొక్క పెరుగుదలను మైక్రోకంట్రోలర్ నియంత్రించలేము ఎందుకంటే ఇది సెన్సార్ యొక్క ట్రిగ్ పిన్కు సంబంధించినది. కానీ మనం చేయగలిగేది ఏమిటంటే, ఈ అల్ట్రాసోనిక్ సెన్సార్ యొక్క ట్రాన్స్మిటర్ను యువి వేవ్ బయటకు రాని డక్ట్ టేప్ లతో కవర్ చేయవచ్చు. అప్పుడు ఈ ట్రాన్స్మిటర్ యొక్క ECO పిన్ ట్రాన్స్మిటర్ ద్వారా ప్రభావితం కాదు.
దశ 4: సర్క్యూట్ యొక్క పని
ఇప్పుడు, మేము రెండు సెన్సార్లను ట్రాన్స్మిటర్ మరియు రిసీవర్గా విడిగా పని చేసినట్లుగా, ఇక్కడ ఒక పెద్ద సమస్య ఉంది. ట్రాన్స్మిటర్ నుండి రిసీవర్కు ప్రయాణించడానికి అల్ట్రాసోనిక్ వేవ్ తీసుకున్న సమయం రిసీవర్కు తెలియదు ఎందుకంటే ఈ వేవ్ ఎప్పుడు ప్రసారం అవుతుందో ఖచ్చితంగా తెలియదు.
ఈ సమస్యను పరిష్కరించడానికి, మనం చేయవలసింది ఏమిటంటే పంపాలి అధిక అల్ట్రాసోనిక్ వేవ్ ప్రసారం అయిన వెంటనే రిసీవర్ యొక్క ECO కి సిగ్నల్ ట్రాన్స్మిటర్ సెన్సార్. లేదా సరళమైన మాటలలో, రిసీవర్ యొక్క ECO మరియు ట్రాన్స్మిటర్ యొక్క ట్రిగ్గర్ ఒకే సమయంలో HIGH కి పంపబడాలని మేము చెప్పగలం. కాబట్టి, దీన్ని సాధించడానికి, ట్రాన్స్మిటర్ యొక్క ట్రిగ్గర్ అధికంగా వెళ్ళిన వెంటనే మేము రిసీవర్ యొక్క ట్రిగ్గర్ను అధికంగా వెళ్తాము. రిసీవర్ యొక్క ఈ ట్రిగ్గర్ ECO పిన్ వెళ్ళే వరకు ఎక్కువగా ఉంటుంది తక్కువ . రిసీవర్ యొక్క ECO పిన్ ద్వారా అల్ట్రాసోనిక్ సిగ్నల్ అందుకున్నప్పుడు, అది తక్కువగా ఉంటుంది. ట్రాన్స్మిటర్ సెన్సార్ యొక్క ట్రిగ్గర్కు హై సిగ్నల్ లభించిందని దీని అర్థం. ఇప్పుడు, ECO తక్కువగా ఉన్న వెంటనే, మేము తెలిసిన ఆలస్యం కోసం వేచి ఉండి, రిసీవర్ యొక్క ట్రిగ్గర్ను HIGH గా ఉంచుతాము. అలా చేయడం ద్వారా, రెండు సెన్సార్ల యొక్క ట్రిగ్గర్లు సమకాలీకరించబడతాయి మరియు వేవ్ ప్రయాణ సమయం ఆలస్యాన్ని తెలుసుకోవడం ద్వారా దూరం లెక్కించబడుతుంది.
దశ 5: భాగాలను సమీకరించడం
మేము ఒక అల్ట్రాసోనిక్ సెన్సార్ యొక్క ట్రాన్స్మిటర్ మరియు మరొకటి రిసీవర్ మాత్రమే ఉపయోగిస్తున్నప్పటికీ, నాలుగు పిన్స్ మొత్తాన్ని కనెక్ట్ చేయడం తప్పనిసరి అల్ట్రాసోనిక్ సెన్సార్ Arduino కు. సర్క్యూట్ను కనెక్ట్ చేయడానికి, క్రింద ఇచ్చిన దశలను అనుసరించండి:
- రెండు అల్ట్రాసోనిక్ సెన్సార్లను తీసుకోండి. మొదటి సెన్సార్ యొక్క రిసీవర్ మరియు రెండవ సెన్సార్ యొక్క ట్రాన్స్మిటర్ను కవర్ చేయండి. ఈ ప్రయోజనం కోసం వైట్ డక్ట్ టేప్ను ఉపయోగించుకోండి మరియు ఈ రెండూ పూర్తిగా కప్పబడి ఉన్నాయని నిర్ధారించుకోండి, తద్వారా రెండవ సెన్సార్ యొక్క ట్రాన్స్మిటర్ను ఏ సిగ్నల్ వదిలివేయదు మరియు మొదటి సెన్సార్ యొక్క రిసీవర్లోకి సిగ్నల్ రాదు.
- రెండు వేర్వేరు బ్రెడ్బోర్డులపై రెండు ఆర్డునోలను కనెక్ట్ చేయండి మరియు వాటి సెన్సార్లను వాటితో కనెక్ట్ చేయండి. ట్రిగ్గర్ పిన్ను ఆర్డునో యొక్క పిన్ 9 కి మరియు ఎకోపిన్ను ఆర్డునో యొక్క పిన్ 10 కి కనెక్ట్ చేయండి. ఆర్డ్యునో యొక్క 5 వి ద్వారా అల్ట్రాసోనిక్ సెన్సార్ను శక్తివంతం చేయండి మరియు అన్ని మైదానాలను సాధారణం చేయండి.
- రిసీవర్ కోడ్ను రిసీవర్ యొక్క ఆర్డునోకు మరియు ట్రాన్స్మిటర్ కోడ్ను ట్రాన్స్మిటర్ యొక్క ఆర్డునోకు అప్లోడ్ చేయండి.
- ఇప్పుడు స్వీకరించే వైపు యొక్క సీరియల్ మానిటర్ను తెరిచి, కొలిచే దూరాన్ని గమనించండి.
ఈ ప్రాజెక్ట్ యొక్క సర్క్యూట్ రేఖాచిత్రం ఇలా ఉంది:
సర్క్యూట్ రేఖాచిత్రం
దశ 6: ఆర్డునోతో ప్రారంభించడం
మీకు ఇప్పటికే ఆర్డునో ఐడిఇ గురించి తెలియకపోతే, చింతించకండి ఎందుకంటే మైక్రోకంట్రోలర్ బోర్డ్తో ఆర్డునో ఐడిఇని సెటప్ చేయడానికి మరియు ఉపయోగించటానికి దశల వారీ విధానం క్రింద వివరించబడింది.
- Arduino IDE యొక్క తాజా సంస్కరణను డౌన్లోడ్ చేయండి ఆర్డునో.
- మీ ల్యాప్టాప్కు మీ ఆర్డునో నానో బోర్డ్ను కనెక్ట్ చేయండి మరియు నియంత్రణ ప్యానల్ను తెరవండి. నియంత్రణ ప్యానెల్లో, క్లిక్ చేయండి హార్డ్వేర్ మరియు సౌండ్ . ఇప్పుడు క్లిక్ చేయండి పరికరాలు మరియు ప్రింటర్లు. ఇక్కడ, మీ మైక్రోకంట్రోలర్ బోర్డు కనెక్ట్ చేయబడిన పోర్టును కనుగొనండి. నా విషయంలో అది COM14 కానీ ఇది వేర్వేరు కంప్యూటర్లలో భిన్నంగా ఉంటుంది.
పోర్ట్ కనుగొనడం
- టూల్ మెనుపై క్లిక్ చేయండి. మరియు బోర్డుని సెట్ చేయండి ఆర్డునో నానో డ్రాప్-డౌన్ మెను నుండి.
సెట్టింగ్ బోర్డు
- అదే టూల్ మెనులో, పోర్టును మీరు ముందు గమనించిన పోర్ట్ నంబర్కు సెట్ చేయండి పరికరాలు మరియు ప్రింటర్లు .
పోర్ట్ సెట్ చేస్తోంది
- అదే సాధన మెనులో, ప్రాసెసర్ను సెట్ చేయండి ATmega328P (పాతది బూట్లోడర్ ).
ప్రాసెసర్
- దిగువ జతచేయబడిన కోడ్ను డౌన్లోడ్ చేసి, మీ Arduino IDE లో అతికించండి. పై క్లిక్ చేయండి అప్లోడ్ చేయండి మీ మైక్రోకంట్రోలర్ బోర్డులో కోడ్ను బర్న్ చేయడానికి బటన్.
అప్లోడ్ చేయండి
కోడ్ను డౌన్లోడ్ చేయడానికి, ఇక్కడ నొక్కండి.
దశ 7: కోడ్ను అర్థం చేసుకోవడం
ఈ ప్రాజెక్ట్లో ఉపయోగించిన కోడ్ చాలా సులభం మరియు బాగా వ్యాఖ్యానించబడింది. జతచేయబడిన ఫోల్డర్లో కోడ్ల యొక్క రెండు ఫైల్లు ఉన్నాయి. ట్రాన్స్మిటర్ కోసం కోడ్ మరియు రిసీవర్ వైపు కోడ్ రెండూ విడిగా ఇవ్వబడ్డాయి. మేము ఈ రెండు కోడ్లను సంబంధిత ఆర్డునో బోర్డులలో అప్లోడ్ చేస్తాము. ఇది స్వీయ వివరణాత్మకమైనప్పటికీ, ఇది క్లుప్తంగా క్రింద వివరించబడింది.
ట్రాన్స్మిటర్ సైడ్ కోసం కోడ్
1. ప్రారంభంలో, ఆర్డునో బోర్డు యొక్క పిన్స్ ప్రారంభించబడతాయి, అవి అల్ట్రాసోనిక్ సెన్సార్కు అనుసంధానించబడతాయి. అప్పుడు వేరియబుల్స్ డిక్లేర్ చేయబడతాయి, ఇవి కోడ్ యొక్క రన్ టైమ్లో సమయం మరియు దూరాన్ని లెక్కించడానికి విలువలను నిల్వ చేయడానికి ఉపయోగించబడతాయి.
// పిన్స్ సంఖ్యలను నిర్వచిస్తుంది const int triPin = 9; // అల్ట్రాసోనిక్ సెన్సార్ యొక్క ట్రిగ్ పిన్ను Arduino const int echoPin = 10 యొక్క పిన్ 9 కి కనెక్ట్ చేయండి; // అల్ట్రాసోనిక్ సెన్సార్ యొక్క ఎకో పిన్ను ఆర్డునో యొక్క పిన్ 10 కి కనెక్ట్ చేయండి // వేరియబుల్స్ దీర్ఘకాలికతను నిర్వచిస్తుంది; అల్ట్రాసోనిక్ వేవ్ టి ట్రావెల్ ఇంట దూరం తీసుకున్న సమయాన్ని నిల్వ చేయడానికి // వేరియబుల్; దూరం లెక్కించడానికి // వేరియబుల్
2. శూన్య సెటప్ () బోర్డు యొక్క శక్తి ఆన్ లేదా ఎనేబుల్ బటన్ నొక్కినప్పుడు ప్రారంభంలో ఒకేసారి మాత్రమే పనిచేసే ఫంక్షన్. ఇక్కడ Arduino యొక్క రెండు పిన్స్ ఉపయోగించబడుతున్నాయి INPUT మరియు U ట్పుట్ . ఈ ఫంక్షన్లో బౌడ్రేట్ సెట్ చేయబడింది. మైక్రోకంట్రోలర్ అల్ట్రాసోనిక్ సెన్సార్తో కమ్యూనికేట్ చేసే సెకనుకు బిట్స్లో వేగం బాడ్ రేటు.
శూన్య సెటప్ () {పిన్మోడ్ (ట్రిగ్పిన్, OUTPUT); // ట్రిగ్పిన్ను అవుట్పుట్ పిన్మోడ్గా సెట్ చేస్తుంది (ఎకోపిన్, ఇన్పుట్); // ఎకోపిన్ను ఇన్పుట్ సీరియల్గా సెట్ చేస్తుంది.బిగిన్ (9600); // సీరియల్ కమ్యూనికేషన్ను ప్రారంభిస్తుంది}
3. శూన్య లూప్ () ఒక లూప్లో మళ్లీ మళ్లీ నడుస్తున్న ఫంక్షన్. ఇక్కడ మేము మైక్రోకంట్రోలర్ను కోడ్ చేసాము, తద్వారా ఇది అల్ట్రాసోనిక్ సెన్సార్ యొక్క ట్రిగ్గర్ పిన్కు అధిక సిగ్నల్ను పంపుతుంది, 20 మైక్రోసెకన్ల కోసం విట్ చేస్తుంది మరియు దానికి తక్కువ సిగ్నల్ పంపుతుంది.
void loop () {// ట్రిగ్పిన్ను HIGH స్థితిలో 10 మైక్రో సెకన్ల డిజిటల్ రైట్ (ట్రిగ్పిన్, HIGH) సెట్ చేస్తుంది; // మొదటి సెన్సార్ ఆలస్యం మైక్రోసెకండ్ల ట్రిగ్గర్పై హై సిగ్నల్ పంపండి (10); // 10 మైక్రో సెకన్ల డిజిటల్ రైట్ (ట్రిగ్పిన్, తక్కువ) కోసం వేచి ఉండండి; // మొదటి సెన్సార్ ఆలస్యం (2) యొక్క ట్రిగ్గర్కు తక్కువ సిగ్నల్ పంపండి; // 0.2 సెకన్లపాటు వేచి ఉండండి}
రిసీవర్ సైడ్ కోసం కోడ్
1. ప్రారంభంలో, ఆర్డునో బోర్డు యొక్క పిన్స్ ప్రారంభించబడతాయి, అవి అల్ట్రాసోనిక్ సెన్సార్కు అనుసంధానించబడతాయి. అప్పుడు వేరియబుల్స్ డిక్లేర్ చేయబడతాయి, ఇవి కోడ్ యొక్క రన్ టైమ్లో సమయం మరియు దూరాన్ని లెక్కించడానికి విలువలను నిల్వ చేయడానికి ఉపయోగించబడతాయి.
// పిన్స్ సంఖ్యలను నిర్వచిస్తుంది const int triPin = 9; // అల్ట్రాసోనిక్ సెన్సార్ యొక్క ట్రిగ్ పిన్ను Arduino const int echoPin = 10 యొక్క పిన్ 9 కి కనెక్ట్ చేయండి; // అల్ట్రాసోనిక్ సెన్సార్ యొక్క ఎకో పిన్ను ఆర్డునో యొక్క పిన్ 10 కి కనెక్ట్ చేయండి // వేరియబుల్స్ దీర్ఘకాలికతను నిర్వచిస్తుంది; అల్ట్రాసోనిక్ వేవ్ టి ట్రావెల్ ఇంట దూరం తీసుకునే సమయాన్ని నిల్వ చేయడానికి // వేరియబుల్; దూరం లెక్కించడానికి // వేరియబుల్
2. శూన్య సెటప్ () బోర్డు యొక్క శక్తి ఆన్ లేదా ఎనేబుల్ బటన్ నొక్కినప్పుడు ప్రారంభంలో ఒకేసారి మాత్రమే పనిచేసే ఫంక్షన్. ఇక్కడ Arduino యొక్క రెండు పిన్స్ INPUT మరియు OUTPUT గా ఉపయోగించబడుతున్నాయి. ఈ ఫంక్షన్లో బౌడ్రేట్ సెట్ చేయబడింది. మైక్రోకంట్రోలర్ అల్ట్రాసోనిక్ సెన్సార్తో కమ్యూనికేట్ చేసే సెకనుకు బిట్స్లో వేగం బాడ్ రేటు.
శూన్య సెటప్ () {పిన్మోడ్ (ట్రిగ్పిన్, OUTPUT); // ట్రిగ్పిన్ను అవుట్పుట్ పిన్మోడ్గా సెట్ చేస్తుంది (ఎకోపిన్, ఇన్పుట్); // ఎకోపిన్ను ఇన్పుట్ సీరియల్గా సెట్ చేస్తుంది.బిగిన్ (9600); // సీరియల్ కమ్యూనికేషన్ను ప్రారంభిస్తుంది}
3. ట్రిగ్గర్_యూస్ () ను రద్దు చేయండి రెండవ అల్ట్రాసోనిక్ సెన్సార్ యొక్క ట్రిగ్ పిన్ యొక్క నకిలీ ట్రిగ్గరింగ్ కోసం పిలువబడే ఫంక్షన్. మేము రెండు సెన్సార్ల ట్రిగ్ పిన్ యొక్క ట్రిగ్గర్ సమయాన్ని సమకాలీకరిస్తాము.
void Trigger_US () {// నకిలీ US సెన్సార్ డిజిటల్ రైట్ (ట్రిగ్పిన్, హై) ను ప్రేరేపిస్తుంది; // రెండవ సెన్సార్ ఆలస్యం మైక్రోసెకండ్స్ (10) యొక్క ట్రిగ్గర్ పిన్కు అధిక సిగ్నల్ పంపండి; // 10 మైక్రో సెకండ్ల డిజిటల్ రైట్ (ట్రిగ్పిన్, తక్కువ) కోసం వేచి ఉండండి; // ట్రిగ్గర్ పిన్ సెకండ్ సెండర్కు తక్కువ సిగ్నల్ పంపండి}
నాలుగు. శూన్య కాల్క్ () మొదటి సెన్సార్ నుండి రెండవ సెన్సార్ వరకు ప్రయాణించడానికి అల్ట్రాసోనిక్ సిగ్నల్ తీసుకున్న సమయాన్ని లెక్కించడానికి ఉపయోగించే ఒక ఫంక్షన్.
శూన్యమైన కాల్క్ () // అల్ట్రాసోనిక్ వేవ్ ప్రయాణించడానికి తీసుకున్న సమయాన్ని లెక్కించడానికి ఫంక్షన్ {వ్యవధి = 0; // వ్యవధి ప్రారంభంలో సున్నా ట్రిగ్గర్_యూస్ () కు సెట్ చేయబడింది; // ట్రిగ్గర్_యూఎస్ ఫంక్షన్కు కాల్ చేయండి (డిజిటల్ రీడ్ (ఎకోపిన్) == హై); // అధిక ఆలస్యం (2) లో ఇయో పిన్ యొక్క స్థితి; // 0.2 సెకన్ల ఆలస్యం ట్రిగ్గర్_యూఎస్ (); // ట్రిగ్గర్_యూఎస్ ఫంక్షన్ వ్యవధిని పిలవండి = పల్స్ఇన్ (ఎకోపిన్, హై); // తీసుకున్న సమయాన్ని లెక్కించండి}
5. ఇక్కడ శూన్య లూప్ () ఫంక్షన్, మేము మొదటి సెన్సార్ నుండి రెండవ సెన్సార్ వరకు ప్రయాణించడానికి అల్ట్రాసోనిక్ సిగ్నల్ తీసుకున్న సమయాన్ని ఉపయోగించి దూరాన్ని లెక్కిస్తున్నాము.
void loop () {Pdistance = దూరం; కాల్క్ (); // కాల్క్ () ఫంక్షన్ దూరం = వ్యవధి * 0.034; // అల్ట్రాసోనిక్ తరంగంతో కప్పబడిన దూరాన్ని లెక్కిస్తే (Pdistance == దూరం || Pdistance == దూరం + 1 || Pdistance == distance-1) {Serial.print ('కొలిచిన దూరం:'); // సీరియల్ మానిటర్లో ముద్రించండి Serial.println (దూరం / 2); // సీరియల్ మానిటర్లో ముద్రించండి} //Serial.print('Distance: '); //Serial.println(distance/2); ఆలస్యం (500); // 0.5 సెకన్లపాటు వేచి ఉండండి}