विषयसूची:

एलईडी मैट्रिक्स, अरुडिनो और जॉयस्टिक के साथ पोंग टेनिस: 5 कदम (चित्रों के साथ)
एलईडी मैट्रिक्स, अरुडिनो और जॉयस्टिक के साथ पोंग टेनिस: 5 कदम (चित्रों के साथ)

वीडियो: एलईडी मैट्रिक्स, अरुडिनो और जॉयस्टिक के साथ पोंग टेनिस: 5 कदम (चित्रों के साथ)

वीडियो: एलईडी मैट्रिक्स, अरुडिनो और जॉयस्टिक के साथ पोंग टेनिस: 5 कदम (चित्रों के साथ)
वीडियो: How to Use Funduino Joystick Shield with Arduino UNO🔥 | Joystick Shield Testing 2024, नवंबर
Anonim
एलईडी मैट्रिक्स, अरुडिनो और जॉयस्टिक के साथ पोंग टेनिस
एलईडी मैट्रिक्स, अरुडिनो और जॉयस्टिक के साथ पोंग टेनिस

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

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

चरण 1: भाग

पोंग गेम बनाने के लिए आपको चाहिए;

  • 1x एक Arduino (कोई भी प्रकार काम करेगा)
  • 4x MAX7219 8x8 एलईडी मैट्रिसेस
  • 2x जॉयस्टिक
  • 1x पीजो बजर (वैकल्पिक)
  • 15x महिला-महिला जम्पर तार (5 के 3x समूह)
  • 15x पुरुष-महिला जम्पर तार (5 के 3x समूह)
  • 18x पुरुष-पुरुष जम्पर तार
  • 1x ब्रेडबोर्ड
  • 1x 220Ω प्रतिरोधी

एक Arduino Uno या Nano बोर्ड के बजाय आप एक ब्रेडबोर्ड आधारित Arduino का उपयोग कर सकते हैं;

  • 1x एटीमेगा३२८पी २८पिन आईसी
  • 1x 16kHz क्रिस्टल ऑसीलेटर
  • 2x 22pF सिरेमिक कैपेसिटर
  • 1x यूएसबी एफटीडीआई यूएआरटी कनवर्टर
  • 1x 100uF इलेक्ट्रोलाइटिक संधारित्र
  • 1x माइक्रो यूएसबी ब्रेकआउट (वैकल्पिक)

उपकरण;

  • Arduino IDE के साथ पीसी (और LedControl लाइब्रेरी)
  • आपके Arduino के लिए प्रासंगिक USB केबल
  • गेम को आपके कंप्यूटर से दूर करने के लिए पावर बैंक

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

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

वायरिंग बहुत सरल है क्योंकि आपको मैट्रिसेस और जॉयस्टिक्स के हेडर को अरुडिनो से जोड़ने के लिए जम्पर तारों की आवश्यकता होती है। एकमात्र जटिलता शक्ति है क्योंकि Arduino Uno में केवल 3 GND कनेक्शन और एक 5v कनेक्शन है। यह वह जगह है जहाँ ब्रेडबोर्ड आता है और सभी घटकों के लिए बिजली वितरण रेल के रूप में कार्य करता है, यदि आप नैनो का उपयोग कर रहे हैं तो ब्रेडबोर्ड उसी उद्देश्य की पूर्ति करेगा और साथ ही आपको सब कुछ प्लग इन करने की अनुमति देगा।

तारों के लिए इन कनेक्शनों का पालन करें।

  • वाम जॉयस्टिक - GND और 5v उनके संबंधित पावर रेल के लिए। SW - पिन 9, VRx - A0, VRy - A1।
  • राइट जॉयस्टिक - GND और 5v उनके संबंधित पावर रेल के लिए। SW - पिन 8, VRx - A2, VRy - A3।
  • सबसे दाहिनी एलईडी मैट्रिक्स - जीएनडी और 5 वी उनके संबंधित पावर रेल के लिए। डीआईएन - 13, सीएस - 11, सीएलके - 12. (पंक्ति 25 के अनुसार)
  • अन्य सभी एलईडी मैट्रिक्स को दाएं से बाएं जाने वाले पहले के आउटपुट से डेज़ी जंजीर से बांधा जा सकता है ताकि कोड ठीक से काम करे।
  • वैकल्पिक बजर - एनोड (+) 220Ω के माध्यम से 10 पिन करने के लिए वर्तमान सीमित रोकनेवाला, कैथोड (-) - जीएनडी।

चरण 3: वैकल्पिक वायरिंग

वैकल्पिक वायरिंग
वैकल्पिक वायरिंग
वैकल्पिक वायरिंग
वैकल्पिक वायरिंग
वैकल्पिक वायरिंग
वैकल्पिक वायरिंग

अंतरिक्ष को बचाने के लिए इसे एक Arduino UNO के साथ वायरिंग करने के बाद मैंने 16Mhz क्रिस्टल ऑसिलेटर और प्रत्येक तरफ से जमीन पर 22pF कैपेसिटर की एक जोड़ी के साथ ब्रेडबोर्ड पर UNO से Arduino IC लगाने का फैसला किया। मुझे लगता है कि यह एक सार्थक संशोधन था क्योंकि यह परियोजना को साफ-सुथरा और अधिक समाप्त दिखता है, हालांकि आपको प्रोग्राम को अपडेट करने के लिए एक यूएसबी एफटीडीआई प्रोग्रामर का उपयोग करना होगा।

चरण 4: कोड + स्पष्टीकरण

Arduino पर कोड अपलोड करने के लिए यहाँ GitHub से LedControl लाइब्रेरी डाउनलोड करें, github.com/wayoda/LedControl और ज़िप फ़ाइल जोड़ें या इसे IDE के भीतर लाइब्रेरी मैनेजर के माध्यम से जोड़ें। उसके बाद संलग्न स्केच खोलें, बोर्ड में अपने Arduino का चयन करें और टूल के तहत पोर्ट सेटिंग्स और इसे arduino पर अपलोड करें।

व्याख्या

पंक्ति 1: पुस्तकालय जोड़ता है

पंक्ति 5-23: सभी चर, स्थिरांक और पिन नंबर सेट करता है।

लाइन 25: एलईडी मार्टिक्स को सेट करता है और कंट्रोल पिन और कितने डिस्प्ले सेट करता है।

पंक्ति 27: रीसेट फ़ंक्शन सेट करता है।

लाइन 30-35: सभी डिस्प्ले को एक साथ चालू/बंद करने के लिए शटडाउन फ़ंक्शन।

लाइन 38-43: सभी डिस्प्ले की ब्राइटनेस को एक साथ सेट करने के लिए सेटइंटेंसिटी फंक्शन।

लाइन 46-51: सभी डिस्प्ले को एक साथ वाइप करने के लिए ClearAll फ़ंक्शन।

लाइन 53-64: जॉयस्टिक जॉयस्टिक की स्थिति प्राप्त करने के लिए कार्य करता है, उन्हें गेंद को मारने के लिए 7 संभावित बल्ले की स्थिति में मैप करें और फिर बल्ले को नई स्थिति में ले जाएं।

लाइन ६७-४३५: वह फ़ंक्शन जो गेंद को निर्दिष्ट ऊंचाई और गति पर बाएं खिलाड़ी की ओर ले जाता है, यह जांचता है कि क्या खिलाड़ी इसे हिट करता है और या तो आगे बढ़ता है और क्रैश स्थिति को सही पर सेट करता है या गेंद को वापस उछालता है, स्कोर में 1 जोड़ता है और गति बढ़ाता है।

लाइन ४३८-८११: वह फ़ंक्शन जो गेंद को निर्दिष्ट ऊंचाई और गति पर सही खिलाड़ी की ओर ले जाता है, यह जांचता है कि क्या खिलाड़ी ने इसे मारा और या तो आगे बढ़ता है और क्रैश स्थिति को सही पर सेट करता है या गेंद को वापस उछालता है, स्कोर में 1 जोड़ता है और गति बढ़ाता है।

लाइन ८१३-८२३: निर्दिष्ट डिस्प्ले पर स्माइली फेस, टिक, क्रॉस या प्रश्न चिह्न प्रदर्शित करने का कार्य (बाईं ओर ० दाईं ओर ३)।

लाइन ८६१-९७९: निर्दिष्ट डिस्प्ले पर संख्या ०-९ प्रदर्शित करने के लिए कार्य।

लाइन 981-1047: स्क्रीन के प्रत्येक खिलाड़ी के लिए स्कोर प्रदर्शित करने का कार्य।

लाइन 1049-1064: खिलाड़ी तैयार है या नहीं यह जांचने के लिए कार्य।

लाइन १०६६-१०७६: उस कोड के लिए कोड का सेटअप सेक्शन जो प्रोग्राम के शुरू होने पर एक बार चलाया जाता है।

लाइन १०७८-११३६: गेम लॉजिक के लिए मुख्य लूप खंड जहां सभी कार्यों का उपयोग किया जाता है और जहां कौन जीतता है यह तय किया जाता है और फिर यह स्कोर दिखाने के 5 सेकंड के बाद कार्यक्रम को पुनरारंभ करता है।

चरण 5: पढ़ने के लिए धन्यवाद

पढ़ने के लिए धन्यवाद
पढ़ने के लिए धन्यवाद

इस निर्देश को पढ़ने के लिए धन्यवाद, यह एक मजेदार लॉकडाउन प्रोजेक्ट था जो कुछ दिनों में एक साथ आया क्योंकि मैंने Arduino प्रोग्रामिंग के बारे में अधिक सीखा। अगर आपको यह पसंद आया तो Arduino प्रतियोगिता में इसके लिए वोट करने के लिए स्वतंत्र महसूस करें।

सिफारिश की: