- భాగాలు అవసరం
- కలర్ సార్టింగ్ రోబోటిక్ ఆర్మ్ కోసం చట్రం ఎలా తయారు చేయాలి
- TCS3200 కలర్ సెన్సార్
- ఆర్డునో కలర్ సార్టర్ సర్క్యూట్ రేఖాచిత్రం
- రంగురంగుల బంతులను క్రమబద్ధీకరించడానికి ప్రోగ్రామింగ్ ఆర్డునో యునో
పేరు సూచించినట్లుగా, రంగుల విభజన అనేది వాటి రంగుకు అనుగుణంగా వస్తువులను క్రమబద్ధీకరించడం. దీన్ని చూడటం ద్వారా సులభంగా చేయవచ్చు కాని క్రమబద్ధీకరించడానికి చాలా విషయాలు ఉన్నప్పుడు మరియు అది పునరావృతమయ్యే పని అయినప్పుడు ఆటోమేటిక్ కలర్ సార్టింగ్ యంత్రాలు చాలా ఉపయోగకరంగా ఉంటాయి. ఈ యంత్రాలు ఏదైనా వస్తువుల రంగును గ్రహించడానికి కలర్ సెన్సార్ను కలిగి ఉంటాయి మరియు కలర్ సర్వో మోటారును గుర్తించిన తర్వాత ఆ వస్తువును పట్టుకుని సంబంధిత పెట్టెలో ఉంచండి. రంగు గుర్తింపు, రంగు వ్యత్యాసం మరియు రంగు విభజన ముఖ్యమైన వివిధ అనువర్తన ప్రాంతాలలో వీటిని ఉపయోగించవచ్చు. వ్యవసాయ పరిశ్రమ (రంగు ఆధారంగా ధాన్యం సార్టింగ్), ఆహార పరిశ్రమ, వజ్రం మరియు మైనింగ్ పరిశ్రమ, రీసైక్లింగ్ మొదలైనవి కొన్ని అనువర్తన రంగాలలో ఉన్నాయి. అనువర్తనాలు దీనికి పరిమితం కాదు మరియు వివిధ పరిశ్రమలకు మరింత అన్వయించవచ్చు.
రంగులను గుర్తించడానికి అత్యంత ప్రాచుర్యం పొందిన సెన్సార్ TCS3200 కలర్ సెన్సార్. ఏదైనా రంగు యొక్క RGB భాగాన్ని (ఎరుపు, ఆకుపచ్చ, నీలం) పొందడానికి మేము గతంలో ఆర్డునోతో TCS3200 సెన్సార్ను ఉపయోగించాము మరియు ఏదైనా వస్తువు యొక్క రంగును గుర్తించడం కోసం రాస్ప్బెర్రీ పైతో ఇంటర్ఫేస్ చేసాము.
ఇక్కడ ఈ ట్యుటోరియల్లో కలర్ సెన్సార్ TCS3200, కొన్ని సర్వో మోటార్లు మరియు ఆర్డునో బోర్డ్ ఉపయోగించి కలర్ సార్టింగ్ మెషీన్ను తయారు చేస్తాము. ఈ ట్యుటోరియల్లో రంగు బంతుల క్రమబద్ధీకరణ మరియు వాటిని సంబంధిత రంగు పెట్టెలో ఉంచడం జరుగుతుంది. పెట్టె స్థిర స్థితిలో ఉంటుంది మరియు బంతిని సంబంధిత పెట్టెలో ఉంచడానికి సార్టర్ చేతిని తరలించడానికి సర్వో మోటారు ఉపయోగించబడుతుంది.
భాగాలు అవసరం
- ఆర్డునో UNO
- TCS3200 కలర్ సెన్సార్
- సర్వో మోటార్స్
- జంపర్స్
- బ్రెడ్బోర్డ్
కలర్ సార్టింగ్ రోబోటిక్ ఆర్మ్ కోసం చట్రం ఎలా తయారు చేయాలి
చట్రం, చేయి, రోలర్, ప్యాడ్తో సహా పూర్తి సెటప్ చేయడానికి, మేము 2 మిమీ మందం కలిగిన తెల్లని సన్బోర్డ్ను ఉపయోగించాము. ఇది స్థిర దుకాణాలలో సులభంగా లభిస్తుంది. వేర్వేరు భాగాలలో చేరడానికి సన్బోర్డ్ షీట్ మరియు ఫ్లెక్స్క్విక్ లేదా ఫెవిక్విక్ను కత్తిరించడానికి మేము పేపర్ కట్టర్ని ఉపయోగించాము. కలర్ సార్టింగ్ ఆర్మ్ను రూపొందించడానికి
కొన్ని దశలు క్రింద ఉన్నాయి:
1) సన్బోర్డ్ షీట్ తీసుకోండి.
2) చిత్రంలో చూపిన విధంగా సన్బోర్డ్ షీట్ను అన్ని వైపులా స్కేల్ మరియు మార్కర్తో కొలిచిన తరువాత ముక్కలుగా కత్తిరించండి.
3) ఇప్పుడు సన్బోర్డ్ యొక్క రెండు ముక్కలను కలిపి పట్టుకుని, దానిపై ఒక చుక్క ఫెవిక్విక్ పోయాలి. బొమ్మను అనుసరించడం ద్వారా ముక్కలు చేరడం కొనసాగించండి.
4) అన్ని ముక్కలను కలిపిన తరువాత, ఈ కలర్ సార్టింగ్ మెషీన్ ఇలా కనిపిస్తుంది:
TCS3200 కలర్ సెన్సార్
TCS3200 అనేది కలర్ సెన్సార్, ఇది సరైన ప్రోగ్రామింగ్తో ఎన్ని రంగులను గుర్తించగలదు. TCS3200 లో RGB (రెడ్ గ్రీన్ బ్లూ) శ్రేణులు ఉన్నాయి. మైక్రోస్కోపిక్ స్థాయిలో చిత్రంలో చూపిన విధంగా సెన్సార్పై కంటి లోపల చదరపు పెట్టెలను చూడవచ్చు. ఈ చదరపు పెట్టెలు RGB మాతృక యొక్క శ్రేణులు. ఈ పెట్టెల్లో ప్రతి ఒక్కటి మూడు సెన్సార్లను కలిగి ఉంటుంది, ఒకటి RED కాంతి తీవ్రతను సెన్సింగ్ కోసం, ఒకటి గ్రీన్ లైట్ ఇంటెన్సిటీని సెన్సింగ్ కోసం మరియు బ్లూ లైట్ ఇంటెన్సిటీని సెన్సింగ్ చేయడానికి చివరిది.
ఈ మూడు శ్రేణులలోని ప్రతి సెన్సార్ శ్రేణులు అవసరాన్ని బట్టి విడిగా ఎంపిక చేయబడతాయి. అందువల్ల దీనిని ప్రోగ్రామబుల్ సెన్సార్ అంటారు. ప్రత్యేకమైన రంగును గ్రహించడానికి మరియు ఇతరులను వదిలివేయడానికి మాడ్యూల్ ఫీచర్ చేయవచ్చు. ఆ ఎంపిక ప్రయోజనం కోసం ఇది ఫిల్టర్లను కలిగి ఉంది. ' నో ఫిల్టర్ మోడ్' అని పిలువబడే ముందుకు మోడ్ ఉంది, దీనిలో సెన్సార్ తెల్లని కాంతిని కనుగొంటుంది.
ఆర్డునో కలర్ సార్టర్ సర్క్యూట్ రేఖాచిత్రం
ఈ ఆర్డునో కలర్ సార్టర్ కోసం సర్క్యూట్ రేఖాచిత్రం తయారు చేయడం చాలా సులభం మరియు ఎక్కువ కనెక్షన్లు అవసరం లేదు. స్కీమాటిక్ క్రింద ఇవ్వబడింది.
రంగు సార్టింగ్ యంత్రం యొక్క సెటప్ వెనుక ఉన్న సర్క్యూట్ ఇది:
రంగురంగుల బంతులను క్రమబద్ధీకరించడానికి ప్రోగ్రామింగ్ ఆర్డునో యునో
ప్రోగ్రామింగ్ Arduino UNO చాలా సులభం మరియు రంగు విభజనలో ఉన్న దశలను సరళీకృతం చేయడానికి సాధారణ తర్కం అవసరం. ప్రదర్శనతో పూర్తి ప్రోగ్రామ్ వీడియో చివరిలో ఇవ్వబడుతుంది.
సర్వో మోటారు ఉపయోగించబడినందున, కాబట్టి సర్వో లైబ్రరీ ప్రోగ్రామ్లో ముఖ్యమైన భాగం. ఇక్కడ మేము రెండు సర్వో మోటార్లు ఉపయోగిస్తున్నాము. మొదటి సర్వో TCS3200 డిటెక్టర్ స్థానం ప్రారంభ స్థానం నుండి రంగు బంతులను తరలించబడుతుంది మరియు తరువాత బంతి పడిపోయింది చేయబడతాయి సార్టింగ్ స్థానం తరలించడానికి. సార్టింగ్ స్థానానికి వెళ్ళిన తరువాత, రెండవ సర్వో బంతిని తన చేతిని ఉపయోగించి కావలసిన రంగు బకెట్కు పడేస్తుంది. చివరిలో ఇచ్చిన వీడియోలో పూర్తి పని చూడండి.
మొదటి దశ అన్ని లైబ్రరీ చేరిక మరియు సర్వో వేరియబుల్స్ ను నిర్వచిస్తుంది.
# చేర్చండి
TCS3200 కలర్ సెన్సార్ లైబ్రరీ లేకుండా పనిచేయగలదు ఎందుకంటే రంగును నిర్ణయించడానికి సెన్సార్ పిన్ నుండి ఫ్రీక్వెన్సీ చదవడం మాత్రమే అవసరం. కాబట్టి TCS3200 యొక్క పిన్ సంఖ్యలను నిర్వచించండి.
# S0 4 ను నిర్వచించండి # S1 5 ని నిర్వచించండి # S2 7 ని నిర్వచించండి # S3 6 ని నిర్వచించండి # సెన్సార్ నిర్వచించండి ut ట్ 8 int ఫ్రీక్వెన్సీ = 0; పూర్ణాంకం రంగు = 0;
ఎంచుకున్న పిన్లను అవుట్పుట్గా చేయండి, ఎందుకంటే ఇది రంగు ఫోటోడియోడ్ను అధికంగా లేదా తక్కువగా చేస్తుంది మరియు TCS3200 యొక్క అవుట్ పిన్ను ఇన్పుట్గా తీసుకుంటుంది. OUT పిన్ ఫ్రీక్వెన్సీని అందిస్తుంది. ఫ్రీక్వెన్సీ స్కేలింగ్ను ప్రారంభంలో 20% గా ఎంచుకోండి.
పిన్మోడ్ (S0, OUTPUT); పిన్మోడ్ (S1, OUTPUT); పిన్మోడ్ (S2, OUTPUT); పిన్మోడ్ (ఎస్ 3, అవుట్పుట్); పిన్మోడ్ (సెన్సార్ఆట్, ఇన్పుట్); డిజిటల్ రైట్ (S0, LOW); డిజిటల్ రైట్ (S1, HIGH);
సర్వో మోటార్లు ఆర్డునో యొక్క పిన్ 9 మరియు 10 వద్ద అనుసంధానించబడి ఉన్నాయి. పికప్ సర్వో పికప్ రంగు బంతులను పిన్ 9 అనుసంధానించబడిన చేస్తాం మరియు డ్రాప్ సర్వో రంగు Pin10 వద్ద అనుసంధానించబడి ఉంది ప్రకారం రంగు బంతులను డ్రాప్ ఇది.
pickServo.attach (9); డ్రాప్సర్వో.టాచ్ (10);
ప్రారంభంలో పిక్ సర్వో మోటారు ప్రారంభ స్థానంలో అమర్చబడుతుంది, ఈ సందర్భంలో ఇది 115 డిగ్రీలు. ఇది విభిన్నంగా ఉండవచ్చు మరియు తదనుగుణంగా అనుకూలీకరించవచ్చు. మోటారు డిటెక్టర్ ప్రాంతానికి కొంత ఆలస్యం అయిన తరువాత కదులుతుంది మరియు గుర్తించడం కోసం వేచి ఉంటుంది.
pickServo.write (115); ఆలస్యం (600); (int i = 115; i> 65; i-- ) { pickServo.write (i); ఆలస్యం (2); } ఆలస్యం (500);
టీసీఎస్ 3200 రంగు చదివి మరియు నుండి అవుట్ పిన్ ఫ్రీక్వెన్సీ ఇస్తుంది.
color = detColor (); ఆలస్యం (1000);
గుర్తించిన రంగును బట్టి, డ్రాప్ సర్వో మోటారు నిర్దిష్ట కోణంతో కదులుతుంది మరియు రంగు బంతిని సంబంధిత పెట్టెకు పడేస్తుంది.
స్విచ్ (రంగు) { కేసు 1: డ్రాప్సర్వో.రైట్ (50); విచ్ఛిన్నం; కేసు 2: డ్రాప్సర్వో.రైట్ (80); విచ్ఛిన్నం; కేసు 3: డ్రాప్సర్వో.రైట్ (110); విచ్ఛిన్నం; కేసు 4: డ్రాప్సర్వో.రైట్ (140); విచ్ఛిన్నం; కేసు 5: డ్రాప్సర్వో.రైట్ (170); విచ్ఛిన్నం; కేసు 0: విరామం; } ఆలస్యం (500);
సర్వో మోటారు తదుపరి బంతిని ఎంచుకోవడానికి ప్రారంభ స్థానానికి తిరిగి వస్తుంది.
(int i = 65; i> 29; i-- ) { pickServo.write (i); ఆలస్యం (2); } ఆలస్యం (300); (int i = 29; i <115; i ++) { pickServo.write (i); ఆలస్యం (2); }
ఫంక్షన్ డిటెక్ట్ కలర్ () ఫ్రీక్వెన్సీని కొలవడానికి ఉపయోగించబడుతుంది మరియు రంగు యొక్క ఫ్రీక్వెన్సీని పోల్చి రంగు యొక్క ముగింపును చేస్తుంది. ఫలితం సీరియల్ మానిటర్లో ముద్రించబడుతుంది. డ్రాప్ సర్వో మోటారు కోణాన్ని తరలించడానికి కేసులకు ఇది రంగు విలువను తిరిగి ఇస్తుంది.
int detColor () {
S2 మరియు S3 (LOW, LOW) కు రాయడం ఎరుపు రంగు సాంద్రత కోసం రీడింగులను తీసుకోవడానికి ఎరుపు ఫోటోడియోడ్లను సక్రియం చేస్తుంది.
డిజిటల్ రైట్ (S2, LOW); డిజిటల్ రైట్ (S3, LOW); ఫ్రీక్వెన్సీ = పల్స్ఇన్ (సెన్సార్ అవుట్, తక్కువ); int R = పౌన frequency పున్యం; సీరియల్.ప్రింట్ ("రెడ్ ="); సీరియల్.ప్రింట్ (ఫ్రీక్వెన్సీ); // ప్రింటింగ్ RED కలర్ ఫ్రీక్వెన్సీ సీరియల్.ప్రింట్ (""); ఆలస్యం (50);
S2 మరియు S3 (LOW, HIGH) కు రాయడం బ్లూ కలర్ డెన్సిటీ కోసం రీడింగులను తీసుకోవడానికి బ్లూ ఫోటోడియోడ్లను సక్రియం చేస్తుంది.
డిజిటల్ రైట్ (S2, LOW); డిజిటల్ రైట్ (S3, HIGH); ఫ్రీక్వెన్సీ = పల్స్ఇన్ (సెన్సార్ అవుట్, తక్కువ); int B = ఫ్రీక్వెన్సీ; సీరియల్.ప్రింట్ ("బ్లూ ="); సీరియల్.ప్రింట్ (ఫ్రీక్వెన్సీ); సీరియల్.ప్రింట్ల్న్ ("");
S2 మరియు S3 (HIGH, HIGH) కు రాయడం ఆకుపచ్చ రంగు సాంద్రత కోసం రీడింగులను తీసుకోవడానికి ఆకుపచ్చ ఫోటోడియోడ్లను సక్రియం చేస్తుంది.
డిజిటల్ రైట్ (S2, HIGH); డిజిటల్ రైట్ (S3, HIGH); // అవుట్పుట్ ఫ్రీక్వెన్సీ ఫ్రీక్వెన్సీని చదవడం = పల్స్ఇన్ (సెన్సార్ అవుట్, తక్కువ); int G = ఫ్రీక్వెన్సీ; సీరియల్.ప్రింట్ ("గ్రీన్ ="); సీరియల్.ప్రింట్ (ఫ్రీక్వెన్సీ); సీరియల్.ప్రింట్ (""); ఆలస్యం (50);
అప్పుడు రంగు నిర్ణయం తీసుకోవడానికి విలువలు పోల్చబడతాయి. సెటప్ చేసేటప్పుడు ప్రతి ఒక్కరికీ గుర్తించే దూరం మారుతూ ఉంటుంది కాబట్టి వివిధ ప్రయోగాత్మక సెటప్ కోసం రీడింగులు భిన్నంగా ఉంటాయి.
if (R <22 & R> 20 & G <29 & G> 27) { color = 1; // ఎరుపు సీరియల్.ప్రింట్ ("గుర్తించిన రంగు ="); సీరియల్.ప్రింట్ల్న్ ("RED"); } if (G <25 & G> 22 & B <22 & B> 19) { color = 2; // ఆరెంజ్ సీరియల్.ప్రింట్ల్న్ ("ఆరెంజ్"); } if (R <21 & R> 20 & G <28 & G> 25) { color = 3; // గ్రీన్ సీరియల్.ప్రింట్ ("కనుగొనబడిన రంగు ="); సీరియల్.ప్రింట్ల్న్ ("గ్రీన్"); } if (R <38 & R> 24 & G <44 & G> 30) { color = 4; // పసుపు సీరియల్.ప్రింట్ ("గుర్తించిన రంగు ="); సీరియల్.ప్రింట్ల్న్ ("YELLOW"); } if (G <29 & G> 27 & B <22 & బి> 19) { రంగు = 5; // బ్లూ సీరియల్.ప్రింట్ ("గుర్తించిన రంగు ="); సీరియల్.ప్రింట్ల్న్ ("బ్లూ"); } తిరిగి రంగు; }
ఇది TCS3200 మరియు Arduino UNO ఉపయోగించి కలర్ సార్టింగ్ మెషీన్ను పూర్తి చేస్తుంది. అవసరమైతే మరిన్ని రంగులను గుర్తించడానికి మీరు దీన్ని ప్రోగ్రామ్ చేయవచ్చు. మీకు ఏమైనా సందేహం ఉంటే లేదా ఏదైనా సలహా ఉంటే మా ఫోరమ్కు రాయండి లేదా క్రింద వ్యాఖ్యానించండి. క్రింద ఇచ్చిన వీడియోను కూడా తనిఖీ చేయండి.