मोबाइल फोन की शुरुआत से ही स्नेक गेम बहुत लोकप्रिय रहा है। प्रारंभ में यह ब्लैक एंड व्हाइट सेल फोन में आया था, और जल्द ही बहुत प्रसिद्ध हो गया। फिर सेलफोन की उन्नति के साथ, इस खेल में भी बहुत बदलाव आया है और अब इस खेल के कई ग्राफिकल और रंगीन संस्करण उपलब्ध हैं।
इलेक्ट्रॉनिक्स हॉबीस्ट और छात्रों के लिए स्नेक गेम बहुत लोकप्रिय DIY प्रोजेक्ट बन गया है । तो आज हम उसी समय को सरल रखते हुए, अपनी सभी बुनियादी क्रियाओं के साथ, Arduino Snake Game को प्रदर्शित करने जा रहे हैं ।
प्रयुक्त घटक:
- Arduino UNO
- 8x8 एलईडी डॉट मैट्रिक्स डिस्प्ले
- शिफ्ट रजिस्टर 74HC595
- 16x2 एलसीडी
- पॉट 1K
- पुश बटन
- तारों को जोड़ना
- ब्रेड बोर्ड
- बिजली की आपूर्ति
कार्य स्पष्टीकरण:
यह निर्माण करने के लिए थोड़ा जटिल खेल है। लेकिन इस ट्यूटोरियल में, हमने आपके लिए इसे सरल बना दिया है। इस परियोजना को बनाने के लिए, हमने सांप और उसके भोजन डॉट को प्रदर्शित करने के लिए 8x8 लाल रंग डॉट मैट्रिक्स डिस्प्ले का उपयोग किया है, अंक या स्कोर प्रदर्शित करने के लिए एक एलसीडी, निर्देश देने के लिए 5 पुश बटन और गेम शुरू करने और अंत में नियंत्रित करने के लिए एक Arduino UNO पूरी प्रक्रिया। अपनी मूल छवि के साथ 8x8 एलईडी डॉट मैट्रिक्स डिस्प्ले का पिन आरेख नीचे दिया गया है:
जब हम सर्किट को पावर करते हैं, तो पहले हम एक स्वागत संदेश और फिर एलसीडी पर एक "प्रेस स्टार्ट टू प्ले" संकेत दिखाते हैं। इसके बाद, एलसीडी स्कोर को शून्य के रूप में दिखाता है और डॉट मैट्रिक्स डिस्प्ले सांप के रूप में दो डॉट्स और भोजन के रूप में एकल डॉट दिखाता है।
अब उपयोगकर्ता को गेम शुरू करने के लिए मध्य बटन दबाने की जरूरत है और सांप डिफ़ॉल्ट रूप से ऊपर की दिशा में बढ़ना शुरू कर देता है। फिर उपयोगकर्ता को मध्य बटन के चारों ओर 'दिशा कुंजी' दबाकर सांप को दिशा देने की आवश्यकता होती है। यहां हमने पाँच कुंजी (पुश बटन) का उपयोग किया है, अर्थात् वाम कुंजी, राइट कुंजी, अप की, डाउन कुंजी और स्टार्ट कुंजी। जब भी सांप भोजन डॉट पर पहुंचता है या भोजन खाता है, तो हर बार स्कोर में 5 अंकों की वृद्धि होती है और सांप की लंबाई हर बार एक बिंदु (एलईडी) से बढ़ जाती है, सांप की गति भी पहले से तेज हो जाती है। और जब भी सांप किसी भी दीवार पर टकराएगा या एलईडी मैट्रिक्स के अंत में पहुंच जाएगा, तो यह खेल ("गेम ओवर") को समाप्त कर देगा। फिर उपयोगकर्ता को स्टार्ट की दबाकर गेम को फिर से शुरू करने की आवश्यकता है।
सर्किट स्पष्टीकरण:
इस स्नेक गेम प्रोजेक्ट का सर्किट थोड़ा जटिल है। यहां हमने शिफ्ट रजिस्टर 74HC595 का उपयोग करके डॉट मैट्रिक्स डिस्प्ले कनेक्ट किया है । यहां दो शिफ्ट रजिस्टरों का उपयोग किया जाता है, एक कॉलम चलाने के लिए और दूसरा पंक्तियों को चलाने के लिए। दोनों रजिस्टर, कॉलम शिफ्ट रजिस्टर और रो शिफ्ट रजिस्टर (SH, ST) के नियंत्रण पिन ,सीधे Arduino के पिन नंबर 14 और 16 से जुड़े हुए हैं। और कॉलम शिफ्ट रजिस्टर और पंक्ति शिफ्ट रजिस्टर के डीएस पिन सीधे Arduino के पिन नंबर 15 और 17 से जुड़े होते हैं। गेम शुरू करने के लिए स्टार्ट बटन पिन नंबर 3, लेफ्ट दिशा बटन पिन 4 पर, पिन 6 पर राइट दिशा बटन, पिन 2 पर दिशा बटन और पिन 5 पर डाउन दिशा बटन पर जुड़ा हुआ है। एक एलसीडी हमारे हार्डवेयर में भी जुड़ा हुआ है शो स्कोर। RS और EN पिन सीधे 13 और 12. RW पिन से सीधे जुड़े होते हैं। और डेटा पिन d4-d7, Arduino के पिन 11, 10, 9, 8 से जुड़े हैं। बाकी कनेक्शन सर्किट आरेख में दिखाए जाते हैं।
प्रोग्रामिंग स्पष्टीकरण:
इस Arduino साँप गेम कोड को लिखने के लिए, सबसे पहले हम हेडर फ़ाइलों को शामिल करते हैं और एलसीडी के लिए पिन को परिभाषित करते हैं। और फिर शिफ्ट रजिस्टर के लिए दिशा बटन और डेटा पिन के लिए कुछ पिन परिभाषित करें।
#शामिल
फिर हम उन सभी चीजों को इनिशियलाइज़ करते हैं जो हमने प्रोग्राम में इस्तेमाल की हैं। में सेटअप समारोह हम एलसीडी प्रारंभ,, इनपुट आउटपुट पिन को दिशा देने पुल-अप बिट और एलसीडी पर स्वागत संदेश दिखा।
शून्य सेटअप () {lcd.begin (16,2); pinMode (ds_col, OUTPUT); पिनमोड (sh_col, OUTPUT); पिनमोड (st_col, OUTPUT); pinMode (ds_row, OUTPUT); पिनमोड (प्रारंभ, INPUT); …।…।…।
और फिर हम लूप फ़ंक्शन में गेम शुरू करते हैं।
void show_snake (int temp) {के लिए (int n = 0; n
यहां हमने पुश बटन से इनपुट दिशा पढ़ने के लिए नीचे फ़ंक्शन का उपयोग किया है।
void read_button () {if (digitalRead (left)) {Move_r = 0; Move_c! = - 1? Move_c = -1: Move_c = 1; जबकि (digitalRead (left)); …।…।…।
नीचे सांप गेम का पूरा सी कोड देखें।