विज़न सेंसर का उपयोग करना - C++
शिक्षक टूलबॉक्स
-
इस गतिविधि का उद्देश्य
विजन सेंसर का प्रभावी ढंग से उपयोग करने के लिए छात्रों को इसे कॉन्फ़िगर करने और इसे उस वातावरण के अनुसार समायोजित करने में सक्षम होना आवश्यक है जिसमें यह मौजूद है। निम्नलिखित गतिविधि में, छात्र दोनों कार्य करना सीखेंगे।
VEXcode V5 के साथ विज़न सेंसर को प्रोग्राम करने के बारे में अधिक जानकारी के लिए,लाइब्रेरी के भीतर++के लिए सहायता जानकारी देखें।
इस गतिविधि में आपके छात्र क्या करेंगे, इसका संक्षिप्त विवरण नीचे दिया गया है:
-
डिटेक्टिंग ऑब्जेक्ट्स (विज़न) उदाहरण प्रोजेक्ट खोलें।
-
विज़न सेंसर को कॉन्फ़िगर करें।
-
डिटेक्टिंग ऑब्जेक्ट्स (विज़न) उदाहरण प्रोजेक्ट चलाएँ।
-
चर्चा करें और चिंतन करें।
-
विज़न सेंसर को ट्यून करें।
शिक्षक सुझाव
यदि छात्र पहली बार VEXcode V5 का उपयोग कर रहा है, तो वेलाइब्रेरी मेंसहायतालेख देख सकते हैं
शिक्षकों के लिए सुझाव
-
ऑटो-कंप्लीट का उपयोग करना
ऑटो-कंप्लीट VEXcode V5 का एक फीचर है जो आपके द्वारा टाइप किए जा रहे कमांड के बाकी हिस्से का अनुमान लगाता है। चूंकि छात्र VEXcode V5 में काम कर रहे हैं, इसलिए उन्हेंसिंटैक्स में मदद के लिए ऑटो-कंप्लीट सुविधा का उपयोग करने के लिए प्रोत्साहित करें।

C++के लिए ऑटो-कंप्लीट लेख में ऑटो-कंप्लीट सुविधाउपयोग करने के तरीके के बारे में बताया गया है।
आवश्यक हार्डवेयर, अपना इंजीनियरिंग नोटबुक प्राप्त करें और VEXcode V5 खोलें।
| मात्रा | आवश्यक सामग्री |
|---|---|
| 1 |
VEX V5 क्लासरूम स्टार्टर किट |
| 1 |
VEXcode V5 (नवीनतम संस्करण, विंडोज, MacOS) |
| 1 |
इंजीनियरिंग नोटबुक |
| 1 |
विज़न सेंसर को कॉन्फ़िगर करना (VEX लाइब्रेरी) |
| 1 |
विज़न सेंसर को ट्यून करना (VEX लाइब्रेरी) |
| 1 |
ऑब्जेक्ट्स का पता लगाना (विज़न) उदाहरण प्रोजेक्ट |
यह गतिविधि आपको विजन सेंसर का उपयोग करने के लिए आवश्यक उपकरण प्रदान करेगी।
आप निर्देशों के बारे में जानने के लिए VEXcode V5 के अंदर मौजूद सहायता (C++) जानकारी का उपयोग कर सकते हैं।
चरण 1: एक उदाहरण प्रोजेक्ट खोलें
VEXcode V5 में कई अलग-अलग उदाहरण प्रोजेक्ट शामिल हैं। आप इस अन्वेषण में इनमें से किसी एक का उपयोग करेंगे।
निम्न चरणों को पूरा करके डिटेक्टिंग ऑब्जेक्ट्स (विज़न) उदाहरण प्रोजेक्ट खोलें:
- फ़ाइल मेनू खोलें।
- उदाहरण खोलें चुनें।

- एप्लिकेशन के शीर्ष पर स्थित फ़िल्टर बार का उपयोग करें और "सेंसिंग" चुनें।

Detecting Objects (Vision) उदाहरण प्रोजेक्ट का चयन करें और खोलें।
![]()
अपने प्रोजेक्ट को "ऑब्जेक्ट्स का पता लगाना" नाम से सेव करें।
- यह सुनिश्चित करने के लिए जांच करें कि प्रोजेक्ट का नाम Detecting Objects अब टूलबार के केंद्र में स्थित विंडो में दिखाई दे रहा है।

शिक्षक सुझाव
-
सुनिश्चित करें कि छात्रों ने फ़ाइल मेनू से ओपन एग्जांपल्स चयन किया है।
-
सुनिश्चित करें कि छात्रों ने ऑब्जेक्ट्स का पता लगाना (दृष्टि) उदाहरण परियोजना का चयन किया है। आप छात्रों को बता सकते हैं कि ओपन एग्जांपल्स पेज पर चुनने के लिए कई विकल्प मौजूद हैं।
-
आप छात्रों से प्रोजेक्ट के नाम में अपने नाम के पहले अक्षर या अपने समूह का नाम जोड़ने के लिए कह सकते हैं। यदि आप छात्रों से कार्यक्रम प्रस्तुत करने के लिए कहते हैं तो इससे कार्यक्रमों में अंतर करने में मदद मिलेगी।
-
VEXcode V5 में ऑटोसेव की सुविधा होने के कारण, प्रोजेक्ट को पहली बार सेव करने के बाद उसे दोबारा सेव करने की आवश्यकता नहीं होती है।
-
यदि छात्रों को बचत करने में सहायता की आवश्यकता हो, तो उन्हें इनमें से किसी एक लेख की ओर निर्देशित करें:
चरण 2: विज़न सेंसर को कॉन्फ़िगर करना और उसका उपयोग करना
- सबसे पहलेविज़न सेंसर - रोबोट कॉन्फ़िगरेशन - VEXcode V5.1 पढ़ें
- फिर,विज़न सेंसर समायोजन-रोबोट कॉन्फ़िगरेशन-VEXcode V5 पढ़ें
- इसके बाद, विज़न सेंसर को तीन रंगीन वस्तुओं - लाल, हरे और नीले रंग - के लिए कॉन्फ़िगर करें।
पहले से सहेजे गए Detecting Objects (Vision) उदाहरण प्रोजेक्ट को खोलें।
इस परियोजना में विजन सेंसर का उपयोग किस प्रकार किया जा रहा है? परियोजना के लागू होने पर क्या होगा, इसका अनुमान लगाएं और अपने इंजीनियरिंग नोटबुक में अनुमानों को लिख लें।
#include "vex.h"
using namespace vex;
event checkBlue = event();
event checkRed = event();
event checkGreen = event();
// यह जांच करेगा कि विज़न
सेंसर के दृश्य में कोई नीली वस्तु है या नहीं // और V5 ब्रेन की स्क्रीन की लाइन 1 पर परिणाम प्रदर्शित करेगा।
void has BlueCallback() {
Brain.Screen.clearLine(1);
Brain.Screen.setCursor(1, 1);
Vision5.takeSnapshot(Vision5__BLUEBOX);
if (Vision5.objectCount > 0) {
Brain.Screen.print("नीली वस्तु मिली");
} else {
Brain.Screen.print("कोई नीली वस्तु नहीं");
}
}
// यह जांच करेगा कि क्या
सेंसर के दृश्य में कोई लाल वस्तु है और V5 ब्रेन की स्क्रीन की पंक्ति 3 पर परिणाम प्रदर्शित करेगा।
void has RedCallback() {
Brain.Screen.clearLine(3);
Brain.Screen.setCursor(3, 1);
Vision5.takeSnapshot(Vision5__REDBOX);
if (Vision5.objectCount > 0) {
Brain.Screen.print("लाल वस्तु मिली");
} else {
Brain.Screen.print("कोई लाल वस्तु नहीं");
}
}
// यह जांच करेगा कि क्या
सेंसर के दृश्य में कोई हरी वस्तु है और V5 ब्रेन की स्क्रीन की पंक्ति 5 पर परिणाम प्रदर्शित करेगा।
void has GreenCallback() {
Brain.Screen.clearLine(5);
Brain.Screen.setCursor(5, 1);
Vision5.takeSnapshot(Vision5__GREENBOX);
if (Vision5.objectCount > 0) {
Brain.Screen.print("हरा ऑब्जेक्ट मिला");
} else {
Brain.Screen.print("कोई हरा ऑब्जेक्ट नहीं");
}
}
// प्रोजेक्ट कोड प्रारंभ करें
int main() {
// रोबोट कॉन्फ़िगरेशन प्रारंभ करना। दूर नहीं करते!
vexcodeInit();
// इवेंट हैंडलर पंजीकृत करें
checkBlue (hasBlueCallback);
checkRed (hasRedCallback);
checkGreen (hasGreenCallback);
// इवेंट हैंडलर उपयोग के लिए तैयार हैं यह सुनिश्चित करने के लिए छोटा विलंब
wait(15, msec);
// V5 स्क्रीन पर भविष्य के सभी प्रिंट के लिए प्रिंट फ़ॉन्ट सेट करें
Brain.Screen.setFont(mono40);
// नए सेंसर डेटा की जाँच के लिए लगातार चलाएँ
while (true) {
checkBlue.broadcastAndWait();
checkRed.broadcastAndWait();
checkGreen.broadcastAndWait();
wait(0.1, seconds);
}
}- प्रोजेक्ट डाउनलोड करें और चलाएं विजन सेंसर के सामने अलग-अलग रंगों की वस्तुएं रखें और रोबोट के व्यवहार का अवलोकन करें। अपनी इंजीनियरिंग नोटबुक में यह दर्ज करें कि परियोजना से प्राप्त वास्तविक परिणाम की तुलना में आपकी भविष्यवाणी कितनी भिन्न या सही थी।
शिक्षक सुझाव
तीनों रंगीन वस्तुएं घन ही होनी जरूरी नहीं हैं, वे कोई भी अपेक्षाकृत छोटी हरी, लाल और नीली वस्तु हो सकती हैं।
चर्चा को प्रेरित करें
-
उत्तर
छात्रों को अपनी इंजीनियरिंग नोटबुक में यह बताने के लिए कक्षा में चर्चा करने के लिए प्रोत्साहित करें कि उन्होंने इस परियोजना से क्या अपेक्षा की थी, और साथ ही विज़न सेंसर को कॉन्फ़िगर करने के तरीके पर भी विचार करने के लिए कहें।
निम्नलिखित प्रश्न पूछकर चर्चा को आगे बढ़ाएं:
-
विज़न सेंसर को कॉन्फ़िगर करने के चरण क्या हैं?
-
if then else संरचना क्या करती है?
-
अगर हम कमरे बदल दें तो विज़न सेंसर द्वारा वस्तुओं को पहचानने के तरीके में क्या बदलाव आएगा?
उत्तर अलग - अलग होगा:
-
छात्रों को ध्यान देना चाहिए कि वस्तु का नाम तय करना होगा। वस्तु को विज़न सेंसर के फ्रेम में रखा जाना चाहिए और "फ्रीज़" बटन का उपयोग करके उसे स्थिर किया जाना चाहिए। इसके बाद "सेट" बटन का उपयोग करके रंग का चयन और कॉन्फ़िगरेशन किया जाएगा। छात्रों कोलेख में सूचीबद्ध चरणों की रूपरेखा तैयार करनी चाहिए
-
if then elseसंरचना, रिपोर्ट किए गए बूलियन मान के आधार परif then elseके पहले या दूसरे भाग के अंदर के निर्देशों को चलाती है। इस निर्देश का उपयोग कैसे करें, इस बारे में अधिक जानकारी सहायता अनुभाग में मिल सकती है।
-
यदि विज़न सेंसर को किसी भिन्न वातावरण में वस्तुओं का पता लगाने के लिए कहा जाए, तो प्रकाश व्यवस्था बदल सकती है और वस्तुओं के रंग अलग दिख सकते हैं। इससे विजन सेंसर के लिए वस्तुओं का पता लगाना मुश्किल हो सकता है।
अपने ज्ञान का विस्तार करें
-
अधिक ऑब्जेक्ट कॉन्फ़िगर करें
कॉन्फ़िगरेशन के लिए दो अन्य रंगीन वस्तुएं चुनें, संभवतः सफेद, बैंगनी, पीला, आदि...

यदि छात्रों को सहायता की आवश्यकता है, तो उन्हेंसहायताजानकारी या V5 विज़न सेंसर कॉन्फ़िगर करना लेख का संदर्भ दें।
चरण 3: विज़न सेंसर को ट्यून करना
अक्सर किसी वस्तु को इस तरह से कॉन्फ़िगर किया जाता है कि उसे विज़न सेंसर द्वारा एक विशेष वातावरण में पहचाना जा सके, उदाहरण के लिए, एक कक्षा में। जब विजन सेंसर को किसी भिन्न वातावरण में ले जाया जाता है, जैसे कि किसी प्रतियोगिता स्थल पर, तो हो सकता है कि विजन सेंसर उस वस्तु को पहचान न पाए। यह अक्सर विज़न सेंसर को कॉन्फ़िगर किएके बाद प्रकाश व्यवस्था में बदलाव के कारण होता है इस समस्या को हल करने के लिए, आपको अपने विज़न सेंसर को ट्यून करना पड़ सकता है।
- VEXcode V5 में V5 विज़न सेंसर को समायोजित करने के बारे में पढ़कर शुरुआत करें
- इसके बाद, विज़न सेंसर को लाल, हरे और नीले रंग की तीन वस्तुओं के लिए समायोजित करें।
पहले से सहेजे गए Detecting Objects (Vision) उदाहरण प्रोजेक्ट को खोलें।
विज़न सेंसर को ट्यून करने से वस्तुओं को पहचानने की उसकी क्षमता पर क्या प्रभाव पड़ेगा? क्लॉबॉट को कमरे के किसी ऐसे हिस्से में ले जाएं जहां कम या ज्यादा रोशनी हो।
- प्रोजेक्ट डाउनलोड करें और चलाएं विजन सेंसर के सामने अलग-अलग रंगों की वस्तुएं रखें और रोबोट के व्यवहार का अवलोकन करें। अपनी इंजीनियरिंग नोटबुक में लिखें कि विज़न सेंसर वस्तुओं का पता कितनी अच्छी तरह लगाता है। क्या स्थान बदलने के बाद विज़न सेंसर को ट्यून करने की आवश्यकता है?
- आवश्यकतानुसार विज़न सेंसर को ट्यून करें। विज़न सेंसर को ट्यून करने के बाद उसका परीक्षण करें ताकि यह निर्धारित किया जा सके कि क्या वह वस्तुओं को बेहतर ढंग से पहचान सकता है और आवश्यकतानुसार समायोजन करें।
चर्चा को प्रेरित करना
-
गतिविधि पर चिंतन करना
प्रश्न: क्या विज़न सेंसर ने आपकी अपेक्षा के अनुसार वस्तुओं का पता लगाया?
उत्तर:उत्तर भिन्न-भिन्न हो सकते हैं; हालाँकि, इस प्रश्न का उद्देश्य संज्ञानात्मक सोचबढ़ावा देना है। छात्रों को ध्यान देना चाहिए कि विज़न सेंसर की वस्तुओं का पता लगाने की क्षमता वातावरण और प्रकाश के आधार पर बदल सकती है।
प्रश्न: आवश्यकतानुसार विज़न सेंसर को ट्यून करने में सक्षम होना क्यों महत्वपूर्ण है?
उत्तर:हालांकि उत्तर भिन्न-भिन्न हो सकते हैं, एक सामान्य प्रतिक्रिया यह होनी चाहिए कि यदि कोई रोबोट विज़न सेंसरउपयोग करता है और उसे किसी प्रतियोगिता में ले जाया जाता है या किसी खेल या चुनौती में उपयोग किया जाता है, तो रोबोट का प्रदर्शन विज़न सेंसर की सटीकता पर निर्भर करेगा। सटीकता के लिए इसे ट्यून करना महत्वपूर्ण है।
अपने ज्ञान का विस्तार करें
-
एकाधिक वस्तुएँ
छात्रों से कहें कि वे डिटेक्टिंग ऑब्जेक्ट्स (विजन) प्रोजेक्ट चलाएं और विजन सेंसर के सामने कॉन्फ़िगर की गई वस्तुओं में से एक से अधिक वस्तुएं रखें। क्या होता है? उनसे कहें कि वे अपने निष्कर्षों को अपनी इंजीनियरिंग नोटबुक में लिखें।
, छात्रों से कहें कि वे विज़न सेंसर के सामने एक कॉन्फ़िगर की गई वस्तु और एक अज्ञात या कॉन्फ़िगर न की गई वस्तु रखें। क्या होता है? उनसे कहें कि वे अपने निष्कर्षों को अपनी इंजीनियरिंग नोटबुक में दर्ज करें। परीक्षण करने से पहले छात्रों से पूछें
यदि वे विज़न सेंसर के सामने तीन निर्धारित वस्तुएँ रख दें
क्या होगा? छात्रों से कहें कि वे परीक्षण करने से पहले अपनी भविष्यवाणियां लिख लें। उनसे कहें कि परीक्षण करने के बाद वे अपने अवलोकन दर्ज करें।

छात्रों द्वारा की गई भविष्यवाणियों और अवलोकनों पर चर्चा को सुगम बनाएं।
निम्नलिखित प्रश्न पूछकर चर्चा को सुगम बनाएं:
- एक, दो और तीन वस्तुओं में क्या अंतर थे?
- क्या आप एक से अधिक वस्तुओं को पहचानने के लिए प्रोजेक्ट में किसी प्रकार का बदलाव करेंगे?