विषयसूची:

डॉट जंप गेम (Arduino का उपयोग किए बिना): 6 कदम
डॉट जंप गेम (Arduino का उपयोग किए बिना): 6 कदम

वीडियो: डॉट जंप गेम (Arduino का उपयोग किए बिना): 6 कदम

वीडियो: डॉट जंप गेम (Arduino का उपयोग किए बिना): 6 कदम
वीडियो: अरुडिनो मास्टरक्लास | 90 मिनट में पूर्ण प्रोग्रामिंग कार्यशाला! 2024, नवंबर
Anonim
डॉट जंप गेम (Arduino का उपयोग किए बिना)
डॉट जंप गेम (Arduino का उपयोग किए बिना)

अवलोकन

नमस्ते! मैं शिवांश हूं, आईआईआईटी-हैदराबाद का छात्र हूं। मैं यहां अपने पहले निर्देश के साथ हूं जो Google क्रोम के डायनासोर जंप गेम से प्रेरित गेम है। खेल सरल है: एक अंक हासिल करने के लिए आने वाली बाधाओं पर कूदें। यदि आप टकराते हैं, तो आप ढीले हो जाते हैं और स्कोर रीसेट हो जाता है।

इस परियोजना की मुख्य विशेषता यह है कि इसमें Arduino या किसी अन्य माइक्रोकंट्रोलर का उपयोग नहीं होता है। यह विशुद्ध रूप से बुनियादी विद्युत घटकों से प्राप्त होता है और इसमें तर्क आरेखों आदि की सहायता से परिमित राज्य मशीनों (FSMs) का कार्यान्वयन शामिल होता है।

इच्छुक? आएँ शुरू करें।

पूर्वापेक्षाएँ:

  • रेसिस्टर्स, कैपेसिटर, इंटीग्रेटेड सर्किट (आईसी) जैसे विद्युत घटकों के बारे में बुनियादी जानकारी।
  • लॉजिक गेट्स का बुनियादी ज्ञान (AND, OR, NOT, आदि)
  • फ्लिप-फ्लॉप, काउंटर, मल्टीप्लेक्सर आदि के काम करने का ज्ञान।

नोट: उपरोक्त सूचीबद्ध पूर्वापेक्षाएँ परियोजना के संपूर्ण कार्य को समझने के लिए हैं। उसी का गहन ज्ञान नहीं होने पर भी निर्देशयोग्य चरणों का पालन करते हुए परियोजना का निर्माण किया जा सकता है।

चरण 1: वर्किंग मॉडल विकसित करना

कार्य मॉडल का विकास
कार्य मॉडल का विकास
कार्य मॉडल का विकास
कार्य मॉडल का विकास

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

भाग-1: बाधा उत्पन्न करना

सबसे पहले, हमें डॉट को पार करने के लिए यादृच्छिक बाधाएं उत्पन्न करने की आवश्यकता है। बाधाएं एक डॉट पल्स के रूप में भी होंगी जो एलईडी एरे के एक छोर से दूसरे छोर तक जाती हैं।

बाधाओं को उत्पन्न करने के लिए, हम दो टाइमर सर्किट (सर्किट आरेख संलग्न) का उपयोग करते हैं, एक उच्च आवृत्ति (एचएफ टाइमर) के साथ और दूसरा कम आवृत्ति (एलएफ टाइमर) के साथ। 'यादृच्छिकता' भाग एचएफ टाइमर द्वारा नियंत्रित किया जाता है जिसका आउटपुट एलएफ टाइमर (जिसे सीएलके इनपुट के रूप में लिया जाता है) के हर बढ़ते किनारे पर देखा जाता है। बाधा उत्पन्न करने का निर्देश एलएफ टाइमर के हर बढ़ते किनारे पर एचएफ टाइमर की स्थिति है (1 -> बाधा उत्पन्न करें | 0 -> बाधा उत्पन्न न करें)। यादृच्छिक बाधा पीढ़ी सुनिश्चित करने के लिए एचएफ टाइमर प्रत्येक 'जंप' पर रीसेट है। एचएफ टाइमर का आउटपुट डी-इनपुट के रूप में डी फ्लिप फ्लॉप (अगले चक्र के लिए निर्देश संग्रहीत करने के लिए) के रूप में दिया जाता है, जिसमें एलएफ टाइमर आउटपुट के रूप में सीएलके इनपुट होता है।

एक बार बाधा उत्पन्न करने के लिए द्विआधारी निर्देश समाप्त हो जाने के बाद, हमें एलईडी ऐरे पर 'बाधा पल्स' उत्पन्न करने की आवश्यकता होती है। हम ऐसा 4-बिट काउंटर की मदद से करते हैं जिसका आउटपुट 4x16 डिमल्टीप्लेक्सर (डीईएमयूएक्स) को दिया जाता है। DeMUX का आउटपुट 16 संबंधित LED को चमकीला बना देगा।

भाग -2: कूद

JUMP एक्शन के लिए, हम पुश बटन इनपुट को निर्देश के रूप में लेंगे। एक बार निर्देश दिए जाने के बाद, इन-लाइन ऑब्जेक्ट एलईडी चमकना बंद कर देता है और उसके ऊपर एक और एलईडी चमकती है, जो एक छलांग का संकेत देती है।

भाग-3: परिणाम

परिणाम इस प्रकार होगा: यदि वस्तु दुर्घटनाग्रस्त हो जाती है, तो खेल को रीसेट करें; अन्यथा, स्कोर बढ़ाएँ।

टक्कर को बाधा की जमीनी स्थिति के लिए बाधा संकेत और वस्तु संकेत दोनों के ANDing के रूप में व्यक्त किया जा सकता है। यदि कोई टक्कर नहीं होती है, तो प्वाइंट काउंटर बढ़ा दिया जाता है जो कि 7-सेगमेंट डिस्प्ले की एक जोड़ी पर प्रदर्शित होता है।

चरण 2: घटकों को इकट्ठा करना

आवश्यक घटक इस प्रकार हैं:

  • पीसीबी एक्स 1, ब्रेडबोर्ड एक्स 3
  • एल ई डी: हरा (31), लाल (1), द्विरंग: लाल + हरा (1)
  • पुश बटन x 2
  • 7-सेगमेंट डिस्प्ले x 2
  • आईसी ५५५ x ३ [टाइमर सर्किट के लिए]
  • आईसी 7474 x 1 (डी फ्लिपफ्लॉप)
  • आईसी ७४९० x २ (दशक काउंटर) [स्कोर प्रदर्शित करने के लिए]
  • आईसी ७४४७ x २ (बीसीडी से ७-सेगमेंट डिकोडर) [स्कोर प्रदर्शित करने के लिए]
  • आईसी 4029 x 1 (4-बिट काउंटर) [बाधा प्रदर्शन के लिए]
  • आईसी ७४१५४ x १ (डीईएमयूएक्स) [बाधा प्रदर्शन के लिए]
  • आईसी 7400 x 3 (गेट नहीं)
  • आईसी ७४०४ x १ (नंद गेट)
  • आईसी ७४०८ x १ (और गेट)
  • आईसी सॉकेट
  • वोल्टेज स्रोत (5V)

उपकरण की आवश्यकता:

  • सोल्डरिंग आयरन
  • तार काटने वाला

चरण 3: बाधा उत्पन्न करना: भाग-ए

बाधा उत्पन्न करना: भाग-ए
बाधा उत्पन्न करना: भाग-ए
बाधा उत्पन्न करना: भाग-ए
बाधा उत्पन्न करना: भाग-ए

सबसे पहले, हमें बाधा उत्पन्न करने वाले सिग्नल (उच्च/निम्न) उत्पन्न करने के लिए टाइमर सर्किट स्थापित करने की आवश्यकता है।

सर्किट को पहले चर्चा किए गए सिद्धांत के अनुसार स्थापित किया जाएगा। उसी के लिए सर्किट आरेख ऊपर संलग्न है। सर्किट को ब्रेडबोर्ड पर लागू किया जाता है (हालांकि इसे पीसीबी पर भी लागू किया जा सकता है) निम्नानुसार है:

  • दो ५५५ आईसी और डी फ्लिप फ्लॉप (आईसी ७४७४) को ब्रेडबोर्ड के डिवाइडर के बीच में कुछ खाली जगह (४-५ कॉलम) के साथ रखें।
  • ब्रेडबोर्ड की शीर्ष पंक्ति को वोल्टेज स्रोत के धनात्मक टर्मिनल से और निचली पंक्ति को ऋणात्मक टर्मिनल से कनेक्ट करें।
  • सर्किट आरेख के बाद आगे कनेक्शन बनाएं। आवश्यक कनेक्शन के बाद, सर्किट ऊपर संलग्न चित्र के समान दिखाई देगा।

नोट: प्रतिरोधों R1 और R2 और समाई C के मानों की गणना निम्नलिखित समीकरणों का उपयोग करके की जाती है:

टी = ०.६९४ एक्स (आर१ + २*आर२) * सी

जहाँ T आवश्यक समयावधि है।

डी = ०.६९४ एक्स [(आर१ + आर२)/टी] *१००

जहां D ड्यूटी साइकिल है यानी ON टाइम और टोटल टाइम का अनुपात।

इस प्रोजेक्ट में, हाई-फ़्रीक्वेंसी टाइमर के लिए, T = 0.5 सेकंड और लो-फ़्रीक्वेंसी टाइमर के लिए, T = 2 सेकंड।

चरण 4: बाधा उत्पन्न करना: भाग-बी

बाधा उत्पन्न करना: भाग-बी
बाधा उत्पन्न करना: भाग-बी
बाधा उत्पन्न करना: भाग-बी
बाधा उत्पन्न करना: भाग-बी
बाधा उत्पन्न करना: भाग-बी
बाधा उत्पन्न करना: भाग-बी

अब जब हम जानते हैं कि बाधा कब उत्पन्न करनी है, तो अब हमें इसे प्रदर्शित करने की आवश्यकता है। हम एक 4-बिट काउंटर, एक डेमल्टीप्लेक्सर, एक टाइमर और 16 एलईडी की एक सरणी का उपयोग करेंगे। 16 क्यों? ऐसा इसलिए है क्योंकि हम डेमल्टीप्लेक्सर का उपयोग करके काउंटर के 4-बिट आउटपुट को 16 एल ई डी में मैप करेंगे। इसका मतलब है कि काउंटर 0 से 15 तक गिना जाएगा और डीमल्टीप्लेक्सर उस इंडेक्स के साथ एलईडी पर स्विच कर रहा होगा।

टाइमर की भूमिका गिनती की गति, यानी बाधा आंदोलन की गति को नियंत्रित करना है। बाधा टाइमर की एक समय अवधि में एक स्थिति को स्थानांतरित कर देगी। आप अलग-अलग गति प्राप्त करने के लिए पिछले चरण में समीकरणों का उपयोग करके R1, R2 और C के विभिन्न मानों के साथ खेल सकते हैं।

एलईडी मैट्रिक्स के लिए, एक आम जमीन के साथ एक रैखिक फैशन में 16 एल ई डी मिलाप। प्रत्येक एलईडी का धनात्मक टर्मिनल डीईएमयूएक्स से जुड़ा होगा (नॉट गेट का उपयोग करने के बाद, क्योंकि डीईएमयूएक्स कम आउटपुट देता है)।

उसी के लिए सर्किट आरेख ऊपर संलग्न है।

चरण 5: कूद और परिणाम

कूद और परिणाम
कूद और परिणाम
कूद और परिणाम
कूद और परिणाम
कूद और परिणाम
कूद और परिणाम

अगली बात जंप एक्शन है। एक छलांग प्रदर्शित करने के लिए, बस मैट्रिक्स के ऊपर अलग-अलग रंग की एक एलईडी लगाएं, इसे जमीन पर रखें और इसके + वी टर्मिनल को एक बटन से जोड़ दें। पुश बटन के दूसरे सिरे को वोल्टेज स्रोत से जोड़ दें।

इसके अलावा, एक और पुश बटन लें, जो पिछले एक के बगल में रखा गया हो और इसके एक टर्मिनल को +5V से जोड़ दें। दूसरा टर्मिनल NAND गेट (IC 7404) पर जाता है, NAND गेट के अन्य इनपुट के साथ JUMP LED (यानी ऑब्जेक्ट LED) के ठीक नीचे LED के इनपुट के रूप में। NAND गेट का आउटपुट स्कोर काउंटर के RESET (दोनों BCD काउंटरों का पिन 2 और 3) को जाता है। इसके साथ हम यह करते हैं कि यदि OBJECT LED (बेस पोजीशन में) सिग्नल और OBSTACLE सिग्नल दोनों एक ही समय में दिए गए हैं, यानी ऑब्जेक्ट और बाधा टकरा गई है तो हम स्कोर को रीसेट कर देते हैं।

यह सुनिश्चित करने के लिए कुछ व्यवस्था करें कि दोनों पुश बटन एक साथ दबाए गए हैं। आप एक सिक्के का उपयोग कर सकते हैं और उसमें दोनों बटन चिपका सकते हैं।

स्कोर काउंटर स्थापित करने के लिए, ऊपर संलग्न सर्किट आरेख का पालन करें (तस्वीर स्रोत: www.iamtechnical.com)।

नोट: बाधा से टकराने की स्थिति में स्कोर को रीसेट करने के लिए पिन 2 और 3 को NAND गेट के आउटपुट से कनेक्ट करें।

चरण 6: हैप्पी प्लेइंग

हैप्पी प्लेइंग!
हैप्पी प्लेइंग!
हैप्पी प्लेइंग!
हैप्पी प्लेइंग!
हैप्पी प्लेइंग!
हैप्पी प्लेइंग!

बस, इतना ही। आप अपनी परियोजना के साथ कर रहे हैं। आप इसमें कुछ फिनिशिंग मिला सकते हैं ताकि यह अच्छा लगे। आराम ठीक है।

का आनंद लें..!!

सिफारिश की: