विषयसूची:

मशीन वॉचर बनाएँ: 9 कदम
मशीन वॉचर बनाएँ: 9 कदम

वीडियो: मशीन वॉचर बनाएँ: 9 कदम

वीडियो: मशीन वॉचर बनाएँ: 9 कदम
वीडियो: Maddam Sir - Ep 10 - Full Episode - 6th March 2020 2024, नवंबर
Anonim
मशीन वॉचर बनाएं
मशीन वॉचर बनाएं
मशीन वॉचर बनाएं
मशीन वॉचर बनाएं

इस परियोजना के लिए प्रारंभिक बिंदु सूक्ष्म नियंत्रक बोर्डों के बारे में कुछ चीजें सीखने के लिए एक ठोस परियोजना पर काम करना था।

प्रारंभिक विचार एक भौतिक वस्तु बनाना था जो एक सतत एकीकरण प्रणाली (VSTS | Azure DevOps) की निगरानी कर सके और सॉफ़्टवेयर बिल्ड विफलताओं की रिपोर्ट कर सके। आईटी विभाग की सुरक्षा चिंताओं के कारण, मुझे "गैर मानक" डिवाइस को सीधे एंटरप्राइज़ नेटवर्क से कनेक्ट करने से मना कर दिया गया है।

मैंने उपरोक्त चित्र में दिखाए गए आर्किटेक्चर के साथ समाप्त किया। निष्पादन वर्कफ़्लो को संक्षेप में प्रस्तुत किया जा सकता है:

एक विंडोज़ डेस्कटॉप एप्लिकेशन स्कैन (पुल) VSTS बिल्ड परिभाषाएँ। यह बिल्ड के परिणामों का विश्लेषण करता है, और फिर भौतिक डिवाइस को एक कमांड भेजता है जो लाल या हरे झंडे को दिखाने से पहले थोड़ा एनिमेटेड अनुक्रम निष्पादित करता है।

चरण 1: आवश्यक भाग

निम्नलिखित सूची सभी आवश्यक वस्तुओं को सारांशित करती है:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3)।
  • 1 एक्सपेंशन शील्ड (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265)।
  • 2 XBee S1 मॉड्यूल (https://www.adafruit.com/product/128)।
  • 1 एक्सबी एक्सप्लोरर डोंगल (https://www.sparkfun.com/products/11697)।
  • फिक्सिंग एक्सेसरीज के साथ 2 निरंतर सर्वो मोटर्स 5VDC (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf)।
  • 1 9वीडीसी बिजली की आपूर्ति।
  • 3 एलईडी।
  • 3 प्रतिरोधक 220 ओम।
  • थर्मो वापस लेने योग्य आस्तीन।
  • 1 पुश बटन।
  • पुल अप के लिए 10KΩ पुल रेसिस्टर।
  • 100nF संधारित्र।
  • बिजली की तारें।
  • स्ट्रिप-बोर्ड (बटन लगाने के लिए)
  • 5 मिमी लकड़ी (50x50 सेमी)।
  • लकड़ी की छड़ी वर्ग खंड 5x5 मिमी (1 मी)।
  • गत्ते का डिब्बा
  • 10 एक्स पेंच 2 मिमी व्यास।
  • 4 पेंच 5 मिमी व्यास।
  • मजबूत चुंबक।
  • मोड़ मॉड्यूल। मैंने एक चमकती रोशनी के आंतरिक गतिमान हिस्से का पुन: उपयोग किया। आप जो चाहें डाल सकते हैं। आपको बस इस बात का ध्यान रखना होगा कि मोबाइल के 2 पुर्जे बिना छुए स्वतंत्र रूप से घूम सकें।

चरण 2: बॉक्स का निर्माण

बॉक्स का निर्माण
बॉक्स का निर्माण

वास्तव में आपके पास किसी भी आकार का एक बॉक्स हो सकता है जो आप चाहते हैं। शुरू करने से पहले सोचने वाली मुख्य बात यह है कि चलने वाले हिस्से कहां होंगे और यह सुनिश्चित करने के लिए कि वे एक साथ स्पर्श किए बिना स्वतंत्र रूप से आगे बढ़ सकें। एक और बिंदु यह है कि आप डिवाइस को कहां रखने जा रहे हैं? मैंने इसे किसी भी धातु के समर्थन से चिपकाने के लिए एक चुंबक (मजबूत) के साथ समाप्त किया। यदि आप उसी बॉक्स को बनाना चाहते हैं, तो आप बॉक्स_ड्राइंग्स.पीडीएफ फ़ाइल में दिए गए निर्देशों का पालन कर सकते हैं।

उस स्थिति में आपको बस सभी अलग-अलग टुकड़ों को काटना होगा, सर्वोमोटर्स, एलईडी, बटन और स्क्रू के लिए छेद बनाना होगा और अंत में सभी भागों को एक साथ गोंद करना होगा। एक बार जब यह सूख जाए, तो थोड़ा सा सैंडिंग और थोड़ा रंग।

दो झंडे कुछ लाल और हरे रंग के कार्डबोर्ड का उपयोग करके बनाए गए हैं। सर्वोमोटर्स पर फ्लैग मास्ट को ठीक करने के लिए आप उन्हें खरीदते समय प्रदान किए गए माउंटिंग भागों का उपयोग कर सकते हैं।

चरण 3: Arduino सेटअप

Arduino सेटअप
Arduino सेटअप

Arduino एक्सटेंशन बोर्ड से जुड़े आइटम हैं:

  • D2 पिन: पुश बटन।
  • D4 पिन: एलईडी कहने के लिए कि सिस्टम चालू है।
  • D5 पिन: एलईडी कहने के लिए कि हम एक चक्र निष्पादित करते हैं।
  • D6 पिन: एलईडी का कहना है कि डिवाइस को एक नया संदेश मिला है।
  • डी 9 पिन: जीरो को संभालने वाले सर्वोमोटर के लिए पीडब्लूएम पल्स सिग्नल।
  • D10 पिन: ध्वज को संभालने वाले सर्वोमोटर के लिए PWM पल्स सिग्नल।
  • XBee सॉकेट: एक ZigBee मॉड्यूल।

उपरोक्त योजनाबद्ध दिखाता है कि सभी आइटम बोर्ड से कैसे जुड़े हैं।

एल ई डी के लिए, रोकनेवाला और तारों को सीधे उस पर वेल्डेड किया जाता है (ध्रुवता का ध्यान रखें)। सब कुछ तो कुछ थर्मो वापस लेने योग्य आस्तीन के भीतर पैक किया जाता है।

पुश बटन के लिए, सभी भागों (बटन, रेसिस्टर और कैपेसिटर) को सीधे एक छोटे सैटेलाइट स्ट्रिप-बोर्ड पर वेल्ड किया जाता है। स्ट्रिप-बोर्ड को फिर सीधे दो स्क्रू (2 मिमी) के साथ तय किया जाता है

सर्वोमोटर्स 5V शक्ति के साथ काम करते हैं, इसलिए उन्हें सीधे Arduino से जोड़ा जा सकता है। यदि आप उच्च वोल्टेज (12V) वाले का उपयोग करते हैं, तो आपको बिजली की आपूर्ति के लिए एक और परत जोड़नी होगी।

XBee मॉड्यूल के लिए, एक बार जब वे एक साथ बात करने के लिए कॉन्फ़िगर हो जाते हैं (अगला भाग देखें), तो उन्हें सीधे सॉकेट में प्लग किया जा सकता है।

नोट: एलईडी और पुश बटन को सीधे Arduino पिन से जोड़ा जा सकता था क्योंकि यह आंतरिक रूप से आवश्यक प्रतिभूतियों को लागू कर सकता है। मैंने बस पुराने तरीके से किया क्योंकि यह पहलू मेरे लिए बहुत स्पष्ट नहीं था।

चरण 4: सॉफ्टवेयर - एक्ससीटीयू

सॉफ्टवेयर - एक्ससीटीयू
सॉफ्टवेयर - एक्ससीटीयू

जैसा कि ऊपर उल्लेख किया गया है, दो XBee उपकरणों को एक साथ बात करने के लिए कॉन्फ़िगर किया जाना चाहिए। ऐसा करने के लिए आपको DIGI के समर्पित X-CTU सॉफ़्टवेयर का उपयोग करने की आवश्यकता है। आपको यह कॉन्फ़िगरेशन चरण केवल एक बार करने की आवश्यकता है। कृपया xbee_configuration.pdf फ़ाइल में वर्णित प्रक्रिया का पालन करें।

एक बार कॉन्फ़िगरेशन हो जाने के बाद आप प्रत्येक मॉड्यूल को उनके सॉकेट से कनेक्ट कर सकते हैं। एक यूएसबी/सीरियल कनवर्टर पर और एक Arduino एक्सटेंशन बोर्ड पर।

यूएसबी/सीरियल कन्वर्टर को विंडोज़ 10 द्वारा स्वचालित रूप से पहचाना जाना चाहिए। यदि ऐसा नहीं है तो आपको ड्राइवर को मैन्युअल रूप से इंस्टॉल करना पड़ सकता है

ध्यान दें:

एक बुनियादी धारावाहिक संचार करने के लिए XBee मॉड्यूल का उपयोग करना थोड़ा अधिक है। जिस समय मैंने प्रोजेक्ट शुरू किया उस समय मैं विंडोज़ 10 (ड्राइवर मुद्दों) पर आसानी से प्रयोग करने योग्य सरल धारावाहिक संचार उपकरणों को खोजने में सफल नहीं हुआ। यह https://www.zigbee.org. के बारे में कुछ बातें सीखने का भी अवसर था

चरण 5: सॉफ्टवेयर - Arduino स्केच

सॉफ्टवेयर - Arduino स्केच
सॉफ्टवेयर - Arduino स्केच

Arduino को प्रोग्राम करने के लिए हम आधिकारिक वेब साइट से सुलभ IDE का उपयोग करते हैं।

कार्यक्रम का तर्क सरल है, यह केवल एकल अक्षरों ('ए', 'बी', …) के लिए बोर्ड के डिफ़ॉल्ट सीरियल पोर्ट पर सुनता है। यदि प्राप्त चरित्र एक ज्ञात कमांड से मेल खाता है, तो एक उप-फ़ंक्शन इसी क्रम को चलाता है।

2 मुख्य उपयोगी कमांड सफलता एनीमेशन ('ए') और त्रुटि एनीमेशन ('बी') हैं।

बॉक्स के साथ थोड़ा और खेलने (या डिबगिंग) करने में सक्षम होने के लिए कुछ अतिरिक्त कमांड हैं जिन्हें निष्पादित किया जा सकता है। वे:

  • 'o': ON LED को ON करने के लिए बाध्य करें
  • 'पी': चालू एलईडी को बंद करने के लिए मजबूर करें
  • 'क्यू': नए संदेश एलईडी को चालू करने के लिए बाध्य करें
  • 'आर': नए संदेश एलईडी को बंद करने के लिए मजबूर करें
  • 'एस': साइकिल एलईडी को चालू करने के लिए बाध्य करें
  • 'टी': साइकिल एलईडी को बंद करने के लिए मजबूर करें
  • 'यू': जाइरो के सर्वोमोटर को सक्रिय करें
  • 'v': ध्वज के सर्वोमोटर को सक्रिय करें।

सीरियल कमांड के अलावा एक सब-रूटीन (हैंडलपशबटन) है जो डिवाइस पर पुश बटन दबाए जाने पर सक्रिय होता है। उस स्थिति में त्रुटि या सफलता एनीमेशन स्वचालित रूप से खेला जाता है। यह सुविधा यह जांचने की अनुमति देती है कि भौतिक उपकरण सही तरीके से माउंट किया गया है।

Arduino स्केच का कोड सिंगल फाइल bsldevice.ino में है। आप इसे सीधे IDE का उपयोग करके अपलोड कर सकते हैं।

चरण 6: सॉफ्टवेयर - डेस्कटॉप एप्लीकेशन

सॉफ्टवेयर - डेस्कटॉप एप्लीकेशन
सॉफ्टवेयर - डेस्कटॉप एप्लीकेशन

डेस्कटॉप एप्लिकेशन का उद्देश्य Microsoft Azure DevOps (पहले VSTS) वेब साइट की निगरानी करना और यह पता लगाना है कि कोई बिल्ड परिभाषा सफल है या त्रुटि में है। हर बार एक बिल्ड समाप्त होने पर, डेस्कटॉप एप्लिकेशन बिल्ड की स्थिति निर्धारित करता है और सीरियल पोर्ट (COMx) को संबंधित कमांड ('ए' या 'बी') भेजता है।

एप्लिकेशन लॉन्च करने के बाद पहली क्रिया सही कॉम पोर्ट का चयन करना है जिस पर ज़िगबी मॉड्यूल जुड़ा हुआ है। पोर्ट का निर्धारण करने के लिए आप विंडोज डिवाइस मैनेजर (पोर्ट्स (COM और LPT सेक्शन) के तहत) का उपयोग कर सकते हैं। Azure DevOps से कनेक्शन वर्तमान उपयोगकर्ता के क्रेडेंशियल्स का उपयोग करके स्टार्टअप पर स्वचालित रूप से किया जाता है। आप दाईं ओर कॉम्बो बॉक्स का उपयोग करके मैन्युअल रूप से कोई भी पूर्वनिर्धारित कमांड भेज सकते हैं।

सभी स्रोत विजुअल स्टूडियो 2017 पेशेवर संस्करण के साथ तैयार किए गए हैं। इसके लिए. NET Framework 4.6.1 की आवश्यकता है। वीएसटीएस वेब साइट से कनेक्शन/प्रमाणीकरण की सुविधा के लिए फ्रेमवर्क का यह संस्करण बेहतर है।

उपयोग करने के लिए:

  • संग्रह bslwatcher_sources.zip डाउनलोड करें।
  • इसे अपनी डिस्क पर निकालें।
  • बिल्ड विवरण के लिए How_to_build.txt फ़ाइल पढ़ें।

चरण 7: पहली शुरुआत

बॉक्स शुरू करते समय दो मुख्य बातों का ध्यान रखना चाहिए:

1- सिस्टम के पास खुद यह जानने का कोई तरीका नहीं है कि झंडे कहां हैं। सिस्टम मानता है कि स्टार्टअप पर हरी झंडी है।

2- Arduino बोर्ड को पावर देते समय कुछ भी हिलना नहीं चाहिए। जैसा कि हमने निरंतर सर्वो का उपयोग किया है, शून्य स्थिति को स्केच फ़ाइल में डिफ़ॉल्ट रूप से 90 पर सेट किया गया है। यदि कोई सर्वोमोटर मुड़ना या कुछ शोर करना शुरू कर देता है। आपको इसकी शून्य स्थिति को फिर से परिभाषित करना पड़ सकता है। ऐसा करने के लिए आपको बस सर्वोमोटर की तरफ छोटे छेद के भीतर पोटेंशियोमीटर को ट्यून करना होगा।

www.arduino.cc/en/Reference/ServoWrite

cmra.rec.ri.cmu.edu/content/electronics/boe…

चरण 8: निष्कर्ष

यह छोटा उपकरण भौतिक रूप से आपके सतत एकीकरण प्रणाली की स्थिति की रिपोर्ट करेगा।

जैसा कि "इंटेलिजेंस" डेस्कटॉप एप्लिकेशन में है, आप किसी अन्य सॉफ़्टवेयर या प्रक्रिया (मेल, एक तापमान सेंसर…) की निगरानी के लिए बॉक्स का उपयोग कर सकते हैं। आपको बस किसी अन्य एपीआई तक पहुंच की आवश्यकता है और यह तय करना है कि "अच्छा" क्या है या "बुरा" क्या है। यदि आप लाल और हरे रंग के कन्वेंशन रंगों का उपयोग नहीं करते हैं तो आप "संदेश" का अर्थ भी बदल सकते हैं।

सुधार बॉक्स में ही लाया जा सकता है:

  • एक बैटरी का प्रयोग करें।
  • एक और संचार प्रोटोकॉल का प्रयोग करें।
  • कौन सा झंडा सबसे ऊपर है, यह जानने के लिए सेंसर जोड़ें।

आशा है कि आपको यह परियोजना रोचक लगी होगी।

यहाँ तक पढ़ने के लिए धन्यवाद।

चरण 9: अनुलग्नक

इस परियोजना को बनाने के लिए उपयोग किए गए कुछ लिंक:

Arduino वेब साइट:

डिजी वेबसाइट:

एक्ससीटीयू सॉफ्टवेयर:

दूसरों से उपयोग की गई कुछ जानकारी:

arduino.stackexchange.com/questions/1321/se…

stackoverflow.com/questions/10399400/best-w…

www.mon-club-elec.fr/pmwiki_reference_ardui… (फ्रेंच में)

jeromeabel.net/

MSDN वेब साइट सामान्य रूप से:

docs.microsoft.com/en-us/dotnet/framework/…

सिफारिश की: