- ఆర్డునో బేస్డ్ ఫ్లోర్ క్లీనింగ్ రోబోట్ నిర్మించడానికి అవసరమైన పదార్థాలు
- పోర్టబుల్ వాక్యూమ్ క్లీనర్
- HC-SR04 అల్ట్రాసోనిక్ సెన్సార్ మాడ్యూల్
- మెట్ల గుర్తింపు కోసం ఫ్లోర్ సెన్సార్ (ఐఆర్ సెన్సార్)
- ఆర్డునో బేస్డ్ ఫ్లోర్ క్లీనర్ రోబోట్ యొక్క సర్క్యూట్ రేఖాచిత్రం
- ఆర్డునో బేస్డ్ ఫ్లోర్ క్లీనింగ్ రోబోట్ కోసం సర్క్యూట్ను నిర్మించడం
- ఆర్డునో
ప్రస్తుత పరిస్థితులలో, మనమందరం మా పనిలో చాలా బిజీగా ఉన్నాము, మన ఇంటిని సరిగ్గా శుభ్రం చేయడానికి మాకు సమయం లేదు. సమస్యకు పరిష్కారం చాలా సులభం, మీరు ఇరోబోట్ రూమ్బా వంటి దేశీయ వాక్యూమ్ క్లీనర్ రోబోట్ను కొనుగోలు చేయాలి, ఇది మీ ఇంటిని ఒక బటన్ నొక్కితే శుభ్రపరుస్తుంది. కానీ అటువంటి వాణిజ్య ఉత్పత్తులు మరియు సాధారణ సమస్య, ఇది ఖర్చు. కాబట్టి ఈ రోజు, మేము ఒక సాధారణ ఫ్లోర్ క్లీనర్ రోబోట్ తయారు చేయాలని నిర్ణయించుకున్నాము , ఇది తయారు చేయడం చాలా సులభం కాదు, మార్కెట్లో లభించే వాణిజ్య ఉత్పత్తులతో పోలిస్తే చాలా తక్కువ ఖర్చు అవుతుంది. మేము చాలా కాలం క్రితం నిర్మించిన మా ఆర్డునో వాక్యూమ్ క్లీనింగ్ రోబోట్ను తరచుగా పాఠకులు గుర్తుంచుకోవచ్చు, కాని అది చాలా పెద్దది మరియు చుట్టూ తిరగడానికి పెద్ద లీడ్-యాసిడ్ బ్యాటరీ అవసరం. కొత్త ఆర్డునో వాక్యూమ్ క్లీనర్ మేము ఇక్కడ నిర్మించబోతున్నాం కాంపాక్ట్ మరియు మరింత ఆచరణాత్మకమైనది. ఆ పైన, ఈ రోబోట్లో అల్ట్రాసోనిక్ సెన్సార్లు మరియు ఐఆర్ సామీప్య సెన్సార్ ఉంటుంది. అల్ట్రాసోనిక్ సెన్సార్ రోబోట్ అడ్డంకులను నివారించడానికి అనుమతిస్తుంది, తద్వారా గదిని సరిగ్గా శుభ్రపరిచే వరకు ఇది స్వేచ్ఛగా కదులుతుంది మరియు మెట్ల నుండి పడకుండా ఉండటానికి సామీప్య సెన్సార్ సహాయపడుతుంది. ఈ లక్షణాలన్నీ ఆసక్తికరంగా అనిపిస్తాయి, సరియైనదా? కాబట్టి, ప్రారంభిద్దాం.
మా మునుపటి వ్యాసాలలో, మేము సెల్ఫ్ బ్యాలెన్సింగ్ రోబోట్, ఆటోమేటెడ్ సర్ఫేస్ క్రిమిసంహారక రోబోట్ మరియు అడ్డంకి ఎగవేత రోబోట్ వంటి అనేక బాట్లను తయారు చేసాము. మీకు ఆసక్తికరంగా అనిపిస్తే వాటిని తనిఖీ చేయండి.
ఆర్డునో బేస్డ్ ఫ్లోర్ క్లీనింగ్ రోబోట్ నిర్మించడానికి అవసరమైన పదార్థాలు
వాక్యూమ్ క్లీనర్ రోబోట్ యొక్క హార్డ్వేర్ విభాగాన్ని రూపొందించడానికి మేము చాలా సాధారణ భాగాలను ఉపయోగించినందున, మీరు మీ స్థానిక అభిరుచి దుకాణంలో ఉన్న వారందరినీ కనుగొనగలుగుతారు. అన్ని భాగాల చిత్రంతో పాటు అవసరమైన పదార్థాల పూర్తి జాబితా ఇక్కడ ఉంది.
- ఆర్డునో ప్రో మినీ - 1
- HC-SR04 అల్ట్రాసోనిక్ మాడ్యూల్ - 3
- ఎల్ 293 డి మోటార్ డ్రైవర్ - 1
- 5 వోల్ట్ ఎన్ 20 మోటార్స్ మరియు మౌంటు బ్రాకెట్లు - 2
- ఎన్ 20 మోటార్ వీల్స్ - 2
- మారండి - 1
- LM7805 వోల్టేజ్ రెగ్యులేటర్ - 1
- 7.4 వి లిథియం-అయాన్ బ్యాటరీ - 1
- IR మాడ్యూల్ - 1
- పెర్ఫ్బోర్డ్ - 1
- కాస్టర్ వీల్ - 1
- MDF
- సాధారణ పోర్టబుల్ వాక్యూమ్ క్లీనర్
పోర్టబుల్ వాక్యూమ్ క్లీనర్
భాగం అవసరాల విభాగంలో, మేము పోర్టబుల్ వాక్యూమ్ క్లీనర్ గురించి మాట్లాడాము , క్రింద ఉన్న చిత్రాలు సరిగ్గా చూపించాయి. ఇది అమెజాన్ నుండి పోర్టబుల్ వాక్యూమ్ క్లీనర్. ఇది చాలా సరళమైన యంత్రాంగంతో వస్తుంది. ఇది దిగువన మూడు భాగాలను కలిగి ఉంది (దుమ్ము నిల్వ చేయడానికి ఒక చిన్న గది, మధ్య భాగంలో మోటారు, అభిమాని మరియు పైభాగంలో బ్యాటరీ సాకెట్ ఉన్నాయి (బ్యాటరీకి కవర్ లేదా టోపీ ఉంది). దీనికి DC మోటారు మరియు అభిమాని. ఈ మోటారు సాధారణ స్విచ్ ద్వారా 3V (2 * 1.5 వోల్ట్ AA బ్యాటరీలు) కు నేరుగా అనుసంధానించబడి ఉంది.మేము 7.4V బ్యాటరీతో మన రోబోట్కు శక్తినిచ్చేటప్పుడు, మేము అంతర్గత బ్యాటరీ నుండి కనెక్షన్ను తగ్గించి 5V నుండి శక్తిని పొందుతాము విద్యుత్ సరఫరా. కాబట్టి, మేము అన్ని అనవసరమైన భాగాలను తొలగించాము మరియు రెండు-వైర్ బసలతో ఉన్న మోటారును మాత్రమే తొలగించాము. మీరు దానిని క్రింది చిత్రంలో చూడవచ్చు.
HC-SR04 అల్ట్రాసోనిక్ సెన్సార్ మాడ్యూల్
అడ్డంకులను గుర్తించడానికి, మేము జనాదరణ పొందిన HC-SR04 అల్ట్రాసోనిక్ దూర సెన్సార్ను ఉపయోగిస్తున్నాము లేదా మేము దానిని అడ్డంకి ఎగవేత సెన్సార్లు అని పిలుస్తాము. పని చాలా సులభం, మొదట, ట్రాన్స్మిటర్ మాడ్యూల్ గాలి ద్వారా ప్రయాణించే, ఒక అడ్డంకిని తాకి, తిరిగి బౌన్స్ అవుతుంది మరియు రిసీవర్ ఆ తరంగాన్ని పొందుతుంది. ఆర్డునోతో సమయాన్ని లెక్కించడం ద్వారా, మనం దూరాన్ని నిర్ణయించవచ్చు. ఆర్డునో బేస్డ్ అల్ట్రాసోనిక్ డిస్టెన్స్ సెన్సార్ ప్రాజెక్ట్ పై మునుపటి వ్యాసంలో, మేము ఈ సెన్సార్ యొక్క పని సూత్రాన్ని చాలా క్షుణ్ణంగా చర్చించాము. మీరు HC-SR04 అల్ట్రాసోనిక్ దూర సెన్సార్ మాడ్యూల్ గురించి మరింత తెలుసుకోవాలనుకుంటే మీరు దాన్ని తనిఖీ చేయవచ్చు.
మెట్ల గుర్తింపు కోసం ఫ్లోర్ సెన్సార్ (ఐఆర్ సెన్సార్)
లక్షణాల విభాగంలో, రోబోట్ మెట్లని గుర్తించగల మరియు పడిపోకుండా నిరోధించగల ఒక లక్షణం గురించి మేము మాట్లాడాము. అలా చేయడానికి, మేము IR సెన్సార్ను ఉపయోగిస్తున్నాము. మేము IR సెన్సార్ మరియు ఆర్డునో మధ్య ఇంటర్ఫేస్ చేస్తాము. ఐఆర్ సామీప్యత సెన్సార్ యొక్క పని చాలా సులభం, దీనికి ఐఆర్ ఎల్ఇడి మరియు ఫోటోడియోడ్ ఉంది, ఐఆర్ ఎల్ఇడి ఐఆర్ లైట్ ను విడుదల చేస్తుంది మరియు ఈ ఉద్గార కాంతి ముందు ఏదైనా అడ్డంకి వస్తే, అది ప్రతిబింబిస్తుంది మరియు ప్రతిబింబించే కాంతి కనుగొనబడుతుంది ఫోటోడియోడ్ ద్వారా. కానీ ప్రతిబింబం నుండి ఉత్పత్తి చేయబడిన వోల్టేజ్ చాలా తక్కువగా ఉంటుంది. దానిని పెంచడానికి, మేము ఒక ఆప్-ఆంప్ కంపారిటర్ను ఉపయోగించవచ్చు, మనం విస్తరించవచ్చు మరియు అవుట్పుట్ పొందవచ్చు. ఒక IR మాడ్యూల్మూడు పిన్స్ ఉన్నాయి - Vcc, గ్రౌండ్ మరియు అవుట్పుట్. సాధారణంగా, సెన్సార్ ముందు అడ్డంకి వచ్చినప్పుడు అవుట్పుట్ తక్కువగా ఉంటుంది. కాబట్టి, అంతస్తును గుర్తించడానికి మేము దీనిని ఉపయోగించవచ్చు. స్ప్లిట్ సెకనుకు, మేము సెన్సార్ నుండి అధికంగా గుర్తించాము, మేము రోబోట్ను ఆపవచ్చు, దాన్ని వెనక్కి తిప్పవచ్చు లేదా మెట్ల నుండి పడకుండా నిరోధించడానికి మేము ఏదైనా చేయగలం. మునుపటి వ్యాసంలో, మేము IR సామీప్యత సెన్సార్ మాడ్యూల్ యొక్క బ్రెడ్బోర్డ్ సంస్కరణను తయారు చేసాము మరియు పని సూత్రాన్ని వివరంగా వివరించాము, మీరు ఈ సెన్సార్ గురించి మరింత తెలుసుకోవాలనుకుంటే దాన్ని తనిఖీ చేయవచ్చు.
ఆర్డునో బేస్డ్ ఫ్లోర్ క్లీనర్ రోబోట్ యొక్క సర్క్యూట్ రేఖాచిత్రం
మాకు మూడు అల్ట్రాసోనిక్ సెన్సార్లు ఉన్నాయి, అవి అడ్డంకులను గుర్తించాయి. కాబట్టి, మేము అల్ట్రాసోనిక్ సెన్సార్ల యొక్క అన్ని మైదానాలను అనుసంధానించాలి మరియు వాటిని సాధారణ మైదానానికి అనుసంధానించాలి. అలాగే, మేము సెన్సార్ యొక్క మూడు Vcc లను కనెక్ట్ చేస్తాము మరియు దానిని సాధారణ VCC పిన్తో కనెక్ట్ చేస్తాము. తరువాత, మేము ట్రిగ్గర్ మరియు ఎకో పిన్లను ఆర్డునో యొక్క పిడబ్ల్యుఎం పిన్లకు కనెక్ట్ చేస్తాము. మేము IR మాడ్యూల్ యొక్క VCC ని 5V కి మరియు భూమిని Arduino యొక్క గ్రౌండ్ పిన్తో కలుపుతాము, IR సెన్సార్ మాడ్యూల్ యొక్క అవుట్పుట్ పిన్ Arduino యొక్క డిజిటల్ పిన్ D2 కి వెళుతుంది. మోటారు డ్రైవర్ కోసం, మేము రెండు ఎనేబుల్ పిన్లను 5v కి మరియు డ్రైవర్ వోల్టేజ్ పిన్ను 5V కి కనెక్ట్ చేస్తాము ఎందుకంటే మేము 5 వోల్ట్ మోటార్లు ఉపయోగిస్తున్నాము. మునుపటి వ్యాసంలో, మేము ఆర్డునో మోటార్ డ్రైవర్ షీల్డ్ను తయారు చేసాము, ఎల్ 293 డి మోటార్ డ్రైవర్ ఐసి గురించి మరింత తెలుసుకోవడానికి మీరు దాన్ని తనిఖీ చేయవచ్చుమరియు దాని కార్యకలాపాలు. ఆర్డునో, అల్ట్రాసోనిక్ మాడ్యూల్స్, మోటారు డ్రైవర్ మరియు మోటార్లు 5 వోల్ట్పై పనిచేస్తాయి, అధిక వోల్టేజ్ దానిని చంపుతుంది మరియు మేము 7.4-వోల్ట్ బ్యాటరీని ఉపయోగిస్తున్నాము, దానిని 5 వోల్ట్గా మార్చడానికి, LM7805 వోల్టేజ్ రెగ్యులేటర్ ఉపయోగించబడుతుంది. వాక్యూమ్ క్లీనర్ను నేరుగా ప్రధాన సర్క్యూట్కు కనెక్ట్ చేయండి.
ఆర్డునో బేస్డ్ ఫ్లోర్ క్లీనింగ్ రోబోట్ కోసం సర్క్యూట్ను నిర్మించడం
నా రోబోట్ గురించి కొన్ని ఆలోచనలు పొందడానికి, నేను ఆన్లైన్లో వాక్యూమ్ క్లీనర్ రోబోట్ల కోసం శోధించాను మరియు రౌండ్ ఆకారపు రోబోట్ల యొక్క కొన్ని చిత్రాలను పొందాను. కాబట్టి, నేను గుండ్రని ఆకారపు రోబోను నిర్మించాలని నిర్ణయించుకున్నాను. రోబోట్ యొక్క చేజ్ మరియు బాడీని నిర్మించడానికి, నాకు ఫోమ్ షీట్, ఎండిఎఫ్, కార్డ్బోర్డ్ వంటి ఎంపికలు పుష్కలంగా ఉన్నాయి. కాని నేను ఎమ్డిఎఫ్ను ఎంచుకుంటాను ఎందుకంటే ఇది కఠినమైనది మరియు నీటి నిరోధక లక్షణాలను కలిగి ఉంటుంది. మీరు ఇలా చేస్తుంటే, మీ బోట్ కోసం మీరు ఏ పదార్థాన్ని ఎన్నుకోవాలో నిర్ణయించుకోవచ్చు.
రోబోట్ నిర్మించడానికి, నేను MDF షీట్ తీసుకున్నాను, ఆపై 8 CM వ్యాసార్థంతో రెండు వృత్తాలు గీసాను, మరియు ఆ వృత్తం లోపల , 4 CM వ్యాసార్థం ఉన్న మరొక వృత్తాన్ని కూడా గీసానువాక్యూమ్ క్లీనర్ అమర్చడం కోసం. అప్పుడు నేను వృత్తాలు కత్తిరించాను. అలాగే, నేను చక్రాల మార్గానికి తగిన ముక్కలను కత్తిరించి తీసివేసాను (మంచి అవగాహన కోసం చిత్రాలను చూడండి). చివరగా, నేను కాస్టర్ వీల్ కోసం మూడు చిన్న రంధ్రాలు చేసాను. తదుపరి దశ మోటారులను దాని బ్రాకెట్లను ఉపయోగించి బేస్ మీద అమర్చడం, కాస్టర్ వీల్ ను దాని స్థానానికి ఉంచండి మరియు పరిష్కరించండి. ఆ తరువాత, రోబోట్ యొక్క ఎడమ, కుడి మరియు మధ్యలో అల్ట్రాసోనిక్ సెన్సార్లను ఉంచండి. అలాగే, ఐఆర్ మాడ్యూల్ను రోబోట్ యొక్క ఇబ్బందికి కనెక్ట్ చేయండి. బయట స్విచ్ జోడించడం మర్చిపోవద్దు. రోబోట్ను నిర్మించడం గురించి అంతే, మీరు ఈ సమయంలో గందరగోళానికి గురవుతుంటే, మీరు ఈ క్రింది చిత్రాలను సూచించవచ్చు.
పై భాగం కోసం, నేను నురుగు షీట్లో వ్యాసార్థంలో 11 CM వృత్తాన్ని గీసి కత్తిరించాను. ఎగువ మరియు దిగువ భాగం మధ్య అంతరం కోసం, నేను ప్లాస్టిక్ గొట్టం యొక్క మూడు 4 CM పొడవైన ముక్కలను కత్తిరించాను. ఆ తరువాత, నేను దిగువ భాగంలో ప్లాస్టిక్ స్పేసర్లను అతుక్కుని, ఆపై పై భాగాన్ని అంటుకున్నాను. మీకు కావాలంటే బోట్ యొక్క సైడ్ భాగాలను ప్లాస్టిక్ లేదా ఇలాంటి పదార్థాలతో కవర్ చేయవచ్చు.
ఆర్డునో
ఈ ప్రాజెక్ట్ కోసం పూర్తి కోడ్ పత్రం చివరిలో ఇవ్వబడింది. ఈ ఆర్డునో కోడ్ ఆర్డునో బేస్డ్ అల్ట్రాసోనిక్ డిస్టెన్స్ సెన్సార్ కోడ్ను పోలి ఉంటుంది, ఫ్లోర్ డిటెక్షన్లో మాత్రమే మార్పు. కింది పంక్తులలో, కోడ్ ఎలా పనిచేస్తుందో వివరిస్తున్నాను. ఈ సందర్భంలో, మేము అదనపు లైబ్రరీలను ఉపయోగించడం లేదు. క్రింద మేము దశల వారీగా కోడ్ను వివరించాము. HC-SR04 సెన్సార్ నుండి దూర డేటాను డీకోడ్ చేయడానికి మేము అదనపు లైబ్రరీలను ఉపయోగించడం లేదు, ఎందుకంటే ఇది చాలా సులభం. కింది పంక్తులలో, ఎలా ఉందో వివరించాము. మొదట, ఆర్డునో బోర్డుకు అనుసంధానించబడిన మూడు అల్ట్రాసోనిక్ దూర సెన్సార్ల కోసం ట్రిగ్గర్ పిన్ మరియు ఎకో పిన్ను నిర్వచించాల్సిన అవసరం ఉంది. ఈ ప్రాజెక్ట్లో, మాకు మూడు ఎకో పిన్స్ మరియు మూడు ట్రిగ్గర్ పిన్లు ఉన్నాయి. 1 ఎడమ సెన్సార్, 2 ఫ్రంట్ సెన్సార్, మరియు 3 కుడి సెన్సార్ అని గమనించండి.
const int triPin1 = 3; const int echoPin1 = 5; const int triPin2 = 6; const int echoPin2 = 9; const int triPin3 = 10; const int echoPin3 = 11; int irpin = 2;
అప్పుడు మేము అన్నింటికీ (పూర్ణాంక) రకం వేరియబుల్స్ అయిన వేరియబుల్స్ను నిర్వచించాము మరియు వ్యవధి కోసం, మేము (లాంగ్) ఉపయోగించడానికి ఎంచుకున్నాము. మళ్ళీ, మనకు ఒక్కొక్కటి మూడు ఉన్నాయి. అలాగే, ఉద్యమం యొక్క స్థితిని నిల్వ చేయడానికి నేను ఒక పూర్ణాంకాన్ని నిర్వచించాను, దాని గురించి ఈ విభాగంలో తరువాత మాట్లాడుతాము.
దీర్ఘ వ్యవధి 1; దీర్ఘ వ్యవధి 2; దీర్ఘ వ్యవధి 3; పూర్ణాంక దూరం; పూర్ణాంక దూరం; పూర్ణాంక దూరం; int a = 0;
తరువాత, సెటప్ విభాగంలో, పిన్మోడ్స్ () ఫంక్షన్ను ఉపయోగించి మేము అన్ని పెర్స్పెక్టివ్ పిన్లను ఇన్పుట్ లేదా అవుట్పుట్గా చేయాలి. మాడ్యూల్ నుండి అల్ట్రాసోనిక్ తరంగాలను పంపడానికి, మేము ట్రిగ్గర్ పిన్ను అధికంగా ఎనేబుల్ చేయాలి అంటే అన్ని ట్రిగ్గర్ పిన్స్ OUTPUT గా నిర్వచించాలి. మరియు ప్రతిధ్వనిని స్వీకరించడానికి, మేము ఎకో పిన్స్ యొక్క స్థితిని చదవాలి, కాబట్టి అన్ని ఎకో పిన్స్ INPUT గా నిర్వచించాలి. అలాగే, మేము ట్రబుల్షూటింగ్ కోసం సీరియల్ మానిటర్ను ప్రారంభిస్తాము. IR- మాడ్యూళ్ల స్థితిని చదవడానికి, నేను ఇర్పిన్ను ఇన్పుట్గా నిర్వచించాను.
పిన్మోడ్ (ట్రిగ్పిన్ 1, అవుట్పుట్); పిన్మోడ్ (ట్రిగ్పిన్ 2, అవుట్పుట్); పిన్మోడ్ (ట్రిగ్పిన్ 3, అవుట్పుట్); పిన్మోడ్ (ఎకోపిన్ 1, ఇన్పుట్); పిన్మోడ్ (ఎకోపిన్ 2, ఇన్పుట్); పిన్మోడ్ (ఎకోపిన్ 3, ఇన్పుట్); పిన్మోడ్ (ఇర్పిన్, ఇన్పుట్);
మరియు ఈ డిజిటల్ పిన్స్ మోటారు డ్రైవర్ యొక్క ఇన్పుట్ కోసం OUTPUT గా నిర్వచించబడతాయి.
పిన్ మోడ్ (4, U ట్పుట్); పిన్ మోడ్ (7, U ట్పుట్); పిన్ మోడ్ (8, U ట్పుట్); పిన్ మోడ్ (12, U ట్పుట్);
ప్రధాన లూప్లో, మనకు మూడు సెన్సార్ల కోసం మూడు విభాగాలు ఉన్నాయి. అన్ని విభాగాలు ఒకే విధంగా పనిచేస్తాయి కాని ఒక్కొక్కటి వేర్వేరు సెన్సార్ల కోసం పనిచేస్తాయి. ఈ విభాగంలో, మేము ప్రతి సెన్సార్ నుండి అడ్డంకి దూరాన్ని చదివి ప్రతి నిర్వచించిన పూర్ణాంకంలో నిల్వ చేస్తాము. దూరాన్ని చదవడానికి, మొదట, ట్రిగ్గర్ పిన్స్ స్పష్టంగా ఉన్నాయని మేము నిర్ధారించుకోవాలి, దాని కోసం, మేము ట్రిగ్గర్ పిన్ను 2 for లకు తక్కువకు సెట్ చేయాలి. ఇప్పుడు, అల్ట్రాసోనిక్ తరంగాన్ని ఉత్పత్తి చేయడానికి, మేము ట్రిగ్గర్ పిన్ను 10 µs కోసం HIGH గా మార్చాలి. ఇది అల్ట్రాసోనిక్ ధ్వనిని పంపుతుంది మరియు పల్స్ఇన్ () ఫంక్షన్ సహాయంతో, మేము ప్రయాణ సమయాన్ని చదవవచ్చు మరియు ఆ విలువను వేరియబుల్ “ వ్యవధి ” లో నిల్వ చేయవచ్చు. ఈ ఫంక్షన్ 2 పారామితులను కలిగి ఉంది, మొదటిది ఎకో పిన్ పేరు మరియు రెండవది కోసం మీరు వ్రాయవచ్చుHIGH లేదా తక్కువ. అధిక మార్గాల pulseIn () ఫంక్షన్ వెళ్ళడానికి పిన్ కోసం వేచి ఉంటుంది HIGH అది వెళ్ళడానికి పిన్ కోసం వేచి ఉంటుంది, శబ్ద తరంగం బౌన్స్ ద్వారా మరియు లెక్కింపు ప్రారంభమౌతుంది కారణంగా తక్కువ ధ్వని తరంగ లెక్కింపు స్టాప్ ఇది ముగుస్తుందో. ఈ ఫంక్షన్ మైక్రో సెకన్లలో పల్స్ యొక్క పొడవును ఇస్తుంది. దూరాన్ని లెక్కించడానికి, మేము వ్యవధిని 0.034 గుణించాలి (గాలిలో ధ్వని వేగం 340 మీ / సె) మరియు దానిని 2 ద్వారా విభజిస్తాము (ఇది ధ్వని తరంగం వెనుకకు మరియు వెనుకకు ప్రయాణించడం వల్ల వస్తుంది). చివరగా, మేము ప్రతి సెన్సార్ యొక్క దూరాన్ని సంబంధిత పూర్ణాంకాలలో నిల్వ చేస్తాము.
డిజిటల్ రైట్ (ట్రిగ్పిన్ 1, తక్కువ); delayMicroseconds (2); డిజిటల్ రైట్ (ట్రిగ్పిన్ 1, హై); delayMicroseconds (10); డిజిటల్ రైట్ (ట్రిగ్పిన్ 1, తక్కువ); వ్యవధి 1 = పల్స్ఇన్ (ఎకోపిన్ 1, హై); distanceleft = వ్యవధి 1 * 0.034 / 2;
ప్రతి సెన్సార్ నుండి దూరం పొందిన తరువాత, ఒక if స్టేట్మెంట్ సహాయంతో మేము మోటార్లు నియంత్రించవచ్చు, తద్వారా మేము రోబోట్ యొక్క కదలికను నియంత్రిస్తాము. ఇది చాలా సులభం, మొదట, మేము ఒక అడ్డంకి దూర విలువను ఇచ్చాము, ఈ సందర్భంలో, ఇది 15 సెం.మీ (ఈ విలువను మీ కోరికగా మార్చండి). అప్పుడు మేము ఆ విలువ ప్రకారం షరతులు ఇచ్చాము. ఉదాహరణకు, ఎడమ సెన్సార్ ముందు ఒక అడ్డంకి వచ్చినప్పుడు (అంటే ఎడమ సెన్సార్ యొక్క దూరం క్రింద ఉండాలి లేదా 15 సెం.మీ.కు సమానం) మరియు ఇతర రెండు దూరాలు ఎక్కువగా ఉంటాయి (అంటే ఆ సెన్సార్ల ముందు ఎటువంటి అడ్డంకి లేదు), అప్పుడు డిజిటల్ రైట్ ఫంక్షన్ సహాయంతో, మేము మోటార్లు కుడి వైపుకు నడపవచ్చు. తరువాత, నేను IR సెన్సార్ యొక్క స్థితిని తనిఖీ చేసాను. రోబోట్ నేలపై ఉంటే, IR పిన్ విలువ ఉంటుంది LOW, మరియు ఉంటే లేదు, అప్పుడు విలువ ఉంటుందిఅధిక. అప్పుడు నేను ఆ విలువను int s వేరియబుల్లో నిల్వ చేసాను. ఈ స్థితి ప్రకారం మేము రోబోట్ను నియంత్రించబోతున్నాం.
కోడ్ యొక్క ఈ విభాగం రోబోట్ను ముందుకు మరియు వెనుకకు తరలించడానికి ఉపయోగించబడుతుంది :
if (s == HIGH) { DigitalWrite (4, LOW); డిజిటల్ రైట్ (7, హై); డిజిటల్ రైట్ (8, తక్కువ); డిజిటల్ రైట్ (12, హై); ఆలస్యం (1000); a = 1; }
మోటారు వెనుకకు కదులుతున్నప్పుడు, నేల తిరిగి వస్తుంది మరియు బోట్ ముందుకు కదులుతుంది, మరియు ఇది బోట్ ఇరుక్కుపోయేలా చేస్తుంది. దాన్ని అధిగమించడానికి, ఫ్లోర్ లేన తరువాత మేము ఒక విలువను (1) పూర్ణాంకంలో నిల్వ చేస్తాము. మేము ఇతర కదలికల కోసం ఈ పరిస్థితిని కూడా తనిఖీ చేస్తాము.
నేల లేకపోవడాన్ని గుర్తించిన తరువాత, రోబోట్ ముందుకు సాగదు. బదులుగా, ఇది ఎడమ వైపుకు వెళుతుంది, ఈ విధంగా, మేము సమస్యను నివారించవచ్చు.
if ((a == 0) && (s == LOW) && (distleft <= 15 && distancefront> 15 && distanceright <= 15) - (a == 0) && (s == LOW) && (distanceleft> 15 && దూర ఫ్రంట్> 15 && దూరదృష్టి> 15%)
పై స్థితిలో. మొదట, రోబోట్ నేల స్థితి మరియు పూర్ణాంక విలువను తనిఖీ చేస్తుంది. అన్ని పరిస్థితులు సంతృప్తి చెందితేనే బోట్ ముందుకు సాగుతుంది.
ఇప్పుడు, మేము మోటారు డ్రైవర్ కోసం ఆదేశాలను వ్రాయవచ్చు. ఇది కుడి-మోటారును వెనుకకు మరియు ఎడమ-మోటారును ముందుకు నడిపిస్తుంది, తద్వారా రోబోట్ను కుడి వైపుకు మారుస్తుంది.
కోడ్ యొక్క ఈ విభాగం రోబోట్ కుడివైపుకి తరలించడానికి ఉపయోగించబడుతుంది:
డిజిటల్ రైట్ (4, హై); డిజిటల్ రైట్ (7, తక్కువ); డిజిటల్ రైట్ (8, హై); డిజిటల్ రైట్ (12, తక్కువ);
నేల లేనట్లు బోట్ గుర్తించినట్లయితే, విలువ 1 కి మారుతుంది మరియు బోట్ ఎడమ వైపుకు వెళుతుంది. ఎడమవైపు తిరిగిన తరువాత, 'a' విలువ 1 నుండి 0 కి మారుతుంది.
if ((a == 1) && (s == LOW) - (s == LOW) && (distanceleft <= 15 && distancefront <= 15 && distanceright> 15) - (s == LOW) && (distanceleft <= 15 && దూర ముందరి <= 15 && దూరదృష్టి> 15) - (లు == తక్కువ) && (దూరప్రాంతం <= 15 && దూర ముందరి> 15 && దూరదృష్టి> 15) - (దూరపు అడుగు < 15)) { డిజిటల్ రైట్ (4, హై); డిజిటల్ రైట్ (7, తక్కువ); డిజిటల్ రైట్ (8, తక్కువ); డిజిటల్ రైట్ (12, హై); ఆలస్యం (100); a = 0; }
కోడ్ యొక్క ఈ విభాగం రోబోట్ ఎడమవైపుకి తరలించడానికి ఉపయోగించబడుతుంది:
(s == తక్కువ) && (దూరపు అడుగు> 15 && దూర ముందరి <= 15 && దూరదృష్టి > 15 శాతం ) { డిజిటల్ రైట్ (4, తక్కువ); డిజిటల్ రైట్ (7, హై); డిజిటల్ రైట్ (8, హై); డిజిటల్ రైట్ (12, తక్కువ); }
ఆర్డునో ఆధారిత స్మార్ట్ వాక్యూమ్ క్లీనర్ రోబోట్ నిర్మాణానికి అంతే. ప్రాజెక్ట్ యొక్క పూర్తి పనిని ఈ పేజీ దిగువన లింక్ చేసిన వీడియోలో చూడవచ్చు. మీకు ఏవైనా ప్రశ్నలు ఉంటే, క్రింద వ్యాఖ్యానించండి.