विषयसूची:

प्रसंस्करण और Arduino को जोड़ना और 7 खंड और सर्वो GUI नियंत्रक बनाना: 4 चरण
प्रसंस्करण और Arduino को जोड़ना और 7 खंड और सर्वो GUI नियंत्रक बनाना: 4 चरण

वीडियो: प्रसंस्करण और Arduino को जोड़ना और 7 खंड और सर्वो GUI नियंत्रक बनाना: 4 चरण

वीडियो: प्रसंस्करण और Arduino को जोड़ना और 7 खंड और सर्वो GUI नियंत्रक बनाना: 4 चरण
वीडियो: भविष्य की प्रौद्योगिकियां और अद्भुत वैज्ञानिक खोजें / सर्वश्रेष्ठ चयन # 4 2024, नवंबर
Anonim
प्रसंस्करण और Arduino को जोड़ना और 7 खंड और सर्वो GUI नियंत्रक बनाना
प्रसंस्करण और Arduino को जोड़ना और 7 खंड और सर्वो GUI नियंत्रक बनाना

कुछ परियोजनाओं के लिए आपको Arduino का उपयोग करने की आवश्यकता है क्योंकि यह एक आसान प्रोटोटाइप प्लेटफॉर्म प्रदान करता है लेकिन Arduino के सीरियल मॉनिटर में ग्राफिक्स प्रदर्शित करने में बहुत लंबा समय लग सकता है और ऐसा करना भी मुश्किल है। आप Arduino Serial Monitor पर ग्राफ़ प्रदर्शित कर सकते हैं लेकिन केवल ग्राफ़ ही वह चीज़ नहीं है जिसे आपको प्रदर्शित करने की आवश्यकता हो सकती है। स्लाइडर, बटन, 2D, 3D, PDF, या SVG आउटपुट वाले प्रोग्राम जैसे सभी इंटरेक्टिव ऑब्जेक्ट और आप आसानी से एनिमेशन भी बना सकते हैं। प्रसंस्करण के लिए डिफ़ॉल्ट प्रोग्रामिंग मोड जावा है लेकिन आप इसे Android, p5.js, REPL, CoffeeScript और JavaScript स्विच कर सकते हैं। हालाँकि इस निर्देशयोग्य में हम जावा प्रोग्रामिंग मोड का उपयोग करेंगे।

सभी सामग्री और कोड यहाँ पर मेरे जीथब पर भी उपलब्ध हैं।

चरण 1: Processing.serial का उपयोग करना

प्रोसेसिंग कोड

कोड की पहली दो पंक्तियाँ होंगी

आयात प्रसंस्करण। धारावाहिक। *; सीरियल मायपोर्ट;

यहां पहली पंक्ति में हम पुस्तकालय - प्रसंस्करण का आयात कर रहे हैं और दूसरी पंक्ति में हम myPort नाम के वर्ग सीरियल का एक ऑब्जेक्ट बना रहे हैं, आप पहचानकर्ता के नामकरण के नियमों का पालन करते हुए इसे जो चाहें नाम दे सकते हैं।

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

सेटअप () में हम उन स्टेटमेंट को लिखते हैं जिन्हें हमें एक बार निष्पादित करने की आवश्यकता होती है जबकि ड्रा () में हम वे स्टेटमेंट लिखते हैं जिन्हें हमें कई बार निष्पादित करने की आवश्यकता होती है। ऊपर उल्लिखित कोड की दो पंक्तियों को शून्य सेटअप () के ऊपर लिखा जाना चाहिए क्योंकि उन्हें वैश्विक पहुंच की आवश्यकता होती है।

शून्य सेटअप () में हम myPort ऑब्जेक्ट को इनिशियलाइज़ करेंगे।

व्यर्थ व्यवस्था(){

आकार (800, 800);

myPort = नया सीरियल (यह, "COM18", 9600);

}

रेखा का आकार (८००, ८००); स्क्रीन के आकार को परिभाषित करता है जो कि 800 पिक्सेल x 800 पिक्सेल है।

दूसरी पंक्ति में नया कुंजी शब्द स्मृति में वस्तु के लिए स्थान आरक्षित करने के लिए उपयोग किया जाता है, तर्क यह एक संदर्भ चर है जो वर्तमान वस्तु को संदर्भित करता है। तर्क COM18 जुड़ा हुआ Arduino का बंदरगाह है, हमें इसकी आवश्यकता है क्योंकि हम सीरियल इंटरफ़ेस के माध्यम से डेटा का परिवहन करेंगे। आपके मामले में संख्या 18 भिन्न हो सकती है, आप इसे Arduino IDE में टूल> पोर्ट के तहत पा सकते हैं और 9600 बॉड दर है जिसे आप Arduino और प्रसंस्करण दोनों में बदल सकते हैं।

चरण 2: सीरियल क्लास को समझें

सीरियल के लिए कंस्ट्रक्टर

सीरियल (पैरेंट, पोर्टनाम, बॉडरेट, समता, डेटाबिट्स, स्टॉपबिट्स)

तर्क:

माता-पिता: आम तौर पर "इस" का प्रयोग करें

बॉडरेट (int): 9600 डिफ़ॉल्ट है

पोर्टनाम (स्ट्रिंग): पोर्ट का नाम (COM1 डिफ़ॉल्ट है)

समता (चार): किसी के लिए 'एन', सम के लिए 'ई', विषम के लिए 'ओ', चिह्न के लिए 'एम', स्पेस के लिए 'एस' ('एन' डिफ़ॉल्ट है)

डेटाबिट्स (int): 8 डिफ़ॉल्ट है

स्टॉपबिट्स (फ्लोट): 1.0, 1.5 या 2.0 (1.0 डिफ़ॉल्ट है)

महत्वपूर्ण तरीके:

  1. myPort.उपलब्ध () - उपलब्ध बाइट्स की संख्या लौटाता है।
  2. myPort.clear() - बफर को खाली करता है और वहां संग्रहीत सभी डेटा को हटा देता है।
  3. myPort.read() - अगले बाइट के लिए 0 और 255 के बीच एक संख्या देता है जो बफर में प्रतीक्षा कर रहा है।
  4. myPort.readString() - बफर से सभी डेटा को स्ट्रिंग या नल के रूप में लौटाता है यदि कुछ भी उपलब्ध नहीं है।
  5. myPort.write("test") - सीरियल पोर्ट के लिए बाइट्स, वर्ण, इनट्स, बाइट्स , स्ट्रिंग्स लिखता है।
  6. myPort.stop() - पोर्ट पर डेटा संचार को Stps करता है।

चरण 3: Arduino सीरियल क्लास

इसका उपयोग करने से पहले आपको Arduino में सीरियल क्लास को आयात करने की आवश्यकता नहीं है।

Arduino में सेटअप () और लूप () नामक 2 फ़ंक्शन हैं, सेटअप केवल एक बार चलता है, लेकिन लूप कई बार चलता है। सेटअप () में हमें सीरियल संचार शुरू करने के लिए start () विधि का उपयोग करने की आवश्यकता होती है। Arduino में प्रसंस्करण के विपरीत हमें पोर्ट को start() विधि के तर्क के रूप में उल्लेख करने की आवश्यकता नहीं है क्योंकि हम Arduino में स्केच अपलोड करते समय पहले से ही पोर्ट निर्दिष्ट करते हैं।

तो सेटअप () इस तरह दिखेगा:

व्यर्थ व्यवस्था(){

सीरियल.बेगिन (९६००); // धारावाहिक संचार शुरू करें

}

9600 यहां बॉड दर को निर्दिष्ट करता है जिसका हमने प्रसंस्करण फ़ाइल में भी उल्लेख किया था। उचित संचार के लिए दोनों बॉड दरें समान होनी चाहिए या आप सीरियल आउटपुट को कुछ अस्पष्ट के रूप में देख सकते हैं।

अब देखते हैं लूप () भाग। कोड का यह हिस्सा कई बार चलता है। यदि हम पोर्ट द्वारा कुछ डेटा पढ़ना चाहते हैं तो हम Serial.read() विधि का उपयोग करेंगे। यदि कोई डेटा उपलब्ध नहीं है तो यह फ़ंक्शन शून्य हो जाता है, इसलिए हम इस विधि को तभी कॉल करेंगे जब हमारे पास सीरियल स्ट्रीम में उपलब्ध कुछ डेटा होगा।

यह जांचने के लिए कि क्या कुछ डेटा उपलब्ध है, हम Serial.उपलब्ध () विधि का उपयोग करेंगे। यदि यह 0 से अधिक मान लौटाता है - कुछ डेटा उपलब्ध है।

तो लूप () भाग इस तरह दिखेगा:

शून्य लूप () {

अगर (सीरियल.उपलब्ध ()> 0) {// यदि सीरियल पोर्ट में कुछ डेटा उपलब्ध है

चार राज्य = सीरियल.रीड (); // मान पढ़ें

// अगर स्टेटमेंट या स्विच केस

}

}

अब हम सीढ़ी का उपयोग कर सकते हैं या यदि कई संभावित परिणाम हैं तो हम परिवर्तनीय स्थिति के लिए भी स्विच केस का उपयोग कर सकते हैं।

चरण 4: एक GUI 7 खंड नियंत्रक बनाएँ

GUI 7 सेगमेंट कंट्रोलर बनाएँ
GUI 7 सेगमेंट कंट्रोलर बनाएँ
GUI 7 सेगमेंट कंट्रोलर बनाएँ
GUI 7 सेगमेंट कंट्रोलर बनाएँ
GUI 7 सेगमेंट कंट्रोलर बनाएँ
GUI 7 सेगमेंट कंट्रोलर बनाएँ

फाइलें यहां संलग्न हैं। नोट: प्रसंस्करण के लिए आपको नियंत्रण p5 पुस्तकालय स्थापित करने की भी आवश्यकता होगी जिसका उपयोग मैंने GUI इंटरैक्टिव बटन बनाने के लिए किया है।

पिन नंबर

7 खंड (वर्णमाला क्रम में) छवि देखें

ए - डिजिटल पिन 2

बी - डिजिटल पिन 3

सी - डिजिटल पिन 4

डी - डिजिटल पिन 5

ई - डिजिटल पिन 6

एफ - डिजिटल पिन 7

जी - डिजिटल पिन 8

डीपी - डिजिटल पिन 9

सभी सामग्री और कोड यहाँ पर मेरे जीथब पर भी उपलब्ध हैं

सिफारिश की: