विषयसूची:

वायरलेस कंट्रोलर और सेंसर के साथ हैंडहेल्ड कंसोल (Arduino MEGA & UNO): 10 कदम (चित्रों के साथ)
वायरलेस कंट्रोलर और सेंसर के साथ हैंडहेल्ड कंसोल (Arduino MEGA & UNO): 10 कदम (चित्रों के साथ)

वीडियो: वायरलेस कंट्रोलर और सेंसर के साथ हैंडहेल्ड कंसोल (Arduino MEGA & UNO): 10 कदम (चित्रों के साथ)

वीडियो: वायरलेस कंट्रोलर और सेंसर के साथ हैंडहेल्ड कंसोल (Arduino MEGA & UNO): 10 कदम (चित्रों के साथ)
वीडियो: अरुडिनो मास्टरक्लास | 90 मिनट में पूर्ण प्रोग्रामिंग कार्यशाला! 2024, नवंबर
Anonim
Image
Image
वायर (टच) स्क्रीन
वायर (टच) स्क्रीन

मैंने क्या इस्तेमाल किया

- अरुडिनो मेगा

- 2x अरुडिनो यूएनओ

- एडफ्रूट 3.5 TFT 320x480 टचस्क्रीन HXD8357D

- बजर

- 4Ohm 3W स्पीकर

- 5 मिमी एलईडी रोशनी

- अल्टिमेकर 2+ प्रिंटर w/ब्लैक पीएलए फिलामेंट

- लेसरकटर डब्ल्यू / एमडीएफ लकड़ी

- ब्लैक स्प्रे पेंट (लकड़ी के लिए)

- 3x nRF24L01+ वायरलेस ट्रांसीवर

- 2x 16 मिमी बटन

- 2x प्रेशर सेंसर

- 3x 9वी बैटरी धारक

- ब्रेड बोर्ड

- 2x 0.96 '' OLED I2C स्क्रीन

- नर - मादा तार

- सोल्डरस्टेशन

- सुपर गोंद

- 2x एक-चैनल टच मॉड्यूल (लाल/नीला)

चरण 1: (टच) स्क्रीन को वायर करें

वायर (टच) स्क्रीन
वायर (टच) स्क्रीन
वायर (टच) स्क्रीन
वायर (टच) स्क्रीन

इसलिए हम इसे दो वायरलेस नियंत्रकों के साथ एक हैंडहेल्ड कंसोल बना रहे हैं।

इसलिए हमारे पास एक मुख्य इकाई होगी (एलसीडी स्क्रीन के साथ सबसे बड़ा हिस्सा)

मुख्य इकाई को Arduino MEGA के साथ चलाया जाएगा।

दो अलग नियंत्रक प्रत्येक एक Arduino UNO चलाएंगे।

बाद में हम नियंत्रक डेटा भेजने के लिए Arduinos को एक दूसरे के साथ संवाद करने के लिए कहेंगे।

इस ट्यूटोरियल की तरह अपनी मुख्य स्क्रीन यूनिट (Arduino MEGA) में 320x480 स्क्रीन को सही ढंग से वायरिंग के साथ शुरू करें। (Adafruit के पास वायरिंग और कोड के लिए एक विस्तृत विस्तृत ट्यूटोरियल है)।

ध्वनि के लिए, मैंने डिजिटल पिन और GND को अलग करने के लिए एक बजर और एक 3W 4Ohm स्पीकर लगाया।

स्वर के साथ(पिन, आवृत्ति, अवधि); आप कुछ बुनियादी मोनोफोनिक ध्वनियां बना सकते हैं।

चरण 2: पुस्तकालयों से परिचित हों

पुस्तकालयों से परिचित हों
पुस्तकालयों से परिचित हों
पुस्तकालयों से परिचित हों
पुस्तकालयों से परिचित हों

Adafruit 320x480 स्क्रीन संगत Adafruit_GFX और Adafruit_TFTLCD लाइब्रेरी का समर्थन करती है।

दस्तावेज़ीकरण पढ़ें। मुझे लगता है कि इसे वहां अच्छी तरह से समझाया गया है।

सुनिश्चित करें कि आपने Arduino IDE में सही सेटिंग्स डाली हैं:

टूल्स -> बोर्ड -> Arduino/Genuino MEGA या MEGA 2560

टूल्स -> पोर्ट -> [इसमें ''Arduino MEGA'' वाला पोर्ट]

यह विशेष स्क्रीन लाइब्रेरी कस्टम फोंट, मूल आकार और विभिन्न रंगों का समर्थन करती है।

कुछ उल्लेखनीय हो सकता है कि चिकनी एनीमेशन के लिए ताज़ा दर बहुत कम है। यदि आप स्क्रीन को हर टिक को अपडेट करना चाहते हैं, तो प्रत्येक पिक्सेल को फिर से खींचना बहुत धीमा होगा, और यह झिलमिलाहट करेगा।

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

उदाहरण के लिए, मैंने इंट्रो सीक्वेंस में किरदार के लिए स्क्रीन फ्लिकर को ब्लिंकिंग इफेक्ट के रूप में इस्तेमाल किया।

Adafruit_GFX लाइब्रेरी से मैंने मुख्य रूप से tft.fillRect(x, y, width, height, color) का उपयोग किया है; और tft.प्रिंट (पाठ); कार्य।

प्रयोग प्रमुख है।

चरण 3: एक ग्राफिकल यूजर इंटरफेस / मुख्य मेनू डिजाइन करें

ग्राफिकल यूजर इंटरफेस / मुख्य मेनू डिजाइन करें
ग्राफिकल यूजर इंटरफेस / मुख्य मेनू डिजाइन करें
ग्राफिकल यूजर इंटरफेस / मुख्य मेनू डिजाइन करें
ग्राफिकल यूजर इंटरफेस / मुख्य मेनू डिजाइन करें

पुस्तकालय के भीतर ज्ञान प्राप्त करने और इसकी सीमाओं/शक्तियों को जानने के बाद, आप एक मुख्य मेनू स्क्रीन डिजाइन करना शुरू कर सकते हैं।

फिर से, आयतों के बारे में सोचो। कम से कम मैंने तो यही किया।

यहाँ UI के लिए मेरा कोड है

pastebin.com/ubggvcqK

आप एनालॉग पिन के माध्यम से अपने एडफ्रूट टचस्क्रीन पर ''लाइट'' पिन को नियंत्रित करने के लिए स्क्रीन की चमक के लिए स्लाइडर बना सकते हैं।

चरण 4: दो नियंत्रकों को तार दें

दो नियंत्रकों को तार दें
दो नियंत्रकों को तार दें
दो नियंत्रकों को तार दें
दो नियंत्रकों को तार दें
दो नियंत्रकों को तार दें
दो नियंत्रकों को तार दें

नियंत्रक भाग के लिए यह वास्तव में आप पर निर्भर करता है कि आप किस प्रकार के सेंसर का उपयोग करना चाहते हैं, यह इस बात पर निर्भर करता है कि आप किस खेल को बनाने की योजना बना रहे हैं।

ठीक है, तो नियंत्रकों के लिए मैंने उपयोग करने का निर्णय लिया:

- एक दबाव सेंसर

- एक OLED स्क्रीन

- एक-चैनल टच मॉड्यूल जो चालू या बंद होता है

- जेस्चर सेंसर (RobotDyn APDS9960)

- nRFL01+ ट्रांसीवर (वायरलेस संचार के लिए)

- एक पुश बटन

नोट: जेस्चर सेंसर और OLED दोनों SCL/SDA कनेक्शन का उपयोग करते हैं। मुझे यह महसूस करने में थोड़ा समय लगा कि Arduino में केवल दो हैं: A4 और A5। लेकिन आप इन समानांतरों को ब्रेडबोर्ड पर बस एक साथ तार कर सकते हैं और यह ठीक काम करेगा।

चरण 5: वायरलेस कनेक्शन को वायर करना प्रारंभ करें

वायरलेस कनेक्शन को वायर करना शुरू करें
वायरलेस कनेक्शन को वायर करना शुरू करें
वायरलेस कनेक्शन को वायर करना शुरू करें
वायरलेस कनेक्शन को वायर करना शुरू करें
वायरलेस कनेक्शन को वायर करना शुरू करें
वायरलेस कनेक्शन को वायर करना शुरू करें

nRF24L01+ मॉड्यूल की वायरिंग में मुझे कुछ समय लगा, इसे काम करने के लिए।

स्क्रीन पर सही सेंसर डेटा ट्रांसमिट करने में सक्षम नहीं होने के बाद, मुझे TMRh20 RF24 लाइब्रेरी का सहारा लेना पड़ा।

एकाधिक Arduinos एक दूसरे के साथ संवाद करने के लिए, हमें यह सुनिश्चित करना होगा कि कम से कम एक UNO संचालित है, साथ ही MEGA भी।

यूएनओ से प्राप्त परिणामों को प्रिंट करने के लिए मेगा के सीरियल कंसोल का उपयोग करें, और देखें कि यह काम करता है या नहीं।

यहाँ कोड है

यहाँ पुस्तकालय है

चरण 6: जंगली जाओ! विभिन्न चीजों को आजमाएं

जंगली बनो! विभिन्न चीजों को आजमाएं
जंगली बनो! विभिन्न चीजों को आजमाएं

मेरी विकास प्रक्रिया का एक महत्वपूर्ण हिस्सा बस बहुत सी चीजों को आजमाना था!

आप किस प्रकार के बटनों का उपयोग करना चाहते हैं?

आप अपने नियंत्रकों में क्या डालते हैं?

वेबसाइटों पर चारों ओर देखें, आपको सामान्य 'ए/बी' बटन या एनालॉग जॉयस्टिक के अलावा बहुत सारे घटक मिलेंगे। इसे आज़माने के लिए प्रेरित और प्रेरित हों!

एक बार जब आप एक स्पष्ट और काम करने वाले विचार प्राप्त कर लेते हैं कि आप नियंत्रकों में क्या रखना चाहते हैं, तो घटकों को तार दें।

वे कैसे काम करते हैं, इस पर निर्भर करते हुए, आपको डिजिटल इनपुट या एनालॉग इनपुट का उपयोग करने की आवश्यकता होगी।

नोट: कुछ घटकों को सही ढंग से काम करने के लिए SCL / SDA पिन की आवश्यकता हो सकती है। और अगर आपके पास दो या दो से अधिक सेंसर हैं, तो दोनों को एक जैसा चाहिए, आपको शायद मेरी तरह पैनिक अटैक होगा। लेकिन आपको चिंता करने की जरूरत नहीं है

आप दोनों सेंसर के एसडीए और एससीएल पिन को एक दूसरे के साथ श्रृंखला में रख सकते हैं, ए 4 और ए 5 में जा रहे हैं और यह काम करेगा।

चरण 7: डिजाइन

डिज़ाइन
डिज़ाइन
डिज़ाइन
डिज़ाइन
डिज़ाइन
डिज़ाइन

एक बार जब आप सेंसर के लिए एक अच्छा विचार प्राप्त कर लेते हैं, जिसका आप उपयोग करना चाहते हैं, तो अपनी पसंद के डिज़ाइन के लिए कुछ विचारों को स्केच करें।

उसके बाद, ब्लेंडर, माया, सिनेमा 4D जैसे कुछ मॉडलिंग कार्यक्रमों में शामिल हों।

मैंने एक (रफ) मॉडल बनाने के लिए ब्लेंडर का इस्तेमाल किया।

ब्लेंडर में स्पष्ट माप प्राप्त करने के लिए, आप ग्रिड आकार की इकाई को मिलीमीटर में बदल सकते हैं।

एक मॉडल बनाने के बाद, सुनिश्चित करें कि आपके पास कोई दोहरा शिखर नहीं है और आपने अपने मानदंडों की पुनर्गणना की है।

यदि आप मेरे जैसे 3D प्रिंटर का उपयोग करना चाहते हैं, तो फ़ाइल को.stl के रूप में निर्यात करें।

नोट: ब्लेंडर में, यदि आप अगले चरण में क्यूरा में सटीक आकार चाहते हैं, तो आपको निर्यात पैमाने को 0.1 पर सेट करना होगा।

चरण 8: संलग्नक को 3डी प्रिंट करना

संलग्नक की 3डी प्रिंटिंग
संलग्नक की 3डी प्रिंटिंग
संलग्नक की 3डी प्रिंटिंग
संलग्नक की 3डी प्रिंटिंग
संलग्नक की 3डी प्रिंटिंग
संलग्नक की 3डी प्रिंटिंग

इस मॉडल को अल्टिमेकर 2+ प्रिंटर पर 2.85 मिमी ब्लैक पीएलए फिलामेंट के साथ मुद्रित किया गया था।

डाउनलोड करें

अपने. STL को Cura में लोड करें, और यह आपको दिखाएगा कि इसमें कितना समय लगेगा।

हैंडहेल्ड केस के लिए आकार के आधार पर इसे प्रिंट होने में 10 घंटे तक का समय लग सकता है।

हालांकि, कम-विस्तार वाले मॉडल के लिए आप प्रक्रिया को तेज कर सकते हैं, जो मैंने किया था।

यहाँ मेरी सेटिंग्स हैं:

परत की ऊँचाई: 0.2

दीवार की मोटाई: 0.8

ऊपर / नीचे मोटाई: 0.8

नोजल: 0.4

तापमान: 60 डिग्री सेल्सियस

प्रवाह: १००%

ब्रिम: कहीं भी बिल्डप्लेट को छूना

इन्फिल घनत्व: 20%

क्रमिक: 0

नोजल तापमान: २२० सी

प्रिंट स्पीड: 120%

चरण 9: टांका लगाना और अंतिम रूप देना

टांका लगाना और अंतिम रूप देना
टांका लगाना और अंतिम रूप देना
टांका लगाना और अंतिम रूप देना
टांका लगाना और अंतिम रूप देना
टांका लगाना और अंतिम रूप देना
टांका लगाना और अंतिम रूप देना

आप बहुत आगे आ गए हैं।

अंतिम चरण एक परफ़ॉर्म / वर्बार्ड प्राप्त करना है, और अपने ब्रेडबोर्ड कनेक्शन को एक प्रोटोटाइप बोर्ड के एक हिस्से में अनुवाद करना है।

सुनिश्चित करें कि इलेक्ट्रॉनिक्स मुद्रित बाड़ों के अंदर फिट हैं, और शायद कुछ लकड़ी के एमडीएफ को उन हिस्सों को बनाने के लिए काट लें जहां बटन/नियंत्रक इनपुट चिपकते हैं।

मैंने इसके लिए लेज़रकटर का इस्तेमाल किया।

सबसे महत्वपूर्ण बात यह है कि चारों ओर पेंच करना, कुछ ऐसी चीजें आज़माएं जो आपने कभी नहीं की हैं, और मज़े करें!

आशा है कि यह ट्यूटोरियल पर्याप्त रूप से स्पष्ट था … यह एक बहुत ही कठिन परियोजना थी, जिसका एक अच्छा परिणाम मिला!:)

चरण 10: पूर्वावलोकन

सिफारिश की: