विषयसूची:
- आपूर्ति
- चरण 1: बटन छवियां बनाएं
- चरण 2: प्रारूप कार्यक्रम
- चरण 3: GUI (मेनू और माइनस्वीपर ग्रिड) बनाएँ
- चरण 4: इन-गेम स्क्रीन पर बटन को चालू करें
- चरण 5: "सेटडिफीकल्टी" विधि और "पुनरारंभ करें" विधि
- चरण 6: गेम-एंडिंग परिदृश्य
- चरण 7: पुनरारंभ करें बटन को चालू करना
वीडियो: माइनस्वीपर-रास्पबेरी-पाई-संस्करण: 7 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
लुइसियाना टेक यूनिवर्सिटी में सीएससी 130 श्रृंखला के लिए मेरी अंतिम परियोजना माइनस्वीपर रास्पबेरी पाई संस्करण है। इस परियोजना में, मैंने पायथन प्रोग्रामिंग भाषा की टिंकर लाइब्रेरी का उपयोग करके माइनस्वीपर के क्लासिक गेम को फिर से बनाने की कोशिश की। माइनस्वीपर गेम में जो ग्रिड शामिल है, वह चौड़ाई में आठ टाइलें और ऊंचाई में पांच टाइलें हैं। परियोजना का स्वरूपण पायथन 2.7 के साथ स्थापित रास्पबेरी पाई के उपयोग के लिए अनुकूल और सिद्ध किया गया है।
माइनस्वीपर रास्पबेरी पाई संस्करण अंतिम परियोजना के लिए कोड और चित्र निम्न लिंक पर डाउनलोड किए जा सकते हैं:
माइनस्वीपर-रास्पबेरी-पाई-संस्करण
आपूर्ति
x1 रसभरी
रास्पबेरी पाई पर स्थापित पायथन 2.7
Microsoft Powerpoint (या बटन के लिए चित्र बनाने के लिए कोई अन्य सॉफ़्टवेयर)
चरण 1: बटन छवियां बनाएं
व्याख्या:
GUI बनाने वाले प्रत्येक बटन को बनाने की आवश्यकता होगी। इस कार्य के लिए, मैंने बटनों पर प्रदर्शित करने के लिए आवश्यक छवियों को बनाने के लिए Microsoft Powerpoint का उपयोग किया।
सबसे पहले, मैंने माइक्रोसॉफ्ट पावरपॉइंट का उपयोग करके माइनस्वीपर ग्रिड (रिक्त, बॉब, शून्य, एक, दो, तीन, चार, पांच, छह, सात और आठ) बनाने के लिए आवश्यक दस टाइल बटन बनाए।
दूसरा, मैंने माइक्रोसॉफ्ट पावरपॉइंट का उपयोग करके मेनू स्क्रीन (मेनू डिस्प्ले, आसान कठिनाई बटन, मध्यम कठिनाई बटन, और कठिन कठिनाई बटन) के लिए आवश्यक चार छवियां बनाईं।
तीसरा, मैंने माइक्रोसॉफ्ट पावरपॉइंट का उपयोग करके पुनरारंभ बटन के लिए आवश्यक छवि और अन्य विभिन्न डिस्प्ले बटन (एक "गेम ओवर" डिस्प्ले, "यू विन" डिस्प्ले, और "नियम" डिस्प्ले) के लिए आवश्यक छवियों को बनाया।
चौथा, आपको अपनी स्क्रीन में फ़िट होने के लिए अपनी छवियों का आकार बदलना होगा। मेरे रास्पबेरी पाई के लिए, मैंने विंडो के लिए निम्नलिखित आयामों का उपयोग किया (लंबाई और चौड़ाई में पिक्सेल का जिक्र करते हुए): 432x576।
चरण 2: प्रारूप कार्यक्रम
व्याख्या:
इससे पहले कि कोई वास्तविक प्रोग्रामिंग हो सके, हमें उन पुस्तकालयों को आयात करना चाहिए जिनकी हमें आवश्यकता है और हमारे कार्यक्रम का मुख्य भाग लिखना चाहिए।
सबसे पहले, हमें टिंकर लाइब्रेरी से * आयात करना होगा और रैंडम लाइब्रेरी से फेरबदल करना होगा। दूसरे, हमें प्रोग्राम के मुख्य भाग के भीतर कोड में निम्नलिखित चरणों को पूरा करने की आवश्यकता होगी: विंडो बनाएं, शीर्षक विंडो सेट करें, GUI जेनरेट करें, और GUI प्रदर्शित करें और उपयोगकर्ता इंटरैक्शन की प्रतीक्षा करें। यह कोड टिंकर लाइब्रेरी के संबंध में उचित स्वरूपण में लिखा गया है (उचित स्वरूपण देखने के लिए निर्देश में दिए गए कोड को देखें)।
चरण 3: GUI (मेनू और माइनस्वीपर ग्रिड) बनाएँ
व्याख्या:
कार्यक्रम शुरू होने पर, मेनू स्क्रीन लॉन्च की जाएगी। कठिनाई के चयन के बाद (मेनू स्क्रीन पर कठिनाई बटनों में से एक पर क्लिक करके), जीयूआई को माइनस्वीपर ग्रिड, एक डिस्प्ले और एक पुनरारंभ बटन के साथ ताज़ा किया जाएगा। चूंकि आप अभी जीयूआई पर काम करना शुरू कर रहे हैं, हमें केवल मेनू को लॉन्च करने की आवश्यकता होगी, मेनू कठिनाई बटन चालू हो जाएंगे, और माइनस्वीपर ग्रिड के साथ जीयूआई को गेम स्क्रीन पर रीफ्रेश करना होगा।
सबसे पहले, हम मेनजीयूआई क्लास के कंस्ट्रक्टर के भीतर "सेटअपमेनू" विधि को कॉल करके प्रोग्राम के स्टार्टअप पर मेन्यू स्क्रीन डिस्प्ले कर सकते हैं।
दूसरा, हम मेनू के प्रत्येक कठिनाई बटन को "प्रक्रिया" विधि जोड़कर क्लिक करने पर कोड की कुछ पंक्तियों को निष्पादित कर सकते हैं (कमांड लैम्ब्डा भी जोड़ना होगा: स्वयं.प्रक्रिया ("रिटर्नबटननाम") उपयोग किए गए बटन फ़ंक्शन के पैरामीटर के भीतर प्रत्येक कठिनाई बटन के निर्माण में)। तीन if-else स्टेटमेंट "प्रोसेस" मेथड में बनाए जाएंगे और कुछ अन्य मेथड्स और अतिरिक्त कोड की लाइन्स को एक्जीक्यूट करेंगे, जो इस बात पर निर्भर करता है कि बटन क्या बराबर है (बटन पिछले रजिस्टर किए गए बटन के नाम के बराबर है)।
तीसरा, जबकि मेनू स्क्रीन ऊपर है और यदि उपयोगकर्ता कठिनाई बटनों में से किसी एक पर क्लिक करता है, तो प्रोग्राम "कठिनाई" चर के लिए एक निश्चित मान सहेज लेगा (कठिनाई "आसान", "मध्यम", या "कठिन" आधारित बंद कौन सा कठिनाई बटन क्लिक किया गया है। एक बटन के इस क्लिक से पता चलता है कि कौन सा अगर-और कथन का पालन करना है, तो कौन सा बटन नाम अंतिम बार पंजीकृत किया गया था (कौन सा बटन बराबर है)। इसके अतिरिक्त, "कठिनाई" चर को पुन: असाइन करने के लिए हमें पहले तत्काल करने की आवश्यकता होगी यह कक्षा के बाहर है। इसलिए हम "MainGUI" वर्ग के निर्माण से पहले "कठिनाई" चर को एक खाली स्ट्रिंग के रूप में सेट करेंगे।
चौथा, "सेटअपमेनू" विधि द्वारा बनाए गए बटनों के GUI को "clearMenu" विधि (बटन.destroy() फ़ंक्शन का उपयोग करके कई उदाहरणों में) बनाकर और "प्रोसेस" विधि में "clearMenu" विधि को कॉल करके साफ़ करें (के तहत) प्रत्येक कठिनाई बटन कठिनाई चर असाइनमेंट के बाद पंजीकृत होता है)।
पांचवां, "setSLASHresetGUI" विधि बनाकर GUI को रीफ्रेश करें (बटन "सेटअपमेनू" विधि की तरह ही बनाए जाते हैं) और "प्रक्रिया" विधि में "setSLASHresetGUI" विधि को कॉल करें (प्रत्येक कठिनाई बटन के बाद रजिस्टर करता है कठिनाई चर असाइनमेंट और "clearMenu" विधि को कॉल करना)।
इसके अतिरिक्त, "setSLASHresetGUI" विधि के भीतर सभी बटनों को असाइन करने से पहले हमें ग्रिड के भीतर पंक्तियों और स्तंभों को कॉन्फ़िगर करना होगा और सभी बटन "setSLASHresetGUI" विधि के भीतर असाइन किए जाने के बाद हमें सभी सामग्री को ग्रिड के भीतर पैक करना होगा (देखें उचित स्वरूपण देखने के लिए निर्देश में दिया गया कोड)।
चरण 4: इन-गेम स्क्रीन पर बटन को चालू करें
व्याख्या:
बटन पर क्लिक करने पर कोड की कुछ पंक्तियों को निष्पादित करने के लिए, हमें "प्रक्रिया" विधि के भीतर विधियों को निष्पादित करना होगा। इस कार्य के लिए, हमें कई नए तरीके, चर और सूचियाँ बनानी होंगी।
सबसे पहले, हम दो सूचियाँ बनाएंगे। "ग्रिड" नामक एक सूची होगी। इस "ग्रिड" सूची में केवल पूर्णांक 9 और 0 शामिल होंगे। इस सूची में, नौ बम का प्रतिनिधित्व करेंगे, और शून्य गैर-बम का प्रतिनिधित्व करेंगे। टाइल बम है या नहीं, यह प्रोग्राम इस तरह से भेद करेगा। एक दूसरी सूची बनाई जाएगी, और इसे "स्थिति" कहा जाएगा। इस "स्थिति" सूची में केवल एक वर्ण स्ट्रिंग ("0", "1", "2", "3", "4", "5", "6", "7", "8", "बी" शामिल हैं। ")। इस सूची में, प्रत्येक एक वर्ण स्ट्रिंग एक निश्चित छवि के अनुरूप होगी। इस प्रकार प्रोग्राम को पता चलेगा कि माइनस्वीपर ग्रिड में प्रत्येक बटन पर कौन सी छवि प्रदर्शित करनी है। माइनस्वीपर ग्रिड के प्रत्येक बटन का ग्रिड में उसके स्थान के आधार पर प्रत्येक सूची में एक संगत अनुक्रमणिका होगी। संबंधित इंडेक्स को निम्नलिखित प्रक्रिया (बटन नंबर -1) द्वारा असाइन किया जाएगा। उदाहरण के लिए, प्रत्येक सूची में बटन एक की संबंधित अनुक्रमणिका अनुक्रमणिका शून्य है। अंत में, इन दो सूचियों को "मेनजीयूआई" वर्ग के निष्पादित होने से पहले निष्पादित किया जाएगा और "मेनजीयूआई" वर्ग के बाहर बनाया जाएगा। "ग्रिड" वर्ग एक खाली सूची (ग्रिड = ) के रूप में बनाया जाएगा और "स्थिति" सूची एक श्रेणी फ़ंक्शन द्वारा बनाई जाएगी ("स्थिति" सूची में "n" के चालीस एकल वर्ण तार जोड़कर)।
दूसरा, हम विभिन्न तरीके बनाएंगे जो इसके आसपास की खानों की संख्या का पता लगा सकते हैं और जब एक बटन पर क्लिक किया जा सकता है (जिस विधि को निष्पादित किया जाना चाहिए उसका निर्णय बटन के स्थान द्वारा निर्धारित किया जाएगा)। इन्हीं विधियों को हमारा खान विश्लेषक कहा जाएगा। ये विधियाँ "NumOfMines" नामक एक काउंटर को बढ़ाएँगी और यह निर्धारित करने के लिए कि टाइल के चारों ओर कितने बम हैं, "ग्रिड" सूची के भीतर कुछ इंडेक्स का उपयोग करेंगे। चर "NumOfMines" के भीतर संग्रहीत की जाने वाली स्ट्रिंग का उपयोग "स्थिति" सूची में समान संबंधित अनुक्रमणिका को बदलने के लिए किया जाएगा। अब, आप सोच सकते हैं कि प्रोग्राम को कैसे पता चलेगा कि किस इंडेक्स का उपयोग करना है। जब एक बटन "प्रक्रिया" विधि में पंजीकृत होता है, तो एक चर "इंडेक्स" एक निश्चित पूर्णांक के लिए बनाया/पुन: असाइन किया जाएगा (बटन किस स्ट्रिंग के आधार पर पंजीकृत होता है)। बनाई गई विधियों में से एक टाइल के स्थान और उसके आस-पास की टाइलों की अनुक्रमणिका जानने के लिए उस निर्दिष्ट अनुक्रमणिका का उपयोग करेगी (विधि के भीतर एल्गोरिदम इसका पता लगाएगा)। इसके अतिरिक्त, "इंडेक्स" वेरिएबल को पुन: असाइन करने के लिए हमें पहले इसे क्लास के बाहर इंस्टेंट करना होगा। इसलिए हम "मेनजीयूआई" वर्ग के निर्माण से पहले "इंडेक्स" वेरिएबल को पूर्णांक शून्य के रूप में प्रीसेट करेंगे।
तीसरा, "ऑपरेशन" विधियां बनाई जाएंगी। एक बटन पंजीकृत होने पर हर बार एक "ऑपरेशन" विधि निष्पादित की जाएगी। इन "ऑपरेशन" विधियों को "प्रक्रिया" विधि में निष्पादित किया जाएगा। "प्रक्रिया" विधि में, एकाधिक if-else कथन यह निर्धारित करेंगे कि कौन सा बटन क्लिक किया गया था (बटन के बराबर के आधार पर)। यह वह जगह है जहां एक निश्चित "ऑपरेशन" विधि को बुलाया जाएगा (अगर-और बयानों में)।
चौथा, हम वास्तव में देखेंगे कि बटन कैसे काम करते हैं। जैसा कि पहले कहा गया है, एकाधिक if-else कथन "प्रक्रिया" विधि में स्थित हैं और बटन के बराबर होने के आधार पर कुछ अन्य विधियों और अतिरिक्त कोड की पंक्तियों को निष्पादित करते हैं (बटन जो भी स्ट्रिंग पिछली बार पंजीकृत थी उसके बराबर होती है)। इन if-else कथनों के भीतर, निम्नलिखित क्रम में घटित होगा: सूचकांक को विश्व स्तर पर सौंपा जाएगा, "स्थिति" सूची में संबंधित सूचकांक को स्ट्रिंग "बी" (यदि "ग्रिड" सूची का संबंधित सूचकांक बराबर होता है) को फिर से सौंपा जाएगा। पूर्णांक नौ), एक संबंधित "ऑपरेशन" विधि निष्पादित की जाएगी (यदि "ग्रिड" सूची की संबंधित अनुक्रमणिका पूर्णांक शून्य के बराबर होती है), तो "स्थिति" सूची में संबंधित अनुक्रमणिका को चर के बराबर स्ट्रिंग पर पुन: असाइन किया जाएगा "NumOfMines" (यदि "ग्रिड" सूची की संबंधित अनुक्रमणिका पूर्णांक शून्य के बराबर है), और GUI को "setSLASHresetGUI" विधि को कॉल करके ताज़ा किया जाएगा।
चरण 5: "सेटडिफीकल्टी" विधि और "पुनरारंभ करें" विधि
व्याख्या:
इसके बाद, एक "सेटडिफिकल्टी" विधि बनाने की आवश्यकता होगी और इन-गेम स्क्रीन के निचले भाग में स्थित पुनरारंभ बटन को चालू करने की आवश्यकता होगी (उपयोगकर्ता द्वारा क्लिक किए जाने पर इसे निष्पादित करने के लिए "पुनरारंभ" विधि बनाकर)
सबसे पहले, "सेटडिफिकल्टी" विधि को "प्रक्रिया" विधि में और "पुनरारंभ" विधि में कठिनाई बटन के if-else कथनों में लागू करने की आवश्यकता होगी। इस पद्धति में निष्पादित कोड और विधियों की रेखाएं काफी सरल हैं। "सेटडिफिकल्टी" विधि में, हम "ग्रिड" सूची में शून्य (गैर-बम) और नाइन (बम) की एक निश्चित मात्रा को जोड़ देंगे (प्रत्येक अगर-और कथन के भीतर दो रेंज फ़ंक्शन के माध्यम से), और फिर हम फेरबदल करेंगे "सेटडिफिकल्टी" विधि के भीतर "ग्रिड" सूची (यादृच्छिक पुस्तकालय के फेरबदल समारोह के साथ) (अगर-अन्य कथन निष्पादित होने के बाद)। शून्य से नौ का अनुपात इस बात से निर्धारित होगा कि चर "कठिनाई" किस स्ट्रिंग ("आसान": 34-6, "मध्यम": 28-12, "कठिन": 16-24) पर सेट है।
दूसरा, "पुनरारंभ" विधि में, हम वैश्विक स्तर पर चर "सूचकांक" और "NumOfMinesLEFT" को शून्य पर सेट करेंगे, विश्व स्तर पर "स्थिति" और "ग्रिड" दोनों सूचियों को खाली करेंगे, एक श्रेणी फ़ंक्शन के साथ "स्थिति" सूची को रीसेट करेंगे (जोड़ते हुए) "स्थिति" सूची में "एन" के चालीस एकल वर्ण तार), और "सेटडिफिकल्टी" विधि पर कॉल करें।
चरण 6: गेम-एंडिंग परिदृश्य
व्याख्या:
प्रत्येक माइनस्वीपर गेम में दो गेम-एंडिंग परिदृश्य होते हैं: जीत और हार। इस कार्यक्रम के भीतर, हम इन दो गेम-एंडिंग परिदृश्यों को दो नई विधियों के साथ लागू करेंगे: एक "You_A_Winner_Son" विधि और एक "गेमओवर" विधि। जीयूआई को "प्रक्रिया" विधि के भीतर ताज़ा करने से पहले और दो गेम-एंडिंग परिदृश्य विधियों द्वारा बदले गए इंडेक्स के आधार पर, परिणाम को ठीक से प्रदर्शित करने के लिए डिस्प्ले बटन को बदल दिया जाएगा।
सबसे पहले, जब उपयोगकर्ता अंतिम छिपी हुई गैर-बम टाइल पर क्लिक करता है, तो "You_A_Winner_Son" विधि को निष्पादित किया जाना चाहिए। हम हर बार किसी टाइल पर क्लिक करने पर "You_A_Winner_Son" पद्धति पर कॉल करके इस कार्य को पूरा करेंगे और टाइल को गैर-बम टाइल के रूप में पाया जाएगा ("प्रक्रिया" विधि में निष्पादित "ऑपरेशन" विधियों के भीतर)। यदि जीतने की शर्तें पूरी होती हैं, तो "You_A_Winner_Son" पद्धति के भीतर दो if-else स्टेटमेंट निष्पादित किए जाएंगे। पहला if-else स्टेटमेंट हमेशा इस बात की परवाह किए बिना निष्पादित होगा कि खिलाड़ी जीता या नहीं जब इस पद्धति को कहा जाता है। चर "कठिनाई" के बराबर के आधार पर, एक निश्चित एल्गोरिथ्म जो निर्धारित करेगा कि कितनी खदानें/बम छिपे हुए हैं। इस एल्गोरिथ्म द्वारा पाया गया पूर्णांक "NumOfMinesLEFT" चर में सहेजा जाएगा। इसके बाद, दो if-else स्टेटमेंट के बीच में एक और एल्गोरिथम निष्पादित किया जाएगा ताकि शुरुआती टाइलों की संख्या (अनक्लिक की गई टाइलें) का पता लगाया जा सके। इस एल्गोरिथ्म द्वारा पाया गया पूर्णांक "NumOfStartingTilesLEFT" चर में सहेजा जाएगा। दूसरा if-else स्टेटमेंट हमेशा इस बात की परवाह किए बिना निष्पादित होगा कि खिलाड़ी जीता या नहीं जब इस पद्धति को कहा जाता है। चर "कठिनाई" के बराबर क्या है, इसके आधार पर, तीन में से एक अगर-अन्य कथनों को निष्पादित किया जा सकता है यदि उनकी शर्तें पूरी होती हैं। शर्तें आधारित होंगी जो दो चर "NumOfMinesLEFT" और "NumOfStartingTilesLEFT" के बराबर हैं। इन तीन इफ-इफ स्टेटमेंट्स के भीतर, एक एल्गोरिथम निष्पादित किया जाएगा जो प्रत्येक बटन को बेकार कर देगा (खेल खत्म हो गया है)।
दूसरा, जब उपयोगकर्ता छिपी हुई बम टाइलों में से किसी एक पर क्लिक करता है, तो "गेमओवर" विधि को निष्पादित किया जाना चाहिए। हम हर बार एक टाइल पर क्लिक करने पर "गेमओवर" विधि पर कॉल करके इस कार्य को पूरा करेंगे और टाइल को बम टाइल के रूप में पाया जाएगा ("प्रक्रिया" विधि में निष्पादित "ऑपरेशन" विधियों के भीतर)। जब "गेमओवर" विधि को कॉल किया जाता है, तो एक एल्गोरिदम निष्पादित किया जाएगा जो प्रत्येक प्रारंभिक टाइल को बेकार कर देगा (गेम खत्म हो गया है) और छिपी हुई बम टाइलें प्रकट हो जाएंगी ("ग्रिड सूची के भीतर संबंधित इंडेक्स के आधार पर, कुछ इंडेक्स "स्थिति" सूची में एकल-वर्ण स्ट्रिंग "बी" को पुन: असाइन किया जाएगा)।
तीसरा, इन-गेम स्क्रीन का प्रदर्शन हर बार "setSLASHresetGUI" पद्धति में बहुत कम मामूली संपादन करके GUI को ताज़ा करने पर अपडेट किया जाएगा। GUI के ग्रिड को कॉन्फ़िगर करने के बाद, हम तीन if-else स्टेटमेंट रखेंगे जहां वर्तमान डिस्प्ले बटन असाइनमेंट रखा गया है। निम्नलिखित चर के बराबर होने के आधार पर तीन if-else कथनों में से एक निष्पादित होगा: "GameOverDETECTOR", "कठिनाई, "NumOfMinesLEFT", और "NumOfStartingTilesLEFT"। जैसा कि आप सोच रहे होंगे, चर "GameOverDETECTOR" एक नया है चर। यह चर "setSLASHresetGUI" विधि के भीतर if-else कथनों को निष्पादित करने से ठीक पहले बनाया जाएगा। "GameOverDETECTOR" चर उस पूर्णांक के बराबर होगा जो एक एल्गोरिथ्म का उपयोग करके पाया जाता है जो यह पता लगाता है कि "ग्रिड" के भीतर कितने अनुक्रमित हैं सूची ने निन्यानबे को फिर से असाइन किया है (कैसे बटन बेकार हो जाते हैं)। जिसके आधार पर अगर-और कथन की शर्तें पूरी होती हैं, तो प्रदर्शन के लिए एक संबंधित पुन: असाइनमेंट होगा।
चरण 7: पुनरारंभ करें बटन को चालू करना
व्याख्या:
यह कदम सबसे छोटा होता है। इस चरण के लिए अधिकांश काम पहले ही किया जा चुका है। अब हमें बस इतना करना होगा कि उपयोगकर्ता द्वारा हर बार रिस्टार्ट बटन पर क्लिक करने पर "रीस्टार्ट" मेथड को एक्जीक्यूट करें।
सबसे पहले और अंत में, हम "प्रक्रिया" विधि में "पुनरारंभ" विधि को if-else कथन के साथ निष्पादित करेंगे। यदि स्ट्रिंग "!" पंजीकृत है, तो "पुनरारंभ" विधि निष्पादित की जाएगी। ग्रिड की सामग्री को एक साथ पैक करने से पहले हमें "setSLASHresetGUI" विधि के अंत में पुनरारंभ नामक एक बटन भी बनाना होगा। यह पुनरारंभ बटन स्ट्रिंग को संसाधित करेगा "!" (कमांड लैम्ब्डा: सेल्फ.प्रोसेस ("!")) और "प्रोसेस" विधि के भीतर संबंधित "रीस्टार्ट" विधि को निष्पादित करें।
सिफारिश की:
अलार्म घड़ी के साथ DIY स्मार्ट स्केल (वाई-फाई, ESP8266, Arduino IDE और Adafruit.io के साथ): 10 कदम (चित्रों के साथ)
अलार्म घड़ी के साथ DIY स्मार्ट स्केल (वाई-फाई, ESP8266, Arduino IDE और Adafruit.io के साथ): अपने पिछले प्रोजेक्ट में, मैंने वाई-फाई के साथ एक स्मार्ट बाथरूम स्केल विकसित किया था। यह उपयोगकर्ता के वजन को माप सकता है, इसे स्थानीय रूप से प्रदर्शित कर सकता है और इसे क्लाउड पर भेज सकता है। आप इसके बारे में अधिक जानकारी नीचे दिए गए लिंक पर प्राप्त कर सकते हैं:https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
टाइमर फंक्शन के साथ टीवी रिमोट के साथ घरेलू उपकरणों को कैसे नियंत्रित करें: 7 कदम (चित्रों के साथ)
टाइमर फंक्शन के साथ टीवी रिमोट के साथ घरेलू उपकरणों को कैसे नियंत्रित करें: उपभोक्ता बाजार में अपने परिचय के 25 वर्षों के बाद भी, हाल के दिनों में अवरक्त संचार अभी भी बहुत प्रासंगिक है। चाहे वह आपका 55 इंच का 4K टेलीविजन हो या आपकी कार का साउंड सिस्टम, हर चीज को हमारी प्रतिक्रिया के लिए एक IR रिमोट कंट्रोलर की आवश्यकता होती है
माइनस्वीपर: 5 कदम (चित्रों के साथ)
माइनस्वीपर: हमारे सीपीई 133 अंतिम प्रोजेक्ट के लिए, चेस और मैंने एक ‘माइनस्वीपर’ गेम जो बेसिस -3 बोर्ड के साथ-साथ वीएचडीएल कोड से बटन और स्विच इनपुट का उपयोग करता है। खेल के लिए एक बेहतर नाम ‘रूसी रूले&rsqu हो सकता है
सिगफॉक्स के साथ डेड मैन अलर्ट के साथ बाइक ट्रैकिंग सिस्टम: 7 कदम (चित्रों के साथ)
सिगफॉक्स के साथ डेड मैन अलर्ट के साथ बाइक ट्रैकिंग सिस्टम: ट्रैकिंग और अलर्ट सुविधाओं के साथ बाइक सवारों के लिए सुरक्षा प्रणाली। दुर्घटना के मामले में जीपीएस स्थिति के साथ एक अलार्म भेजा जाता है। बाइक सवारों के लिए सुरक्षा जरूरी है, सड़क बाइक या माउंटेन बाइक दुर्घटनाएं होती हैं और जितनी जल्दी हो सके आपात स्थिति में
डायना इंग्लैंड के साथ प्रवाहकीय धागे के साथ कैसे सीना: 10 कदम (चित्रों के साथ)
डायना इंग्लैंड के साथ प्रवाहकीय धागे के साथ कैसे सीना: बिजली और फैशन का संयोजन! कठिनाई की डिग्री: अभी भी सीखने की अवधि: 45 मिनट सामग्री: सिलाई के लिए परिधान, प्रवाहकीय धागा, कैंची, दो एलईडी, सीआर 2032 घड़ी बैटरी, बीएस 7 बैटरी धारक, गायब स्याही पेन , सुई-नाक सरौता, आर