विषयसूची:

QuizzPi, एक रास्पबेरी पाई ट्रिविया गेम विथ पायथन: 7 स्टेप्स (चित्रों के साथ)
QuizzPi, एक रास्पबेरी पाई ट्रिविया गेम विथ पायथन: 7 स्टेप्स (चित्रों के साथ)

वीडियो: QuizzPi, एक रास्पबेरी पाई ट्रिविया गेम विथ पायथन: 7 स्टेप्स (चित्रों के साथ)

वीडियो: QuizzPi, एक रास्पबेरी पाई ट्रिविया गेम विथ पायथन: 7 स्टेप्स (चित्रों के साथ)
वीडियो: Computer Programming for Kids with Raspberry Pi - Introduction: Hacking a game 2024, जुलाई
Anonim
QuizzPi, एक रास्पबेरी पाई ट्रिविया गेम विथ पायथन
QuizzPi, एक रास्पबेरी पाई ट्रिविया गेम विथ पायथन
QuizzPi, एक रास्पबेरी पाई ट्रिविया गेम विथ पायथन
QuizzPi, एक रास्पबेरी पाई ट्रिविया गेम विथ पायथन

QuizzPi एक आर्केड टाइप ट्रिविया गेम है। QuizzPi का जन्म इसलिए हुआ क्योंकि मुझे अपनी बेटी को एक मनोरंजन देना था। वह 7 साल की है और वह पहले से ही नई तकनीकों के उपयोग की मांग करती है, विचार कुछ ऐसा बनाना था जो मज़ेदार और शैक्षिक दोनों हो।

परियोजना की आवश्यकताएं:

  • प्रयोग करने में आसान
  • पोर्टेबल
  • प्रश्नों और उत्तरों के सेट को अपग्रेड करना आसान
  • उच्च स्कोर तालिका

एकाधिक आइटम कॉन्फ़िगर करने योग्य हैं। आप प्रश्नों/उत्तरों का अपना डेटाबेस बना सकते हैं या आप कई सर्वरों में से एक का उपयोग कर सकते हैं जो डेटाबेस प्रदान करता है, जहां आप प्रश्नों के प्रकार तय करते हैं, कठिन, … मैंने अपनी बेटी के लिए प्रथम श्रेणी के प्रश्नों का डेटाबेस बनाया, लेकिन हम कर सकते हैं एक ओलाइन सर्वर से सामान्य ज्ञान प्रश्न प्राप्त करने के लिए कॉन्फ़िगरेशन बदलें। यह निर्देश योग्य संस्करण एक सहयोगी प्रश्नों और उत्तर, ओपन ट्रिविया डेटाबेस से प्रश्न प्राप्त करता है। मेरे पास सामान्य ज्ञान के प्रश्न हैं लेकिन आप फिल्म, खेल या धर्म के प्रश्न चुन सकते हैं।

मैं अपनी खराब अंग्रेजी के लिए माफी मांगता हूं। मैं स्पैनिश हूं लेकिन मैंने इसे अंग्रेजी में निर्देश योग्य बनाना पसंद किया है ताकि यह अधिक लोगों तक पहुंच सके।

चलिए चलते हैं!

चरण 1: आपको कुछ सामग्री और उपकरण चाहिए…

आपको कुछ सामग्री और उपकरण चाहिए…
आपको कुछ सामग्री और उपकरण चाहिए…

आपके पास घर पर अधिकांश सामग्री निश्चित रूप से है …

  • रास्पबेरी पाई 2/3 एक 8Gb या अधिक एसडी कार्ड (35$) के साथ
  • रास्पबेरी पाई 3.5 इंच एलसीडी केस (11$) के साथ। देखें (यह वैकल्पिक है, आप अपने पास मौजूद किसी भी डिस्प्ले का उपयोग कर सकते हैं, इसके लिए आपको केवल क्विज़पी केस को संशोधित करने की आवश्यकता है)
  • बैटरी। आप एक पावर बैंक का उपयोग कर सकते हैं या आप एक diy 18650 बैटरी पैक (5$) का उपयोग कर सकते हैं। मेरे मामले में मैंने एक Aukey 5000mah पावर बैंक (12$) का उपयोग किया। देखो
  • चार आर्केड बटन। मेरे पास ये घर पर हैं (3$, 10$ के लिए 12 बटन)। देखो
  • एक चालू/बंद स्विच (0.25$)। देखो
  • दो यूएसबी कनेक्टर (0.50$)
  • एक यूएसबी/माइक्रो यूएसबी केबल
  • एक सस्ता स्पीकर (वैकल्पिक) (0.25$)। देखो
  • एक PAM8403 एम्पलीफायर (वैकल्पिक) (0.80$)। देखो
  • बटन को जोड़ने के लिए कुछ तार, यूएसबी कनेक्टर और जीपीआईओ पिन पर स्विच चालू/बंद (1$?)
  • चार नियोडिमियम मैग्नेट या आप पिछले दरवाजे को बंद करने के लिए किसी भी चीज का उपयोग कर सकते हैं। देखो
  • प्लाईवुड। मैंने 5 मिमी प्लाईवुड का उपयोग किया है, लेकिन आप घर पर जो भी है उसका उपयोग कर सकते हैं (2$)

आपको कुछ उपकरण भी चाहिए …

  • सोल्डरिंग यूटिलिटीज
  • स्क्रू ड्राइवर
  • गर्म गोंद वाली बंदूक
  • 3D प्रिंटर (वैकल्पिक)

चलिए चलते हैं!

चरण 2: आइए एक कूल क्विज़पी केस डिज़ाइन करें…

आइए एक कूल क्विज़पी केस डिज़ाइन करें…
आइए एक कूल क्विज़पी केस डिज़ाइन करें…
आइए एक कूल क्विज़पी केस डिज़ाइन करें…
आइए एक कूल क्विज़पी केस डिज़ाइन करें…

सबसे पहले हमें यह जानना होगा कि हार्डवेयर (रास्पबेरी + स्क्रीन + बटन + बैटरी + तार) को शामिल करने के लिए हमें कितनी जगह चाहिए। पिछले चरण में वर्णित भागों को ध्यान में रखते हुए मैंने मुफ्त ऑनलाइन 3D डिज़ाइनर Tinkercad (देखें) का उपयोग करके केस का 3D डिज़ाइन बनाया। यदि आप केस के 3D मॉडल को प्रिंट करना चाहते हैं तो आप इसे संलग्न फ़ाइल QuizzPi केस से डाउनलोड कर सकते हैं। एसटीएल

उस समय मुझे यह तय करना था कि मॉडल को अपने 3D प्रिंटर पर प्रिंट करना है या इसे प्लाईवुड से बनाना है। मैंने सोचा कि अपनी बेटी के लिए होने के कारण मैं इसे प्लाईवुड से बनाने में थोड़ा और समय लगा सकता हूं। इसलिए मैं 3D मॉडल से योजनाएँ प्राप्त करता हूँ और लकड़ी काटता हूँ।

अगला कदम भागों को गर्म करना है …

चरण 3: प्लाइवुड केस बनाना…

प्लाईवुड केस बनाना…
प्लाईवुड केस बनाना…
प्लाईवुड केस बनाना…
प्लाईवुड केस बनाना…
प्लाईवुड केस बनाना…
प्लाईवुड केस बनाना…
प्लाईवुड केस बनाना…
प्लाईवुड केस बनाना…

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

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

QuizzPi मामला समाप्त हो गया है …

चरण 4: वायरिंग GPIO पिन, माउंटिंग रास्पबेरी + एलसीडी…

वायरिंग GPIO पिन, माउंटिंग रास्पबेरी + एलसीडी…
वायरिंग GPIO पिन, माउंटिंग रास्पबेरी + एलसीडी…
वायरिंग GPIO पिन, माउंटिंग रास्पबेरी + एलसीडी…
वायरिंग GPIO पिन, माउंटिंग रास्पबेरी + एलसीडी…
वायरिंग GPIO पिन, माउंटिंग रास्पबेरी + एलसीडी…
वायरिंग GPIO पिन, माउंटिंग रास्पबेरी + एलसीडी…

हमें बटन को रास्पबेरी पाई से जोड़ने की आवश्यकता है ताकि यह जान सके कि कौन सा बटन पुश किया गया है। बटन GPIO पिन से जुड़े होते हैं। हमें चार IN GPIO पिन और एक Gnd GPIO पिन चाहिए। मैंने क्रमशः लाल, पीले, हरे और नीले बटन के लिए GPIO पिन 31 (GPIO6), 33 (GPIO13), 35 (GPIO19), 37 (GPIO26) और 39 (Gnd) का उपयोग किया। इस स्क्रीन में SPI इंटरफ़ेस है। इसका मतलब है कि यह GPIO बैंक से जुड़ा है, इसलिए पहले मैंने बटन पिन में चौकोर सिरे वाले तार लगाए और फिर मैंने LCD स्क्रीन को जोड़ा।

अगला कदम बेज़ल पर रास्पबेरी + एलसीडी + केस को माउंट करना था। मैंने रास्पबेरी पाई केस के अपने स्क्रू का इस्तेमाल किया।

QuizzPi आरोहित है …

चरण 5: बैटरी, बटन, स्विच और यूएसबी कनेक्टर…

बैटरी, बटन, स्विच और यूएसबी कनेक्टर…
बैटरी, बटन, स्विच और यूएसबी कनेक्टर…
बैटरी, बटन, स्विच और यूएसबी कनेक्टर…
बैटरी, बटन, स्विच और यूएसबी कनेक्टर…
बैटरी, बटन, स्विच और यूएसबी कनेक्टर…
बैटरी, बटन, स्विच और यूएसबी कनेक्टर…

मैंने केस में पावर बैंक को पकड़ने के लिए एक क्लिप डिजाइन करने के लिए फिर से टिंकरकाड का इस्तेमाल किया। मैंने अपने 3D प्रिंटर से क्लिप को प्रिंट किया और हॉट ग्लू पिस्टल के साथ केस में शामिल हो गया। मैं नीचे दिए गए मॉडल की.stl फ़ाइल संलग्न करता हूं। यदि आपके पास 3D प्रिंटर तक पहुंच नहीं है, तो आप वेल्क्रो टेप के साथ पावर बैंक से जुड़ सकते हैं।

अगला कदम पावर बैंक और रास्पबेरी पाई के बीच चालू / बंद स्विच को जोड़ना है। मैंने एक यूएसबी केबल ली और मैंने केवल बिजली के तार को काटा, फिर मैंने एक तार के सिरे को ऑन / ऑफ स्विच के एक पिन में और दूसरे तार को चालू / बंद स्विच के दूसरे पिन में मिलाया। तो जब स्विच ऑफ पावर स्विच के माध्यम से नहीं जाता है और रास्पबेरी बंद है और जब स्विच ऑन पावर स्विच के माध्यम से जाता है और रास्पबेरी चालू होता है।

जब पावर बैंक डिस्चार्ज होने पर इसे चार्ज करने के लिए केस को बाहर निकालने में समस्या होती है, इसलिए मैं इसे चार्ज करने के लिए हर बार बाहर नहीं निकालना चाहता था। समस्या यह थी कि पावर बैंक चार्ज पोर्ट यूएससी टाइप सी है, और मेरे पास केवल पावर बैंक की केबल थी। इसलिए मैंने दो महिला यूएसबी कनेक्टर को मिलाया और मामले में डाल दिया। पावर बैंक केबल को जोड़ने के लिए अंदर का कनेक्टर, और USB पावर केबल को जोड़ने के लिए बाहरी कनेक्टर।

बटन लगाना और उन्हें वायर करना आसान था। बटन में 2 पिन होते हैं, प्रत्येक बटन का एक पिन एक सामान्य केबल से जुड़ता है जो एक ग्राउंड GPIO पिन पर जाता है, और बटन का दूसरा पिन रास्पबेरी के संबंधित GPIO पिन से जुड़ता है। वायरिंग आरेख संलग्न आरेख में दिखाया गया है।

ध्वनि प्रणाली PAM8403 पर आधारित है, जो एक सस्ता ध्वनि प्रवर्धक है। यह आवश्यक है क्योंकि रास्पबेरी पाई के जैक से ध्वनि इतनी शक्तिशाली नहीं है कि स्पीकर काम कर सके। आपको इसे 5v या अधिक के साथ पावर करने की आवश्यकता है। संलग्न छवियों में आप देख सकते हैं कि एम्पलीफायर और स्पीकर को कैसे तारित किया जाए। हमें रैपबेरी के ऑडियो/वीडियो जैक से कनेक्ट करने के लिए एक पुरुष 3.5 मिमी जैक की आवश्यकता है। मैंने जैक को 3 तार मिलाए: ऑडियो, वीडियो और जमीन। संलग्न आरेख दिखाता है कि पिन क्या है। फिर मैंने बिजली लेने के लिए ऑन/ऑफ स्विच में एक तार मिलाया, और पावर बैंक केबल से ग्राउंड वायर के लिए एक और तार। फिर मैं स्पीकर से एम्पलीफायर के आउटपुट में तारों को जोड़ता हूं। मामले में ध्वनि प्रणाली आवंटित करना आसान हिस्सा है। आप छवियों में देख सकते हैं।

QuizzPi माउंट किया गया है, आखिरी फोटो में हम अभी भी लकड़ी पर पेंसिल के निशान देख सकते हैं, लेकिन यह सॉफ्टवेयर का समय है … चलो एक छोटा प्रश्नोत्तरी इंजन बनाने के लिए चलते हैं …

चरण 6: क्विज़ इंजन की रासबियन छवि और प्रोग्रामिंग…

क्विज़ इंजन की रासबियन इमेज और प्रोग्रामिंग…
क्विज़ इंजन की रासबियन इमेज और प्रोग्रामिंग…
क्विज़ इंजन की रासबियन इमेज और प्रोग्रामिंग…
क्विज़ इंजन की रासबियन इमेज और प्रोग्रामिंग…
क्विज़ इंजन की रासबियन इमेज और प्रोग्रामिंग…
क्विज़ इंजन की रासबियन इमेज और प्रोग्रामिंग…
क्विज़ इंजन की रासबियन इमेज और प्रोग्रामिंग…
क्विज़ इंजन की रासबियन इमेज और प्रोग्रामिंग…

हम पावर बटन दबाते हैं। कुछ नहीं होता है। बाप रे! यह काम नहीं करता! क्या गलत हो सकता है? बिना कनेक्शन के कोई केबल? चिंता न करें, हमें एसडी कार्ड पर एक छवि स्थापित करने की आवश्यकता है…

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

यदि आपके पास एचडीएमआई या आरसीए स्क्रीन है तो आप raspberrypi.org साइट पर उपलब्ध अंतिम रास्पियन छवि डाउनलोड कर सकते हैं। ध्यान दें: आपको डेस्कटॉप रासबियन संस्करण की आवश्यकता है, इसलिए लाइट रास्पियन छवि को डाउनलोड करने से बचें। इस छवियों में पायथन कंपाइलर है।

एसडी कार्ड पर छवि स्थापित करने के लिए हम किसी भी एप्लिकेशन का उपयोग कर सकते हैं। मैं Win32diskimager का उपयोग करता हूं। फिर हम रास्पबेरी में एसडी कार्ड डालते हैं और स्विच ऑन / ऑफ करते हैं। यह काम करता है! अब हमें क्विज़ इंजन के साथ एक पायथन प्रोग्राम बनाने की आवश्यकता है।

अगला कदम प्रश्नोत्तरी इंजन की फाइलों को डाउनलोड करना है। मैंने QuizzPi.zip फ़ाइल में स्रोत कोड संलग्न किया है। स्रोत डाउनलोड करें और रास्पबेरी पाई में एक फ़ोल्डर बनाएं:

# mkdir /home/pi/QuizzPi

और इस फ़ोल्डर में डाउनलोड की गई फ़ाइल को अनज़िप करें।

QuizzPi.zip में यह फ़ाइलें हैं:

  • QuizzPi.py - इसमें कोड होता है
  • पीएनजी छवि फ़ाइलें - इसमें ग्राफिकल इंटरफ़ेस है, आप उन्हें निजीकृत करने के लिए बदल सकते हैं
  • एमपी 3 ध्वनि फ़ाइलें - आप वैयक्तिकृत करने के लिए बदल सकते हैं
  • losmejores.txt - इसमें उच्च स्कोर तालिका है, आप तालिका को प्रारंभ करने के लिए इसे हटा सकते हैं
  • निर्देश.txt

मैं इस बारे में विस्तृत विवरण नहीं दूंगा कि मैंने पायथन में इंजन कोड को कैसे प्रोग्राम किया है क्योंकि प्रोग्रामिंग ज्ञान के बिना लोगों के लिए यह कठिन है। उन्हें केवल रास्पबेरी में फाइलों को सहेजने की जरूरत है। प्रोग्रामिंग ज्ञान वाले लोग बिना किसी स्पष्टीकरण के इसे संशोधित करने में सक्षम होंगे;)

प्रश्न और उत्तर ओपन ट्रिविया डेटाबेस नामक एक प्रश्न और उत्तर सहयोगी डेटाबेस से हैं, आप यहां पा सकते हैं। आप QuizzPi.py फ़ाइल में एक पंक्ति को बदलने वाले प्रश्नों की श्रेणी और कठिन को बदल सकते हैं:

#Cargo desde URLurl = 'https://opentdb.com/api.php?amount=10&type=multiple'

एपीआई विन्यासकर्ता से प्राप्त यूआरएल के साथ बदल रहा है

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

आप खेल की ध्वनियों को भी निजीकृत कर सकते हैं। आपको केवल.mp3 फ़ाइलों को अपने इच्छित अन्य लोगों द्वारा बदलना होगा, आपको उन्हीं नामों को संरक्षित करना होगा। आप ऑनलाइन डेटाबेस से बहुत सारी ध्वनियाँ प्राप्त कर सकते हैं, मुझे मुफ्त ध्वनि प्रभाव से खदानें मिलती हैं।

अब आपको QuizzPi को स्वचालित रूप से चलाने के लिए अपने रास्पियन को संशोधित करना होगा। आप इस लेख को पढ़ सकते हैं जहां समझाएं कि यह कैसे करना है:

हमने काम पूरा कर लिया!!!

चरण 7: प्रदर्शन …

Image
Image

इस निर्देश को पूरा करने के लिए आप यह वीडियो देख सकते हैं। आप देख सकते हैं कि इसका उपयोग करना आसान है और प्रश्नों का कठिन होना आप पर निर्भर करता है…

संपादित करें: वीडियो अब ध्वनि के साथ अपडेट किया गया!

माइक्रोकंट्रोलर प्रतियोगिता
माइक्रोकंट्रोलर प्रतियोगिता

माइक्रोकंट्रोलर प्रतियोगिता में उपविजेता

सिफारिश की: