ఆటోమేటిక్ ఫ్లోర్ క్లీనర్లు కొత్తేమీ కాదు, కానీ అవన్నీ ఒక సాధారణ సమస్యను పంచుకుంటాయి. అవన్నీ వారు చేసే పనికి చాలా ఖరీదైనవి. ఈ రోజు, మేము ఆటోమేటిక్ హోమ్ క్లీనింగ్ రోబోట్ను తయారు చేస్తాము, అది మార్కెట్లోని వాటిలో కొంత భాగాన్ని మాత్రమే ఖర్చు చేస్తుంది. ఈ రోబోట్ దాని ముందు ఉన్న అడ్డంకులను & వస్తువులను గుర్తించగలదు మరియు గది మొత్తం శుభ్రం అయ్యే వరకు అడ్డంకులను నివారించి, కదలకుండా ఉంటుంది. నేల శుభ్రం చేయడానికి దానికి ఒక చిన్న బ్రష్ జతచేయబడింది.
Arduino ఉపయోగించి మా స్మార్ట్ వాక్యూమ్ క్లీనింగ్ రోబోట్ను కూడా తనిఖీ చేయండి
భాగం అవసరం:
- Arduino UNO R3.
- అల్ట్రాసోనిక్ సెన్సార్.
- ఆర్డునో మోటార్ డ్రైవర్ షీల్డ్.
- వీల్ డ్రైవ్ రోబోట్ చట్రం.
- కంప్యూటర్ టు ప్రోగ్రామ్ ది ఆర్డునో.
- మోటార్స్ కోసం బ్యాటరీ.
- ఆర్డ్యునోకు శక్తినిచ్చే పవర్ బ్యాంక్
- ఎ షూ బ్రష్.
- స్కాచ్ బ్రైట్ స్క్రబ్ ప్యాడ్.
గమనిక: బ్యాటరీలను ఉపయోగించటానికి బదులుగా, మేము చేసినట్లుగా మీరు 4-స్ట్రాండ్డ్ వైర్ను కూడా ఉపయోగించవచ్చు. ఇది చాలా సొగసైన లేదా ఆచరణాత్మక పరిష్కారం కానప్పటికీ, మీరు ప్రతిరోజూ వాస్తవ ప్రపంచంలో దీన్ని ఉపయోగించాలని అనుకోకపోతే మీరు చేయవచ్చు. కేబుల్ యొక్క పొడవు సరిపోతుందని నిర్ధారించుకోండి.
వివరాల్లోకి వెళ్ళే ముందు మొదట అల్ట్రాసోనిక్ గురించి చర్చించనివ్వండి.
HC-SR04 అల్ట్రాసోనిక్ సెన్సార్:
అల్ట్రాసోనిక్ సెన్సార్ అధిక ఖచ్చితత్వం మరియు స్థిరమైన రీడింగులతో దూరాన్ని కొలవడానికి ఉపయోగిస్తారు. ఇది 2 సెం.మీ నుండి 400 సెం.మీ వరకు లేదా 1 అంగుళం నుండి 13 అడుగుల వరకు దూరాన్ని కొలవగలదు. ఇది గాలిలో 40KHz పౌన frequency పున్యంలో అల్ట్రాసౌండ్ తరంగాన్ని విడుదల చేస్తుంది మరియు వస్తువు దాని మార్గంలో వస్తే అది సెన్సార్కు తిరిగి బౌన్స్ అవుతుంది. వస్తువును కొట్టడానికి మరియు తిరిగి వచ్చే సమయాన్ని ఉపయోగించడం ద్వారా, మీరు దూరాన్ని లెక్కించవచ్చు.
అల్ట్రాసోనిక్ సెన్సార్ “ECHO” అనే సాంకేతికతను ఉపయోగిస్తుంది. “ECHO” అనేది ప్రతిబింబించే ధ్వని తరంగం. డెడ్ ఎండ్కు చేరుకున్న తర్వాత ధ్వని తిరిగి ప్రతిబింబించేటప్పుడు మీకు ECHO ఉంటుంది.
HCSR04 మాడ్యూల్ అల్ట్రాసోనిక్ పరిధిలో ధ్వని వైబ్రేషన్ను ఉత్పత్తి చేస్తుంది, మేము 'ట్రిగ్గర్' పిన్ను సుమారు 10us కి అధికంగా చేసినప్పుడు, ఇది ధ్వని వేగంతో 8 చక్రాల సోనిక్ పేలుడును పంపుతుంది మరియు వస్తువును కొట్టిన తర్వాత, అది ఎకో పిన్ ద్వారా అందుతుంది. తిరిగి రావడానికి సౌండ్ వైబ్రేషన్ తీసుకున్న సమయాన్ని బట్టి, ఇది తగిన పల్స్ అవుట్పుట్ను అందిస్తుంది. వస్తువు చాలా దూరంలో ఉంటే ECHO వినడానికి ఎక్కువ సమయం పడుతుంది మరియు అవుట్పుట్ పల్స్ వెడల్పు పెద్దదిగా ఉంటుంది. మరియు అడ్డంకి సమీపంలో ఉంటే, అప్పుడు ECHO వేగంగా వినబడుతుంది మరియు అవుట్పుట్ పల్స్ వెడల్పు చిన్నదిగా ఉంటుంది.
సెన్సార్కి తిరిగి రావడానికి అల్ట్రాసోనిక్ వేవ్ తీసుకున్న సమయం ఆధారంగా మనం వస్తువు యొక్క దూరాన్ని లెక్కించవచ్చు. ధ్వని యొక్క సమయం మరియు వేగం తెలిసినందున మనం ఈ క్రింది సూత్రాల ద్వారా దూరాన్ని లెక్కించవచ్చు.
దూరం = (సమయం x గాలిలో ధ్వని వేగం (343 మీ / సె)) / 2.
వేవ్ ఒకే దూరాన్ని కప్పి ముందుకు మరియు వెనుకకు ప్రయాణిస్తున్నందున విలువ రెండుగా విభజించబడింది. అందువల్ల అడ్డంకిని చేరుకోవడానికి తీసుకున్న సమయం మొత్తం సమయం సగం మాత్రమే
కాబట్టి సెంటీమీటర్లో దూరం = 17150 * టి
ఈ అల్ట్రాసోనిక్ సెన్సార్ మరియు ఆర్డునో ఉపయోగించి మేము ఇంతకుముందు చాలా ఉపయోగకరమైన ప్రాజెక్ట్ చేసాము, వాటిని క్రింద తనిఖీ చేయండి:
- అల్ట్రాసోనిక్ సెన్సార్ ఉపయోగించి ఆర్డునో బేస్డ్ దూర కొలత
- ఆర్డునో మరియు అల్ట్రాసోనిక్ సెన్సార్ ఉపయోగించి డోర్ అలారం
- Arduino ఉపయోగించి IOT బేస్డ్ డంప్స్టర్ మానిటరింగ్
ఫ్లోర్ క్లీనర్ రోబోట్ యొక్క అసెంబ్లీ:
చట్రం మీద ఆర్డునో మౌంట్. మీ చట్రం లోహంతో తయారైన సందర్భంలో మీరు షార్ట్ సర్క్యూట్ ఏమీ చేయకుండా చూసుకోండి. ఆర్డునో మరియు మోటారు కంట్రోలర్ షీల్డ్ కోసం ఒక పెట్టెను పొందడం మంచిది. మరలు ఉపయోగించి చక్రాలు మరియు చట్రంతో మోటార్లు భద్రపరచండి. మీ చట్రం ఫ్యాక్టరీ నుండి దీన్ని చేయడానికి ఎంపికలు ఉండాలి, కానీ అది కాకపోతే, మీరు వేరే పరిష్కారాన్ని మెరుగుపరచవచ్చు. ఎపోక్సీ చెడ్డ ఆలోచన కాదు. షూ బ్రష్ను చట్రం ముందు భాగంలో మౌంట్ చేయండి. దీని కోసం మేము M- సీల్ ఎపోక్సీ మరియు డ్రిల్లింగ్ స్క్రూల కలయికను ఉపయోగించాము, అయినప్పటికీ మీరు మీకు తేలికైన ఇతర పరిష్కారాలను ఉపయోగించవచ్చు. బ్రష్ వెనుక స్కాచ్ బ్రైట్ స్క్రబ్ ప్యాడ్ను మౌంట్ చేయండి. మేము చట్రం అంతటా వెళ్ళే షాఫ్ట్ను ఉపయోగించాము, అది ఆటలో ఉంది, ఇది కూడా మెరుగుపరచదగినది. దానితో పాటుగా స్ప్రింగ్ లోడెడ్ షాఫ్ట్ ఉపయోగించవచ్చు. బ్యాటరీలను మౌంట్ చేయండి (లేదా చట్రం వెనుక భాగంలో తంతులు).ఎపోక్సీ లేదా బ్యాటరీ హోల్డర్ దీన్ని చేయడానికి మంచి మార్గాలు. వేడి జిగురు కూడా చెడ్డది కాదు.
వైరింగ్ మరియు కనెక్షన్లు:
ఈ ఆటోమేటిక్ హోమ్ క్లీనింగ్ రోబోట్ కోసం సర్క్యూట్ చాలా సులభం. క్రింద పేర్కొన్న విధంగా అల్ట్రాసోనిక్ సెన్సార్ను ఆర్డునోకు కనెక్ట్ చేయండి మరియు మోటారు డ్రైవర్ షీల్డ్ను ఇతర కవచాల మాదిరిగా ఆర్డునోకు ఉంచండి.
అల్ట్రాసోనిక్ యొక్క ట్రిగ్ పిన్ ఆర్డునోలోని 12 వ పిన్తో, ఎకో పిన్ 13 వ పిన్తో, వోల్టేజ్ పిన్ 5 వి పిన్కు మరియు గ్రౌండ్ పిన్కు గ్రౌండ్ పిన్కు అనుసంధానించబడి ఉంది. ఎకో పిన్ మరియు ట్రిగ్ పిన్ ఆర్డునో సెన్సార్తో కమ్యూనికేట్ చేయడానికి అనుమతిస్తాయి. వోల్టేజ్ మరియు గ్రౌండ్ పిన్స్ ద్వారా సెన్సార్కు శక్తి పంపిణీ చేయబడుతుంది మరియు ట్రిగ్ మరియు ఎకో పిన్లు ఆర్డునోతో డేటాను పంపడానికి మరియు స్వీకరించడానికి అనుమతిస్తాయి. ఆర్డునోతో ఇంటర్ఫేసింగ్ అల్ట్రాసోనిక్ సెన్సార్ గురించి ఇక్కడ మరింత తెలుసుకోండి.
మోటారు షీల్డ్లో కనీసం 2 అవుట్పుట్లు ఉండాలి మరియు అవి మీ 2 మోటారులకు అనుసంధానించబడి ఉండాలి. సాధారణంగా, ఈ ఉత్పాదనలు “M1” మరియు “M2” లేదా “మోటార్ 1” మరియు “మోటార్ 2” గా లేబుల్ చేయబడతాయి. మీ బ్యాటరీలు మరియు పవర్ బ్యాంక్ను వరుసగా మోటారు షీల్డ్ మరియు ఆర్డునో వరకు వైర్ చేయండి. వాటిని కనెక్ట్ చేయవద్దు. మీ మోటారు షీల్డ్లో ఇన్పుట్ ఛానెల్ ఉండాలి. మీరు వైర్లను ఉపయోగిస్తుంటే, వాటిని AC ఎడాప్టర్లకు కనెక్ట్ చేయండి.
ప్రోగ్రామింగ్ వివరణ:
Arduino IDE ని తెరవండి. ఈ ట్యుటోరియల్ చివరిలో ఇచ్చిన పూర్తి ఆర్డునో కోడ్ను IDE లో అతికించండి. మీ ఆర్డునోను కంప్యూటర్కు కనెక్ట్ చేయండి. ఉపకరణాలు / పోర్టులో పోర్టును ఎంచుకోండి. అప్లోడ్ బటన్ క్లిక్ చేయండి.
రోబోట్ను పరీక్షించండి. ఇది చాలా తక్కువగా లేదా ఎక్కువగా మారినట్లయితే, ఆలస్యం పరిపూర్ణత వరకు ప్రయోగం చేయండి.
కోడ్లోకి వెళ్లేముందు, DC మోటార్లు నడపడానికి మేము అడాఫ్రూట్ మోటార్ షీల్డ్ లైబ్రరీని ఇన్స్టాల్ చేయాలి. మేము L293D మోటారు డ్రైవర్ షీల్డ్ను ఉపయోగిస్తున్నందున, మేము ఇక్కడ నుండి AFmotor లైబ్రరీని డౌన్లోడ్ చేసుకోవాలి. అప్పుడు దాన్ని మీ Arduino IDE లైబ్రరీ ఫోల్డర్లో చేర్చండి. మీరు AFMotor గా పేరు మార్చారని నిర్ధారించుకోండి. ఈ లైబ్రరీని ఇన్స్టాల్ చేయడం గురించి మరింత తెలుసుకోండి.
కోడ్ సులభం మరియు సులభంగా అర్థం చేసుకోవచ్చు, కానీ ఇక్కడ మేము దానిలోని కొన్ని భాగాలను వివరించాము:
క్రింద కోడ్ రోబోట్ను సెట్ చేస్తుంది. మొదట మోటారు డ్రైవర్ షీల్డ్తో మోటార్లు నడపడానికి మేము అడాఫ్రూట్ లైబ్రరీని చేర్చాము. ఆ తరువాత, మేము ట్రిగ్ పిన్ మరియు ఎకో పిన్ను నిర్వచించాము. ఇది మోటార్లు కూడా ఏర్పాటు చేస్తుంది. ఇది ట్రిగ్ పిన్ను అవుట్పుట్కు మరియు ఎకో పిన్ను ఇన్పుట్కు సెట్ చేస్తుంది.
# చేర్చండి # ట్రిగ్పిన్ 12 ని నిర్వచించండి # ఎకోపిన్ 13 AF_DC మోటర్ మోటర్ 1 (1, MOTOR12_64KHZ) ను నిర్వచించండి; AF_DC మోటర్ మోటర్ 2 (2, MOTOR12_8KHZ); శూన్య సెటప్ () {పిన్మోడ్ (ట్రిగ్పిన్, OUTPUT); పిన్మోడ్ (ఎకోపిన్, ఇన్పుట్); }
దిగువ కోడ్ క్రింది ఆదేశాలను లూప్ చేయమని ఆర్డునోకు చెబుతుంది. ఆ తరువాత, ఇది అల్ట్రాసోనిక్ శబ్దాలను ప్రసారం చేయడానికి మరియు స్వీకరించడానికి సెన్సార్ను ఉపయోగిస్తుంది. అల్ట్రాసోనిక్ తరంగాలు తిరిగి బౌన్స్ అయిన తర్వాత అది వస్తువు నుండి ఉన్న దూరాన్ని లెక్కిస్తుంది, ఆ వస్తువు నిర్ణీత దూరం లో ఉందని గమనించిన తరువాత, మోటారులను తదనుగుణంగా తిప్పమని ఆర్డునోకు చెబుతుంది.
void loop () {దీర్ఘ వ్యవధి, దూరం; డిజిటల్ రైట్ (ట్రిగ్పిన్, తక్కువ); delayMicroseconds (2); డిజిటల్ రైట్ (ట్రిగ్పిన్, హై); delayMicroseconds (10); డిజిటల్ రైట్ (ట్రిగ్పిన్, తక్కువ); వ్యవధి = పల్స్ఇన్ (ఎకోపిన్, హై); దూరం = (వ్యవధి / 2) / 29.1; if (దూరం <20) {motor1.setSpeed (255); motor2.setSpeed (0); motor1.run (బ్యాక్వర్డ్); motor2.run (బ్యాక్వర్డ్); ఆలస్యం (2000); // రోబోట్ ఎలా తిరుగుతుందో ఈ మార్పును మార్చండి.
ఇది ఒక మోటారును తిప్పడం ద్వారా మరియు మరొకటి స్థిరంగా ఉంచడం ద్వారా రోబోట్ మలుపు తిరిగేలా చేస్తుంది.
పైన పేర్కొన్న సరిహద్దులో ఒక వస్తువును గుర్తించే వరకు రోబోట్ రెండు మోటార్లు ఒకే దిశలో తిరిగేలా చేస్తుంది.
else {motor1.setSpeed (160); // మీ రోబోట్ ఎంత వేగంగా వెళ్ళాలో ఈ మార్పును మార్చండి. motor2.setSpeed (160); // మీరు పైన ఉంచిన అదే విలువకు దీన్ని మార్చండి. motor1.run (FORWARD); motor2.run (FORWARD); }