विषयसूची:

सीरियल-पोर्ट के माध्यम से Arduino के लिए पीसी रैम-उपयोग: 7 कदम
सीरियल-पोर्ट के माध्यम से Arduino के लिए पीसी रैम-उपयोग: 7 कदम

वीडियो: सीरियल-पोर्ट के माध्यम से Arduino के लिए पीसी रैम-उपयोग: 7 कदम

वीडियो: सीरियल-पोर्ट के माध्यम से Arduino के लिए पीसी रैम-उपयोग: 7 कदम
वीडियो: अरुडिनो मास्टरक्लास | 90 मिनट में पूर्ण प्रोग्रामिंग कार्यशाला! 2024, जुलाई
Anonim
सीरियल-पोर्ट के माध्यम से Arduino के लिए पीसी रैम-उपयोग
सीरियल-पोर्ट के माध्यम से Arduino के लिए पीसी रैम-उपयोग

मेरे एक मित्र ने मुझे उसके छोटे Arduino प्रोजेक्ट से प्रेरित किया। इस छोटे से प्रोजेक्ट में Arduino UNO R3 शामिल है, जो Arduino IDE में बनाए गए प्रोग्राम द्वारा डेटा को एक सीरियल पोर्ट (USB- पोर्ट) को विजुअल स्टूडियो में बनाए गए C# प्रोग्राम द्वारा भेजा जाता है। चूंकि यह एक आर्डिनो सहित मेरा पहला निर्माण था, मैं परिणाम से बहुत खुश हूं, और मैंने तारों को कैसे जोड़ा जाए और आर्डिनो को कैसे प्रोग्राम किया जाए, इसके बारे में थोड़ा या दो सीखा है। चूंकि मैं माइक्रो-कंट्रोलर को प्रोग्रामिंग या संभालने के किसी भी तरीके का विशेषज्ञ नहीं हूं, इसलिए आप बहुत ही बुनियादी निर्देशों की उम्मीद कर सकते हैं, लेकिन मैं आपके लिए प्रोजेक्ट की व्याख्या करने की पूरी कोशिश करूंगा। आशा है कि आप इस निर्देश का आनंद लेंगे। इस परियोजना को और अधिक विकसित किया जा सकता है, भविष्य में मुझे लगता है कि मैं एक डैशबोर्ड बनाउंगा जहां आप रैम-उपयोग, सीपीयू-उपयोग और जीपीयू-टेम्प की निगरानी कर सकते हैं और … वैसे आपको यह विचार मिलता है, "आजकल बहुत सारी संभावनाएं हैं":)

चरण 1: वह सामग्री जिसकी आपको आवश्यकता होगी

आपको जिस सामग्री की आवश्यकता होगी
आपको जिस सामग्री की आवश्यकता होगी

1x Arduino UNO R3

1x यूएसबी ए मेल टू टाइप बी प्लग केबल।

12x 220 ओएचएम प्रतिरोधक

12x तार (मैं स्पीकर-वायर का उपयोग कर रहा हूं, पूरी तरह से काम करता है) और 12x पुरुष-से-महिला जम्पर तार या 12x पुरुष-से-पुरुष जम्पर तार (पसंद आपकी है)

12x सीधी सुइयां (वे धातु के पिन जो उसी पैकेज में आते हैं जिसका उपयोग Arduino स्वयं करता है) (चित्र देखें)

1x 7 खंड 4 सामान्य कैथोड 0.36 लाल एलईडी डिजिटल डिस्प्ले

सोल्डर के साथ 1x सोल्डरिंग आयरन

1 एक्स वायर स्ट्रिपर

1x तांबे का पाइप (Ø(व्यास) के अंदर कम से कम 11 मिमी अगर मेरे जैसे 2 तांबे के पाइप का उपयोग कर रहे हैं)

हीट सिकोड़ें वायर रैप (2.5 मिमी (व्यास))

1x पतला लकड़ी का बोर्ड (आप जो डिज़ाइन चाहते हैं वह बना सकते हैं, मेरा थोड़ा अनाड़ी दिखता है, मुझे लगता है:) कुछ ऐसा बनाएं जिसे आप देखना चाहते हैं। एक ३डी प्रिंटर यहां काम आएगा)

चरण 2: वायरिंग

तारों
तारों
तारों
तारों
तारों
तारों

यदि आप प्रतिरोधों और तारों को एक साथ मिलाना शुरू करने से पहले तारों का परीक्षण करना पसंद करते हैं, तो यहां भी एक ब्रेडबोर्ड काम आएगा।

लेकिन अगर आप अपना सामान जानते हैं, मेरी तरह * एहम *, तो आप एक ही बार में सब कुछ एक साथ मिलाना शुरू कर सकते हैं। !!!लेकिन arduino के लिए नहीं !!!

यह बहुत सीधा है, तस्वीरें यह सब कहती हैं, मुझे लगता है:)

यहां टांका लगाने वाला लोहा काम आएगा, क्योंकि हमें डिस्प्ले के पिन और प्रतिरोधों को डिस्प्ले पर 4 COM-पिन (COM1, COM2, COM3, COM4) में तारों को मिलाप करने की आवश्यकता है जैसा कि पहली छवि में दिखाया गया है। (प्रतिरोधों को समान दिशाओं का सामना करने की आवश्यकता नहीं है, लेकिन मुझे निरंतरता पसंद है …)

यदि आप तारों के लिए सिकुड़ते प्लास्टिक का उपयोग करते हैं, जिसकी मैं अनुशंसा करता हूं (शॉर्ट-सर्किट और स्टैटिक्स/विघटन के जोखिम को कम करने के लिए)। आप मुझे पसंद कर सकते हैं कि सोल्डरिंग आयरन का इतना गर्म हिस्सा नहीं है (सोल्डरिंग आयरन पर ऊपर) या प्लास्टिक को सिकोड़ने के लिए लाइटर, आप तय करें।

मैं तारों को टैग करने की अनुशंसा करता हूं ताकि आप जान सकें कि कौन सा तार कहां जाएगा, पूरी परियोजना को इकट्ठा करना शुरू करते समय यह बहुत आसान हो जाएगा (कम से कम मेरे और मेरे अजीब डिजाइन के लिए …)

मैं तारों के अंत में "ब्लैक-टिनी-प्लास्टिक-मेटल-पिन" चीजों को मिलाप करने की भी सलाह देता हूं (दो अंतिम चित्र देखें)

जब आप अपने डिस्प्ले के पिन पर तारों को मिलाते हैं तो आप तारों को अपने Arduino UNO से जोड़ना शुरू कर सकते हैं (पहली छवि देखें)।

चरण 3: Arduino IDE स्थापना और सही पोर्ट ढूँढना

Arduino IDE स्थापना और सही पोर्ट ढूँढना
Arduino IDE स्थापना और सही पोर्ट ढूँढना
Arduino IDE स्थापना और सही पोर्ट ढूँढना
Arduino IDE स्थापना और सही पोर्ट ढूँढना
Arduino IDE स्थापना और सही पोर्ट ढूँढना
Arduino IDE स्थापना और सही पोर्ट ढूँढना

सबसे पहले आपको Arduino IDE स्थापित करने की आवश्यकता है (इस लिंक का उपयोग करें: https://www.arduino.cc/en/Main/Software) आपके पास कौन सा ओएस है (मैं विंडोज 10 का उपयोग करता हूं) के आधार पर आपको इसे सही के लिए डाउनलोड करने की आवश्यकता है, इसलिए Windows 8.1^ के लिए, आप Microsoft स्टोर पर जा सकते हैं और वहां Arduino IDE सॉफ़्टवेयर डाउनलोड कर सकते हैं (या ऊपर दिए गए लिंक का अनुसरण कर सकते हैं)।

अब आपको Arduino UNO को अपने पीसी के USB-पोर्ट में से किसी एक से कनेक्ट करना होगा और यह पता लगाना होगा कि आप अपने Arduino से किस COM-पोर्ट से जुड़े हैं, लेकिन कैसे? वैसे आप टास्कबार पर विंडोज़ लोगो पर राइट-क्लिक करके विंडोज़ पर डिवाइस प्रबंधन पर जा सकते हैं और डिवाइस मैनेजर (चित्र देखें) पर क्लिक करें, यूएसबी-सीरियल नाम का एक होना चाहिए, वह सही पोर्ट है।

और फिर Arduino IDE प्रोग्राम में टूल्स पर क्लिक करें और फिर पोर्ट करें और इसे सही पोर्ट पर सेट करें (मेरे लिए यह COM4 है)।

चरण 4: Arduino UNO के लिए कोड

Arduino UNO के लिए कोड
Arduino UNO के लिए कोड
Arduino UNO के लिए कोड
Arduino UNO के लिए कोड
Arduino UNO के लिए कोड
Arduino UNO के लिए कोड

अब हम दिलचस्प भाग से शुरू कर सकते हैं, CODING!

सबसे पहले आपको डिस्प्ले के बारह (12) पिनों को अलग-अलग वेरिएबल्स (पहली छवि देखें) को असाइन करने की आवश्यकता होगी।

(COM-पिन वे हैं जिनके लिए "स्थिति" प्रकाशित होगी)

फिर आपको कुछ और चर और एक सरणी बनाने की आवश्यकता है जो पोर्ट को प्राप्त होने वाले वर्णों को ले जाएगा और इसे अपनी सरणी में रखेगा (दूसरी छवि देखें)।

अब आपको अपने Arduino पर OUTPUT पर पिन या पोर्ट सेट करने की आवश्यकता है (तीसरी छवि देखें)

मैं थोड़ी देर में वापस लूप में आ जाऊंगा, लेकिन पहले आपको डिस्प्ले पर नंबरों को ठीक से दिखाने के लिए बनाने की जरूरत है।

अब हम डिस्प्ले पर नंबर 1-9 के लिए फंक्शन बनाने जा रहे हैं (चौथी, 5वीं और छठी इमेज देखें)

चूंकि मैं प्रदर्शन पर पहली स्थिति पर कुछ भी प्रदर्शित नहीं करने जा रहा हूं, इसलिए मैंने बाकी पदों (प्रत्येक एक स्थिति के लिए) के लिए तीन (3) कार्य किए हैं। आपको प्रत्येक अंक-स्थिति के लिए एक फ़ंक्शन बनाने की आवश्यकता है जिसके लिए एक विशिष्ट संख्या दिखाई देगी (7वीं, 8वीं और 9वीं छवि देखें)।

मैंने डिस्प्ले पर दिखाए गए डेटा को अधिक विश्वसनीय बनाने के लिए एक रीसेट फ़ंक्शन भी बनाया है (10 वीं छवि देखें)।

अब लूप के लिए, जो प्रोग्राम के चलने पर लूप में जा रहा है।

अब आप अपलोड बटन पर क्लिक करके कोड को Arduino पर संकलित और अपलोड कर सकते हैं (संकलन सफल होने पर प्रोग्राम Arduino पर संकलित और अपलोड होगा)। (11वीं छवि देखें)

चरण 5: सीरियल पोर्ट पर रैम-उपयोग भेजने के लिए कोड (सी #)

सीरियल पोर्ट पर रैम-उपयोग भेजने के लिए कोड (सी #)
सीरियल पोर्ट पर रैम-उपयोग भेजने के लिए कोड (सी #)
सीरियल पोर्ट पर रैम-उपयोग भेजने के लिए कोड (सी #)
सीरियल पोर्ट पर रैम-उपयोग भेजने के लिए कोड (सी #)
सीरियल पोर्ट पर रैम-उपयोग भेजने के लिए कोड (सी #)
सीरियल पोर्ट पर रैम-उपयोग भेजने के लिए कोड (सी #)

अब मैं आपको सी#में सीरियल पोर्ट पर डेटा भेजने का एक तरीका दिखाने जा रहा हूं।

मैं कोडिंग करते समय विजुअल स्टूडियो 2017 का उपयोग कर रहा हूं। कोड लंबा नहीं है, लेकिन कुछ हिस्सों को समझने में कुछ समय लगा, यानी कंप्यूटर शुरू होने पर प्रोग्राम कैसे चलाया जाए और डेस्कटॉप या टास्कबार पर एक बदसूरत कंसोल विंडो नहीं दिखा रहा है, ठीक है, पर्याप्त शेख़ी, चलो कोड में सही हो जाओ!

तो विजुअल स्टूडियो में इस कोड-प्रोजेक्ट के साथ शुरू करने के लिए, आप फ़ाइल और नई परियोजना (पहली छवि देखें) पर क्लिक करके शुरू कर सकते हैं और फिर विजुअल सी # का चयन कर सकते हैं और फिर विंडोज़ क्लासिक डेस्कटॉप का चयन कर सकते हैं और अंत में कंसोल ऐप (.नेट फ्रेमवर्क) पर क्लिक कर सकते हैं और बेशक इसे आप जो चाहें नाम दें और जहां चाहें इसे सेव करें। (दूसरी छवि देखें)

अब आप प्रोग्राम को कोड करना शुरू कर सकते हैं…

आपको निर्देशों का उपयोग करने वालों की आवश्यकता होगी (तीसरी छवि देखें), वास्तव में आपको उन सभी की आवश्यकता नहीं है, लेकिन इससे कोई फर्क नहीं पड़ता कि वे वहां हैं।

और मुख्य कोड इस तरह दिखता है (चौथी छवि देखें) ARDUINO UNO कोड के समान PORT और BAUD-SPEED (9600) का उपयोग करना याद रखें !!! (५वीं छवि देखें)। और यह भी जांचना याद रखें कि आपके पास कितनी रैम है, मेरे पास 8 जीबी (7.90 जीबी) रैम स्थापित है, यही कारण है कि मेरे पास कोड में 7.90 है (चौथी छवि देखें)।

यदि आपको आश्चर्य है कि मेरे पास DllImports क्यों है, तो ऐसा इसलिए है क्योंकि मैं पूरी तरह से उपयोगकर्ता से विंडो को छिपाना चाहता था, इस मामले में, ME, क्योंकि कंप्यूटर बूट होने पर प्रोग्राम स्वचालित रूप से शुरू हो जाएगा। लेकिन मैं इसके बारे में और बाद में बताऊंगा।

इस बिंदु पर यह सबसे अच्छा है यदि आप Arduino- और C# -program दोनों का परीक्षण करते हैं और सुनिश्चित करते हैं कि कोई त्रुटि नहीं है। यह बहुत महत्वपूर्ण है कि आपके पास सी # प्रोग्राम चलाने से पहले Arduino प्रोग्राम चल रहा है, क्योंकि अन्यथा यह काम नहीं करता है।

अब जब प्रोग्राम लिखा जाता है, तब तक आप प्रोग्राम फोल्डर में नेविगेट कर सकते हैं जब तक कि आपको बिन-फोल्डर नहीं मिल जाता है और इसे खोलना नहीं है, और फिर डिबग फोल्डर पर डबल-क्लिक करें और वहां यह है, आपका सुनहरा एप्लिकेशन/प्रोग्राम, अब ठीक है - इसे क्लिक करें और फिर शॉर्टकट बनाएं क्लिक करें … फिर अपने कीबोर्ड पर (विंडोज़) ⊞ -की + आर-की दबाएं। फिर टेक्स्टबॉक्स में लिखें: शेल: स्टार्टअप और दबाएं (एंटर/रिटर्न)↵-कुंजी अब जब आप उस फ़ोल्डर में हों तो मैं चाहता हूं कि आप अपने एप्लिकेशन के अपने बनाए गए शॉर्टकट को स्टार्टअप फ़ोल्डर में खींचें। और वहां आप जाते हैं … अब प्रोग्राम शुरू होने जा रहा है जब आप अपने कंप्यूटर को बूट करते हैं।

अब सब कुछ काम करना चाहिए, यदि नहीं, तो बेहतर है कि आप समस्या की खोज शुरू करें:)।

चरण 6: केस का निर्माण

केस का निर्माण
केस का निर्माण
केस का निर्माण
केस का निर्माण
केस का निर्माण
केस का निर्माण

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

स्पष्ट रूप से यह परीक्षण करना अच्छा है ताकि पूरी निर्माण प्रक्रिया में कुछ भी ढीला न हो, इसे आपके कंप्यूटर पर प्लग करके और सी # प्रोग्राम शुरू करें (याद रखें कि Arduino को उसी यूएसबी-पोर्ट में पहले रखा गया था)।

तो सबसे पहले आपको एक लकड़ी का बोर्ड चाहिए जो लगभग 4 मिमी (0.157 इंच) मोटा हो। सभी टुकड़ों के मापन के विवरण के लिए पहली छवि देखें।

मैं गर्म गोंद बंदूक का उपयोग कर रहा हूं क्योंकि यह आसान और तेज़ है, मैं इसकी अनुशंसा करता हूं, लेकिन यह आपके ऊपर है कि आप क्या उपयोग करेंगे …

पुनश्च. मुझे लगता है कि छवियां प्रक्रिया का थोड़ा बेहतर वर्णन करेंगी, लेकिन इसके माध्यम से पढ़ना सुनिश्चित करें: मैं टुकड़ों को काटने के लिए एक स्नैप ब्लेड उपयोगिता चाकू का उपयोग कर रहा हूं, इसमें कुछ समय लगा, लेकिन जब ऐसा किया जाता है तो आप काट सकते हैं जहां डिस्प्ले (60 x 45 मिमी पीस पर) होने वाला है, आपको डिस्प्ले को "डिस्प्ले-होल" में बहुत कसकर फिट करना होगा जब आपने ऐसा कर लिया है कि आप "डिस्प्ले-बॉक्स" के निचले हिस्से में छेद ड्रिल कर सकते हैं। तांबे के पाइपों को फिट करने के लिए, यह भी महत्वपूर्ण है कि पाइप छिद्रों में कसकर फिट हों। अब आप पाइप के माध्यम से डिस्प्ले से तारों को चलाना शुरू कर सकते हैं (यदि आप दो (2) पाइप का उपयोग कर रहे हैं तो आप केबलों की संख्या को विभाजित कर सकते हैं ताकि वे पाइप के माध्यम से फिट हो जाएं (प्रत्येक पाइप में छह (6) तार…) (देखें दूसरा, तीसरा, चौथा, पांचवां, छठा और सातवां चित्र))।

पुनश्च. मैं इसे आवश्यक नहीं समझता, लेकिन यदि आप चाहें तो आप तल में कुछ छेद ड्रिल कर सकते हैं ताकि Arduino थोड़ा "साँस" ले सके। (10वीं छवि देखें)।

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

चूंकि किनारे पूरी तरह से बदसूरत थे, इसलिए मैंने किनारों को ढकने के लिए पतली रस्सी का उपयोग करने का फैसला किया, मुझे लगता है कि यह अंत में बहुत अच्छा लग रहा है। लेकिन याद रखें कि इस बार डिजाइन मेरे लिए परियोजना का मुख्य विचार नहीं था, इसलिए सुनिश्चित करें कि आप को मेरी तुलना में भी सुंदर बनाना है * यह बहुत मुश्किल नहीं है *।

चरण 7: यह जीवित है और काम कर रहा है

अगर आप इस परियोजना के बारे में किसी बात के बारे में अनिश्चित हैं तो मुझसे कुछ भी पूछना सुनिश्चित करें, और मैं इसे आपके लिए समझाने की पूरी कोशिश करूंगा!

(मैं यह भी सुझाव दूंगा कि कोड को और बेहतर कैसे बनाया जाए क्योंकि मैं ARDUINO UNOS का कोई विशेषज्ञ नहीं हूं)।

सिफारिश की: