विषयसूची:

डिजिटल शतरंज - अपने शतरंज के खेल को ट्रैक करें ऑनलाइन: 5 कदम
डिजिटल शतरंज - अपने शतरंज के खेल को ट्रैक करें ऑनलाइन: 5 कदम

वीडियो: डिजिटल शतरंज - अपने शतरंज के खेल को ट्रैक करें ऑनलाइन: 5 कदम

वीडियो: डिजिटल शतरंज - अपने शतरंज के खेल को ट्रैक करें ऑनलाइन: 5 कदम
वीडियो: How to do Chess Notation ? कैसे लिखे शतरंज मे चालों को ? 2024, नवंबर
Anonim
डिजिटल शतरंज - अपने शतरंज के खेल को ऑनलाइन ट्रैक करें
डिजिटल शतरंज - अपने शतरंज के खेल को ऑनलाइन ट्रैक करें

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

मैं उम्मीद कर रहा हूँ:

  • शतरंज के टुकड़ों की गति को ट्रैक करने में सक्षम हो
  • पिछले खेलों के बारे में कुछ लीडरबोर्ड देखें।
  • समय को ट्रैक करें और एक पेशेवर गेम की तरह तेजी से खेलें।

यह एक बहुत ही जटिल परियोजना है क्योंकि अगर इसे पूरा किया जाता है तो इसे पढ़ने के लिए 64 लाइट सेंसर और 8 चिप्स की आवश्यकता होगी। जो पहले से ही एक बड़ा काम है और हम किसी अन्य सेंसर की गिनती भी नहीं कर रहे हैं।

मेरे कॉलेज ने हमें करने के लिए चीजों की एक बड़ी सूची दी है:

  1. हमारी परियोजना के लिए एक योजना बनाएं
  2. डेटा के भंडारण और प्राप्त करने के लिए एक डेटाबेस बनाएं।
  3. Adobe XD का उपयोग करके वेबसाइट डिज़ाइन करें
  4. इस वेबसाइट को CSS और HTML के साथ फिर से बनाएं
  5. अजगर के साथ सेंसर पढ़ें
  6. फ्लास्क का उपयोग करके वेबसाइट पर सेंसर डेटा दिखाएं।

इस निर्देशयोग्य में मैं आपको अपनी यात्रा, और उन सभी परेशानियों और मोक्ष के क्षणों में मार्गदर्शन करूँगा, जिनसे मैं इन पिछले कुछ हफ्तों से गुज़रा हूँ।

चरण 1: आपूर्ति/उपकरण

आपूर्ति, सामग्री और उपकरण एक सफल परियोजना के लिए पहला कदम हैं!

उपकरण:

  • सोल्डरिंग आयरन
  • सोल्डरिंग टिन
  • चिमटा
  • बेधन यंत्र
  • फीता

आपूर्ति:

  • माइक्रो एसडी कार्ड के साथ रास्पबेरी पाई (4GB पर्याप्त होना चाहिए)
  • रास्पबेरी पाई टी-मोची
  • शतरंज बोर्ड टुकड़ों के साथ
  • 7 सेगमेंट डिस्प्ले (टीएम 1637)
  • 2 टच सेंसर (TTP223B)
  • कार्ड के साथ आरएफआईडी रीडर (एमएफआरसी522)
  • MCP3008 (आप कितनी दूर जाना चाहते हैं, इस पर निर्भर करते हुए, प्रत्येक MCP के लिए आप 8 शतरंज निर्देशांक पढ़ सकते हैं)
  • लाइट डिपेंडेंट रेसिस्टर टाइप 5288 (आपके पास हर एमसीपी के लिए 8)
  • हेडर (पुरुष से पुरुष और महिला से पुरुष)

यदि आपको सब कुछ खरीदने की आवश्यकता है, तो अनुमानित लागत मूल्य लगभग 125 यूरो होना चाहिए जिसमें शिपिंग लागत (केवल आपूर्ति) शामिल है!

आपकी ज़रूरत की हर चीज़ के लिंक और कीमतों के साथ एक एक्सेल फ़ाइल जुड़ी हुई है!

चरण 2: योजनाबद्ध और योजना

योजनाबद्ध और योजना!
योजनाबद्ध और योजना!
योजनाबद्ध और योजना!
योजनाबद्ध और योजना!

इस परियोजना में अगला कदम एक योजनाबद्ध बनाना है। मैंने 2 बनाया: एक ब्रेडबोर्ड पर और एक विशुद्ध रूप से इलेक्ट्रॉनिक। हमें सब कुछ साफ रखने और यह सुनिश्चित करने के लिए इस योजना की आवश्यकता होगी कि हम किसी भी अनावश्यक सामान को न जोड़ें!

अगर किसी को दिलचस्पी है तो मैंने इन स्कीमैटिक्स को बनाने के लिए "फ्रिट्ज़िंग" नामक एक प्रोग्राम का इस्तेमाल किया।

रंग कोडिंग:

  • लाल = बिजली की आपूर्ति
  • हरा = कनेक्शन
  • नीला = जमीन

रास्पबेरी पाई कनेक्शन:

  • ३वी३ => ब्रेडबोर्ड पर वीसी लाइन, सब कुछ शक्ति प्रदान करती है
  • ५वी => ७ सेगमेंट डिस्प्ले का वीसीसी
  • जीएनडी:

    • ब्रेडबोर्ड पर ग्राउंड
    • 7 सेगमेंट डिस्प्ले का ग्राउंड
  • GPIO4 => घड़ी MCP3008 का पिन चुनें
  • GPIO10 => MCP3008 का MOSI पिन
  • GPIO9 => MCP3008 का MISO पिन
  • GPIO11 => MCP3008 का CLK पिन
  • GPIO7 => MFRC522 का एसडीए पिन
  • GPIO19 => पहले टच सेंसर का DIG पिन
  • GPIO26 => दूसरे टच सेंसर का DIG पिन
  • GPIO20 => सात खंड डिस्प्ले का CLK पिन
  • GPIO21 = सात खंड डिस्प्ले का DIO पिन

स्कीमैटिक्स पर कुछ नोट्स:

  • इस योजनाबद्ध में केवल 1 MCP है, इसका मतलब है कि केवल 8 निर्देशांक ही पूरी तरह से पढ़े जा सकेंगे।
  • मैं अपने चिप चयन के रूप में GPIO पिन का उपयोग करूंगा। चूंकि संभावित 8 एमसीपी के साथ केवल 2 चिप चुनिंदा पिन उपलब्ध हैं।
  • 7 खंड प्रदर्शन एक शिक्षक द्वारा सुझाया गया है, केवल 4 तारों की आवश्यकता है क्योंकि यह अपने स्वयं के प्रोटोकॉल पर काम करता है।
  • टच सेंसर के डिजिटल पिन पर रेसिस्टर्स की पूरी तरह से जरूरत नहीं है, लेकिन सलाह दी जाती है।

घटकों की व्याख्या करना:

  • प्रकाश सेंसर के साथ एमसीपी:

    • एक MCP3008 एक 8 चैनल 10 बिट ADC है:

      • एक MCP3008 प्रकाश सेंसर के एनालॉग मान को पढ़ेगा, यह मान इस बात पर निर्भर करता है कि वर्तमान में सेंसर पर प्रकाश की मात्रा कितनी चमक रही है।
      • मेरे पायथन कोड में मुझे वह एनालॉग मान प्राप्त होगा और इसे 1 या 0. में परिवर्तित कर देगा
  • टच सेंसर:

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

    आरएफआईडी रीडर (एमएफआरसी 522):

    • एक स्थापित पैकेज के साथ एक विशिष्ट प्रोटोकॉल (एसपीआई) का उपयोग करता है।
    • एक स्थापित पैकेज के साथ कोड करना मुश्किल नहीं है
    • टैग को पढ़ता है और टैग का मान लौटाता है
    • आप किसी टैग के लिए एक मान भी लिख सकते हैं, इसलिए हेक्साडेसिमल मान वापस करने के बजाय, यह उदाहरण के लिए एक नाम देता है

    7 खंड (TM1637)

    • आसान कोडिंग के लिए स्थापित पैकेज का भी उपयोग करता है
    • एक पूर्णांक मान के साथ एक चर बनाएं, फिर इसे 4 वर्णों में विभाजित करें और उन वर्णों को दिखाएं

चरण 3: SQL डेटाबेस

SQL डेटाबेस
SQL डेटाबेस

इस परियोजना की ओर तीसरा कदम एक 3NF सामान्यीकृत SQL डेटाबेस बना रहा है!

हमें इसकी आवश्यकता होगी:

  • डेटा सम्मिलित करना
  • डेटा प्राप्त करना और इसे हमारी वेबसाइट पर दिखाना
  • यह देखने में सक्षम होना कि शतरंज के वर्तमान खेल में कितने मोड़ आए हैं!

टेबल्स समझाया:

  • खेल

    • यह ट्रैक करता है कि एक निश्चित गेम किसने जीता और कब खेल खेला गया
    • यहाँ प्राथमिक कुंजी एक GameID. है
    • दिनांक का वर्तमान दिनांक का मानक मान है
    • विजेता और स्कोर बाद में जोड़ा जाएगा, खेल समाप्त होने के बाद!
  • खिलाड़ी (डच में स्पेलर)

    • इन्हें मैन्युअल रूप से डाला जाता है, लेकिन इन्हें RFID कार्ड सिस्टम का उपयोग करके भी डाला जा सकता है।
    • अपने कार्ड में एक नाम लिखें, फिर कार्ड पढ़ें और इस तालिका में नाम डालें
    • यह वेबसाइट पर प्रदर्शित होने वाले प्रत्येक खिलाड़ी के जीत / हार के रिकॉर्ड को भी ट्रैक करता है
  • ऐतिहासिक (इतिहास)

    • ये है टर्न हिस्ट्री
    • जब एक शतरंज का टुकड़ा ले जाया जाता है, तो इसे यहां अपडेट किया जाएगा
    • इसमें 3 विदेशी कुंजियाँ, खिलाड़ी, खेल और शतरंज की बिसात है
    • ReadDate (InleesDatum) वह तारीख है जब सेंसर पढ़ा गया था
    • रीडटाइम रीडडेट के समान है लेकिन टाइमस्टैम्प के साथ है
    • LocationID(LocatieID) उस निर्देशांक का नाम है जहां यह स्थित है। उदाहरण के लिए "ए 3"
  • शतरंज के टुकड़े (डच में शाकस्तुकन)

    • प्रत्येक शतरंज के टुकड़े में एक आईडी, टीम, नाम और एक स्थिति होती है
    • टीम या तो 1 या 2 है, काली या सफेद;
    • एवर पीस का नाम होगा यानि "पॉन 1"
    • स्थिति का मतलब है कि टुकड़ा जीवित है या मर चुका है!

चरण 4: हार्डवेयर

हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर

अब जब हमें सभी सही टुकड़े मिल गए हैं, तो हम कुछ बनाना शुरू कर सकते हैं!

आइए इस भाग को उप चरणों में विभाजित करें क्योंकि इसे समझाना आसान होगा:

  • चरण 1: आप अपने शतरंज की बिसात के प्रत्येक निर्देशांक में एक छेद ड्रिल करना चाहते हैं जैसा कि पहली तस्वीर में दिखाया गया है, एक छेद भी ड्रिल करें जहां आप टच सेंसर, आरएफआईडी रीडर और 7 सेगमेंट डिस्प्ले रखना चाहते हैं।

    बोर्ड के किनारे पर कुछ छेद ड्रिल करना न भूलें, ये बोर्ड के शीर्ष पर विभिन्न घटकों के तारों के लिए हैं। बहुत सारी ड्रिलिंग, मुझे पता है।

  • चरण 2: रास्पबेरी पाई में एक या दो सेंसर तार करने का प्रयास करें, जांचें कि क्या वे काम करते हैं। जैसा कि पहले चरण 2 (स्कीमैटिक्स) में बताया गया है, आप उन्हें एमसीपी एनालॉग रीडर से जोड़ना चाहते हैं।
  • चरण 3: यह मुश्किल और बहुत ही नर्वस व्रेकिंग हो सकता है, क्योंकि जम्पर हेडर बहुत जगह पर अटके नहीं हैं, आप उन सभी को व्यक्तिगत रूप से या एक साथ कई बार बोर्ड पर टेप करना चाह सकते हैं। आपको यह सुनिश्चित करना होगा कि वे शतरंज की बिसात पर अटके रहें, अन्यथा आप सेंसर को सफलतापूर्वक नहीं पढ़ पाएंगे

    सुझाव! यदि यह आपके लिए आसान बनाता है, तो कुछ गोंद वास्तव में सेंसर को टैप करते समय अधिक रखने में मदद कर सकते हैं, मैंने इसे कठिन तरीके से खोजा।

चरण 5: सॉफ्टवेयर

सॉफ्टवेयर
सॉफ्टवेयर

आपके द्वारा ऐसा हार्डवेयर बना लेने के बाद जिसका आप परीक्षण कर सकते हैं, आइए इसके लिए कुछ कोड लिखने का प्रयास करें! यदि आप मेरे कोड को देखना चाहते हैं, तो कृपया मेरे जीथब पर जाएं।

बैक-एंडफर्स्ट हमें स्थापित करने के लिए कुछ पैकेजों की आवश्यकता होगी, मैंने आगे बढ़कर आपके लिए एक सूची बनाई:

  • फ्लास्क

    आपका पायथन कोड इस पर चल रहा होगा

  • कुप्पी-सॉकेटIO

    फ्रंट-एंड और बैक-एंड के बीच संवाद करने के लिए

  • Numpy

    प्रकाश संवेदकों को पढ़ने के लिए उपयोगी, मैट्रिक्स के साथ काम करता है

  • नेटिफेसेस

    7 सेगमेंट डिस्प्ले पर अपना खुद का आईपी पता प्रिंट करने के लिए

  • कुप्पी-कोर्स

    क्रॉस ओरिजिनल रिसोर्स शेयरिंग, पैकेज को विभिन्न डोमेन में साझा करने की अनुमति देता है।

उसके आगे, मैंने कुछ कक्षाएं लिखी हैं और आप उनका उपयोग करने के लिए स्वतंत्र हैं।

फ़्रंट एंड

वेबसाइट कोड मेरे जीथब पेज पर भी उपलब्ध है!

फ्रंट-एंड के लिए मैं Chessboard.js का उपयोग करूंगा। यह आसानी से चलने वाले टुकड़ों के साथ उपयोग में आसान शतरंज की बिसात सम्मिलित करता है!

बोर्ड पर सब कुछ अनुकूलन योग्य है इसलिए मज़े करें! नवीनतम संस्करण डाउनलोड करने के बाद, आपको फ़ाइलों को अपने प्रोजेक्ट में खींचना होगा और उन्हें उस पृष्ठ से लिंक करना होगा जहाँ आप एक बिसात दिखाना चाहते हैं!

उसके बाद, आइए एक बोर्ड बनाने का प्रयास करें, जो बहुत कठिन न लगे:

सबसे पहले, अपने एचटीएमएल में:

दूसरा, आपकी जावास्क्रिप्ट फ़ाइल में:

बोर्ड 1 = शतरंज बोर्ड ('बोर्ड 1', 'प्रारंभ');

और वहां आपके पास है, अब आपको एक बिसात देखने में सक्षम होना चाहिए! सीएसएस फाइलों में बोर्ड को अनुकूलित करने के लिए स्वतंत्र महसूस करें!

अब, हम शतरंज की बिसात पर कुछ चालें देखना चाहते हैं, बहुत कठिन नहीं। लेकिन हमें इसे कस्टमाइज़ करने की आवश्यकता है ताकि मूव कमांड बैक-एंड द्वारा भेजा जा सके। मैं बहुत अधिक विस्तार में नहीं जाऊंगा, लेकिन हम कुछ ऐसा करना चाहते हैं:

new_lijst = [Data.data[0], Data.data[1];commando = new_lijst[0].concat('-', new_lijst[1]); बोर्ड1.मूव (कमांडो);

हम अपने बैक-एंड प्रोग्राम से एक सूची प्राप्त करते हैं, और दो निर्देशांकों के बीच में एक डैश डालते हैं, फिर बोर्ड का उपयोग करें। चाल को निष्पादित करने के लिए कमांड का उपयोग करें!

यह मेरी व्याख्या है कि हमें शतरंजबोर्ड.जेएस प्लगइन की क्या आवश्यकता है, कोड को स्वयं देखने के लिए मेरे जीथब पर जाएं

सिफारिश की: