विषयसूची:
- चरण 1: Processing.serial का उपयोग करना
- चरण 2: सीरियल क्लास को समझें
- चरण 3: Arduino सीरियल क्लास
- चरण 4: एक GUI 7 खंड नियंत्रक बनाएँ
वीडियो: प्रसंस्करण और Arduino को जोड़ना और 7 खंड और सर्वो GUI नियंत्रक बनाना: 4 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
कुछ परियोजनाओं के लिए आपको 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 डिफ़ॉल्ट है)
महत्वपूर्ण तरीके:
- myPort.उपलब्ध () - उपलब्ध बाइट्स की संख्या लौटाता है।
- myPort.clear() - बफर को खाली करता है और वहां संग्रहीत सभी डेटा को हटा देता है।
- myPort.read() - अगले बाइट के लिए 0 और 255 के बीच एक संख्या देता है जो बफर में प्रतीक्षा कर रहा है।
- myPort.readString() - बफर से सभी डेटा को स्ट्रिंग या नल के रूप में लौटाता है यदि कुछ भी उपलब्ध नहीं है।
- myPort.write("test") - सीरियल पोर्ट के लिए बाइट्स, वर्ण, इनट्स, बाइट्स , स्ट्रिंग्स लिखता है।
- myPort.stop() - पोर्ट पर डेटा संचार को Stps करता है।
चरण 3: Arduino सीरियल क्लास
इसका उपयोग करने से पहले आपको Arduino में सीरियल क्लास को आयात करने की आवश्यकता नहीं है।
Arduino में सेटअप () और लूप () नामक 2 फ़ंक्शन हैं, सेटअप केवल एक बार चलता है, लेकिन लूप कई बार चलता है। सेटअप () में हमें सीरियल संचार शुरू करने के लिए start () विधि का उपयोग करने की आवश्यकता होती है। Arduino में प्रसंस्करण के विपरीत हमें पोर्ट को start() विधि के तर्क के रूप में उल्लेख करने की आवश्यकता नहीं है क्योंकि हम Arduino में स्केच अपलोड करते समय पहले से ही पोर्ट निर्दिष्ट करते हैं।
तो सेटअप () इस तरह दिखेगा:
व्यर्थ व्यवस्था(){
सीरियल.बेगिन (९६००); // धारावाहिक संचार शुरू करें
}
9600 यहां बॉड दर को निर्दिष्ट करता है जिसका हमने प्रसंस्करण फ़ाइल में भी उल्लेख किया था। उचित संचार के लिए दोनों बॉड दरें समान होनी चाहिए या आप सीरियल आउटपुट को कुछ अस्पष्ट के रूप में देख सकते हैं।
अब देखते हैं लूप () भाग। कोड का यह हिस्सा कई बार चलता है। यदि हम पोर्ट द्वारा कुछ डेटा पढ़ना चाहते हैं तो हम Serial.read() विधि का उपयोग करेंगे। यदि कोई डेटा उपलब्ध नहीं है तो यह फ़ंक्शन शून्य हो जाता है, इसलिए हम इस विधि को तभी कॉल करेंगे जब हमारे पास सीरियल स्ट्रीम में उपलब्ध कुछ डेटा होगा।
यह जांचने के लिए कि क्या कुछ डेटा उपलब्ध है, हम Serial.उपलब्ध () विधि का उपयोग करेंगे। यदि यह 0 से अधिक मान लौटाता है - कुछ डेटा उपलब्ध है।
तो लूप () भाग इस तरह दिखेगा:
शून्य लूप () {
अगर (सीरियल.उपलब्ध ()> 0) {// यदि सीरियल पोर्ट में कुछ डेटा उपलब्ध है
चार राज्य = सीरियल.रीड (); // मान पढ़ें
// अगर स्टेटमेंट या स्विच केस
}
}
अब हम सीढ़ी का उपयोग कर सकते हैं या यदि कई संभावित परिणाम हैं तो हम परिवर्तनीय स्थिति के लिए भी स्विच केस का उपयोग कर सकते हैं।
चरण 4: एक GUI 7 खंड नियंत्रक बनाएँ
फाइलें यहां संलग्न हैं। नोट: प्रसंस्करण के लिए आपको नियंत्रण p5 पुस्तकालय स्थापित करने की भी आवश्यकता होगी जिसका उपयोग मैंने GUI इंटरैक्टिव बटन बनाने के लिए किया है।
पिन नंबर
7 खंड (वर्णमाला क्रम में) छवि देखें
ए - डिजिटल पिन 2
बी - डिजिटल पिन 3
सी - डिजिटल पिन 4
डी - डिजिटल पिन 5
ई - डिजिटल पिन 6
एफ - डिजिटल पिन 7
जी - डिजिटल पिन 8
डीपी - डिजिटल पिन 9
सभी सामग्री और कोड यहाँ पर मेरे जीथब पर भी उपलब्ध हैं
सिफारिश की:
अनंत रोटेशन सर्वो के लिए सरल इलेक्ट्रॉनिक गति नियंत्रक (ईएससी): 6 चरण
अनंत रोटेशन सर्वो के लिए सरल इलेक्ट्रॉनिक स्पीड कंट्रोलर (ईएससी): यदि आप आजकल इलेक्ट्रॉनिक स्पीड कंट्रोलर (ईएससी) पेश करने का प्रयास करते हैं, तो आपको निर्भीक या बोल्ड होना चाहिए। सस्ते इलेक्ट्रॉनिक निर्माण की दुनिया विभिन्न प्रकार के कार्यों के साथ विभिन्न गुणवत्ता वाले नियामकों से भरी हुई है। फिर भी मेरे दोस्त से पूछते हैं
YABC - फिर भी एक और Blynk नियंत्रक - IoT क्लाउड तापमान और आर्द्रता नियंत्रक, ESP8266: 4 चरण
YABC - फिर भी एक और Blynk नियंत्रक - IoT क्लाउड तापमान और आर्द्रता नियंत्रक, ESP8266: हाय मेकर्स, मैंने हाल ही में घर पर मशरूम उगाना शुरू किया है, ऑयस्टर मशरूम, लेकिन मेरे पास घर पर पहले से ही 3x नियंत्रक हैं जो मेरे घर काढ़ा, पत्नी के लिए किण्वक तापमान नियंत्रण के लिए हैं। अब यह कोम्बुचा काम भी कर रहा है, और गर्मी के लिए थर्मोस्टेट के रूप में
Arduino HVAC सर्वो थर्मोस्टेट / नियंत्रक: 5 चरण (चित्रों के साथ)
Arduino HVAC सर्वो थर्मोस्टेट / कंट्रोलर: मेरे 'ग्रीन' इंस्ट्रक्शनल में आपका स्वागत है! मैं आपको यह दिखाने जा रहा हूं कि एक दीवार के माध्यम से एचवीएसी इकाई के लिए डिजिटल थर्मोस्टेट बनाने के लिए एक Arduino, दो सर्वो मोटर्स एक तापमान सेंसर और कुछ धातु (या लकड़ी) का उपयोग कैसे करें। सीबी रिचर्ड एलिस के अनुसार (एक प्रमुख वास्तविक
Arduino आधारित सीरियल सर्वो नियंत्रक: 6 चरण
Arduino आधारित सीरियल सर्वो कंट्रोलर: यह Arduino पर आधारित कई सर्वो के लिए एक साधारण सीरियल कंट्रोलर है। (मेरा पहला निर्देश योग्य भी :)) इसमें अधिकांश काम सॉफ्टवेयर को आर्डिनो के साथ बात करने और डेटा को पारित करने के लिए एक प्रोटोकॉल बनाने से आया था। च के रूप में
अपने कैमरे को "सैन्य नाइटविज़न" में बनाना, नाइटविज़न प्रभाव जोड़ना, या किसी भी कैमरे पर नाइटविज़न बनाना "मोड !!!: 3 चरण
अपने कैमरे को "सैन्य नाइटविज़न" में बनाना, नाइटविज़न प्रभाव जोड़ना, या किसी भी कैमरे पर नाइटविज़न बनाना" मोड!!!: *** यह डिजिटल दिन फोटो प्रतियोगिता में दर्ज किया गया है, कृपया मुझे वोट दें** *यदि आपको किसी सहायता की आवश्यकता है, तो कृपया ईमेल करें: [email protected] मैं अंग्रेजी, फ्रेंच, जापानी, स्पेनिश बोलता हूं, और मैं कुछ अन्य भाषाएं जानता हूं यदि आप