সুচিপত্র:

ডিজিটাল দাবা - আপনার দাবা গেম ট্র্যাক করুন অনলাইন: 5 টি ধাপ
ডিজিটাল দাবা - আপনার দাবা গেম ট্র্যাক করুন অনলাইন: 5 টি ধাপ

ভিডিও: ডিজিটাল দাবা - আপনার দাবা গেম ট্র্যাক করুন অনলাইন: 5 টি ধাপ

ভিডিও: ডিজিটাল দাবা - আপনার দাবা গেম ট্র্যাক করুন অনলাইন: 5 টি ধাপ
ভিডিও: স্ত্রী কি তালাক হয়ে যাবে..? #islamic #real #youtube#islamicquotes#allah #video #viral#ameen#status 2024, নভেম্বর
Anonim
ডিজিটাল দাবা - আপনার দাবা খেলা অনলাইন ট্র্যাক করুন
ডিজিটাল দাবা - আপনার দাবা খেলা অনলাইন ট্র্যাক করুন

আমি যখন ছোট ছিলাম তখন থেকেই আমি প্রচুর দাবা খেলে আসছি, এবং যেহেতু কম্পিউটার বা লাইভ প্রতিপক্ষের বিরুদ্ধে দাবা খেলতে ওয়েবের প্রচুর পরিমাণে ওয়েবসাইট রয়েছে, তাই আমি কখনও এমন একটি ওয়েবসাইট খুঁজে পাইনি যা আপনার দাবা খেলা ট্র্যাক করে যে আপনি প্রকৃতপক্ষে বাস্তব জীবনে খেলা। তাই এই প্রকল্পের সাথে আমি এটা উপলব্ধি করার আশা করছি!

আমি আশা করছি:

  • দাবা টুকরা আন্দোলন নড়াচড়া করতে সক্ষম হন
  • অতীতের গেম সম্পর্কে কিছু লিডারবোর্ড দেখুন।
  • সময় ট্র্যাক করুন এবং একটি পেশাদারী গেমের মতো দ্রুত খেলুন।

এটি একটি খুব জটিল প্রকল্প যেহেতু এটি সম্পন্ন হলে 64 টি হালকা সেন্সর এবং 8 টি চিপ পড়তে হবে। যা ইতিমধ্যে একটি বড় কাজ এবং আমরা এমনকি অন্য কোনো সেন্সর গণনা করছি না।

আমার কলেজ আমাদের করণীয় একটি বড় তালিকা দিয়েছে:

  1. আমাদের প্রকল্পের জন্য একটি পরিকল্পিত তৈরি করুন
  2. তথ্য সংরক্ষণ এবং প্রাপ্তির জন্য একটি ডাটাবেস তৈরি করুন।
  3. অ্যাডোব এক্সডি ব্যবহার করে একটি ওয়েবসাইট ডিজাইন করুন
  4. CSS এবং HTML দিয়ে এই ওয়েবসাইটটি পুনরায় তৈরি করুন
  5. অজগর দিয়ে সেন্সর পড়ুন
  6. ফ্লাস্ক ব্যবহার করে ওয়েবসাইটে সেন্সর ডেটা দেখান।

এই নির্দেশনায় আমি আমার যাত্রায় আপনাকে পথ দেখাবো, এবং এই সমস্ত দুsখ কষ্ট এবং পরিত্রাণের মুহূর্তগুলো আমি এই কয়েক সপ্তাহের মধ্যে দিয়েছি।

ধাপ 1: সরবরাহ/সরঞ্জাম

সরবরাহ, উপকরণ এবং সরঞ্জাম একটি সফল প্রকল্পের প্রথম ধাপ!

সরঞ্জাম:

  • তাতাল
  • সোল্ডারিং টিন
  • প্লাস
  • ড্রিলিং মেশিন
  • টেপ

সরবরাহ:

  • মাইক্রো এসডি কার্ড সহ রাস্পবেরি পাই (4GB যথেষ্ট হওয়া উচিত)
  • রাসবেরি পাই টি-মুচি
  • টুকরো দিয়ে দাবা বোর্ড
  • 7 সেগমেন্ট ডিসপ্লে (TM 1637)
  • 2 টাচ সেন্সর (TTP223B)
  • কার্ড সহ RFID রিডার (MFRC522)
  • MCP3008 (আপনি কতদূর যেতে চান তার উপর নির্ভর করে, প্রতিটি MCP এর জন্য আপনি 8 দাবা কোঅর্ডিনেট পড়তে পারেন)
  • লাইট ডিপেন্ডেন্ট রেসিস্টর টাইপ 5288 (আপনার প্রতি MCP এর জন্য 8)
  • হেডার (পুরুষ থেকে পুরুষ এবং মহিলা থেকে পুরুষ)

যদি আপনার সবকিছু কেনার প্রয়োজন হয়, আনুমানিক খরচ মূল্য শিপিং খরচ সহ প্রায় 125 ইউরো হতে হবে (শুধুমাত্র সরবরাহ)!

আপনার প্রয়োজনীয় সবকিছুতে লিঙ্ক এবং দামের সাথে একটি এক্সেল ফাইল সংযুক্ত আছে!

ধাপ 2: পরিকল্পনা এবং পরিকল্পনা

পরিকল্পনা এবং পরিকল্পনা!
পরিকল্পনা এবং পরিকল্পনা!
পরিকল্পনা এবং পরিকল্পনা!
পরিকল্পনা এবং পরিকল্পনা!

এই প্রকল্পের পরবর্তী ধাপ হল একটি পরিকল্পিত তৈরি করা। আমি 2 তৈরি করেছি: একটি রুটিবোর্ডে এবং একটি সম্পূর্ণরূপে বৈদ্যুতিন। সবকিছু পরিষ্কার রাখার জন্য এবং আমরা কোন অপ্রয়োজনীয় জিনিসের সাথে সংযোগ স্থাপন করি না তা নিশ্চিত করার জন্য আমাদের এই পরিকল্পনার প্রয়োজন হবে!

যদি কেউ আগ্রহী হয় তবে আমি এই স্কিম্যাটিক্স তৈরি করতে "ফ্রিজিং" নামে একটি প্রোগ্রাম ব্যবহার করেছি।

রঙ - সংকেত প্রণালী:

  • লাল = বিদ্যুৎ সরবরাহ
  • সবুজ = সংযোগ
  • নীল = মাটি

রাস্পবেরি পাই সংযোগ:

  • 3V3 => ব্রেডবোর্ডে ভিসি লাইন, সবকিছুকে শক্তি দেয়
  • 5V => 7 সেগমেন্ট ডিসপ্লের VCC
  • GND:

    • ব্রেডবোর্ডে মাটি
    • 7 সেগমেন্ট ডিসপ্লের গ্রাউন্ড
  • GPIO4 => MCP3008 এর ক্লক সিলেক্ট পিন
  • GPIO10 => MCP3008 এর MOSI পিন
  • GPIO9 => MCP3008 এর MISO পিন
  • GPIO11 => MCP3008 এর CLK পিন
  • GPIO7 => MFRC522 এর SDA পিন
  • GPIO19 => প্রথম টাচ সেন্সরের ডিআইজি পিন
  • GPIO26 => দ্বিতীয় টাচ সেন্সরের ডিআইজি পিন
  • GPIO20 => সাত সেগমেন্ট ডিসপ্লের CLK পিন
  • GPIO21 = সপ্তম সেগমেন্ট ডিসপ্লের DIO পিন

একটি দম্পতি পরিকল্পিত নোট:

  • এই পরিকল্পনায় রয়েছে মাত্র 1 MCP
  • আমি আমার চিপ নির্বাচন হিসাবে GPIO পিন ব্যবহার করব। যেহেতু সম্ভাব্য 8 MCP এর সাথে শুধুমাত্র 2 টি চিপ সিলেক্ট পিন পাওয়া যায়।
  • 7 সেগমেন্ট ডিসপ্লে একটি শিক্ষক দ্বারা প্রস্তাবিত, শুধুমাত্র 4 টি তারের প্রয়োজন কারণ এটি তার নিজস্ব প্রোটোকলে কাজ করে।
  • টাচ সেন্সরের ডিজিটাল পিনে থাকা প্রতিরোধকগুলির সম্পূর্ণ প্রয়োজন হয় না, তবে পরামর্শ দেওয়া হয়।

উপাদানগুলি ব্যাখ্যা করা:

  • হালকা সেন্সর সহ এমসিপি:

    • একটি MCP3008 একটি 8 চ্যানেল 10 বিট ADC:

      • একটি MCP3008 আলোর সেন্সরের এনালগ মান পড়বে, এই মানটি সেন্সরে বর্তমানে কতটা আলো জ্বলছে তার উপর নির্ভর করে।
      • আমার পাইথন কোডে আমি সেই এনালগ মানটি গ্রহণ করব এবং এটিকে 1 বা 0 এ রূপান্তর করব
  • স্পর্শ সেন্সর:

    ঠিক একটি বোতামের মতো কাজ করে, আমি একটি কলব্যাক পদ্ধতি সহ এর জন্য একটি ক্লাস ব্যবহার করি। এই বিষয়ে পরে

    RFID রিডার (MFRC 522):

    • ইনস্টল করা প্যাকেজের সাথে একটি নির্দিষ্ট প্রোটোকল (SPI) ব্যবহার করে।
    • ইনস্টল করা প্যাকেজ দিয়ে কোড করা কঠিন নয়
    • ট্যাগ পড়ে এবং ট্যাগের মান ফেরত দেয়
    • আপনি একটি ট্যাগে একটি মান লিখতে পারেন, তাই হেক্সাডেসিমাল মান ফেরত দেওয়ার পরিবর্তে, এটি উদাহরণস্বরূপ একটি নাম প্রদান করে

    7 সেগমেন্ট (TM1637)

    • এছাড়াও সহজ কোডিংয়ের জন্য একটি ইনস্টল করা প্যাকেজ ব্যবহার করে
    • একটি পূর্ণসংখ্যা মান সহ একটি পরিবর্তনশীল তৈরি করুন, তারপর এটি 4 টি অক্ষরে বিভক্ত করুন এবং সেই অক্ষরগুলি দেখান

ধাপ 3: এসকিউএল ডাটাবেস

এসকিউএল ডাটাবেস
এসকিউএল ডাটাবেস

এই প্রকল্পের দিকে তৃতীয় ধাপ হল একটি 3NF স্বাভাবিক SQL ডাটাবেস তৈরি করা!

আমাদের এর জন্য প্রয়োজন হবে:

  • তথ্য োকানো
  • ডেটা পাওয়া এবং আমাদের ওয়েবসাইটে দেখানো
  • বর্তমান দাবা খেলায় ঠিক কতটা মোড় ঘুরে গেছে তা দেখতে পারা!

টেবিল ব্যাখ্যা করা হয়েছে:

  • গেমস

    • এটি একটি নির্দিষ্ট খেলা কে জিতেছে এবং কখন খেলাটি খেলেছে তা ট্র্যাক করে
    • এখানে প্রাথমিক কী হল একটি GameID
    • তারিখের বর্তমান তারিখের একটি মান আছে
    • গেমটি শেষ হওয়ার পরে বিজয়ী এবং স্কোর যোগ করা হবে!
  • খেলোয়াড় (ডাচ ভাষায় স্পিলার)

    • এগুলি ম্যানুয়ালি ertedোকানো হয়, কিন্তু RFID কার্ড সিস্টেম ব্যবহার করেও insোকানো যায়।
    • আপনার কার্ডে একটি নাম লিখুন, তারপরে কার্ডটি পড়ুন এবং এই টেবিলে নামটি সন্নিবেশ করান
    • এটি প্রতিটি খেলোয়াড়ের জয় / পরাজয়ের রেকর্ডও ট্র্যাক করে, যা ওয়েবসাইটে প্রদর্শিত হবে
  • ইতিহাসবিদ (ইতিহাস)

    • এই পালা ইতিহাস
    • যখন একটি দাবা অংশ সরানো হয়, এটি এখানে আপডেট করা হবে
    • এটিতে 3 টি বিদেশী কী, খেলোয়াড়, খেলা এবং দাবা আছে
    • ReadDate (InleesDatum) হল সেই তারিখ যখন সেন্সরটি পড়েছিল
    • ReadTime ReadDate এর মত কিন্তু টাইমস্ট্যাম্প সহ
    • লোকেশনআইডি (LocatieID) যে স্থানের উপর স্থাপিত হয় তার নাম। উদাহরণস্বরূপ "a3"
  • দাবা টুকরা (ডাচ ভাষায় Schaakstukken)

    • প্রতিটি দাবা অংশের একটি আইডি, দল, নাম এবং একটি স্থিতি রয়েছে
    • দলটি 1 বা 2, কালো বা সাদা;
    • এভার পিসের নাম হবে অর্থাত্ "পেওন 1"
    • স্ট্যাটাস মানে টুকরাটি জীবিত বা মৃত!

ধাপ 4: হার্ডওয়্যার

হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার

এখন যেহেতু আমরা সব সঠিক টুকরা পেয়েছি, আমরা কিছু তৈরি শুরু করতে পারি!

আসুন এই অংশটিকে উপ ধাপে ভাগ করি কারণ এটি ব্যাখ্যা করা সহজ হবে:

  • ধাপ 1: আপনি আপনার চেসবোর্ডের প্রতিটি স্থানের মধ্যে একটি ছিদ্র ড্রিল করতে চান যেমনটি প্রথম ছবিতে দেখানো হয়েছে, একটি ছিদ্রও ড্রিল করুন যেখানে আপনি স্পর্শ সেন্সর, RFID রিডার এবং 7 সেগমেন্ট ডিসপ্লে রাখতে চান।

    বোর্ডের পাশে কিছু গর্ত ড্রিল করতে ভুলবেন না, এগুলি বোর্ডের উপরে বিভিন্ন উপাদানগুলির তারের জন্য। প্রচুর ড্রিলিং, আমি জানি।

  • ধাপ 2: রাস্পবেরি পাইতে এক বা দুটি সেন্সর যুক্ত করার চেষ্টা করুন, তারা কাজ করে কিনা তা পরীক্ষা করুন। আপনি তাদের MCP এনালগ রিডারের সাথে সংযোগ করতে চান যেমনটি আগে ধাপ 2 (স্কিম্যাটিক্স) -এ ব্যাখ্যা করা হয়েছে।
  • ধাপ 3: এটি চতুর এবং খুব স্নায়বিক ক্ষয় হতে পারে, যেহেতু জাম্পার শিরোনামগুলি খুব বেশি আটকে নেই, তাই আপনি তাদের সবাইকে পৃথকভাবে বা একাধিকবার বোর্ডে টেপ করতে চাইতে পারেন। আপনাকে নিশ্চিত করতে হবে যে তারা দাবা বোর্ডে আটকে আছে, অন্যথায় আপনি সফলভাবে সেন্সরগুলি পড়তে পারবেন না

    টিপ! যদি এটি আপনার জন্য এটি সহজ করে তোলে, কিছু আঠালো আসলে সেন্সরগুলিকে টেপ করার সময় আরও বেশি জায়গায় রাখতে সাহায্য করতে পারে, আমি এটি কঠিন উপায় আবিষ্কার করেছি।

ধাপ 5: সফটওয়্যার

সফটওয়্যার
সফটওয়্যার

হার্ডওয়্যার তৈরি করার পর যা আপনি পরীক্ষা করতে পারেন, আসুন এর জন্য কিছু কোড লেখার চেষ্টা করি! আপনি যদি আমার কোডটি দেখতে চান তবে দয়া করে আমার গিথুবের দিকে যান।

ব্যাক-এন্ড প্রথমে আমাদের ইনস্টল করার জন্য কয়েকটি প্যাকেজের প্রয়োজন হবে, আমি এগিয়ে গিয়ে আপনার জন্য একটি তালিকা তৈরি করেছি:

  • ফ্লাস্ক

    এই আপনার পাইথন কোড চলমান হবে

  • ফ্লাস্ক-সকেট আইও

    ফ্রন্ট-এন্ড এবং ব্যাক-এন্ডের মধ্যে যোগাযোগ করা

  • অসাড়

    হালকা সেন্সর পড়ার জন্য দরকারী, ম্যাট্রিক্সের সাথে কাজ করে

  • নেটফেস

    7 সেগমেন্ট ডিসপ্লেতে আপনার নিজের আইপি অ্যাড্রেস প্রিন্ট করতে

  • ফ্লাস্ক-করস

    ক্রস অরিজিন রিসোর্স শেয়ারিং, বিভিন্ন ডোমেইন জুড়ে প্যাকেজ শেয়ার করার অনুমতি দেয়।

তারপরে, আমি কয়েকটি ক্লাস লিখেছি এবং আপনি সেগুলি ব্যবহার করতে পারেন।

সামনের অংশ

ওয়েবসাইটের কোডটি আমার গিথুব পৃষ্ঠাতেও উপলব্ধ!

সামনের প্রান্তের জন্য আমি Chessboard.js ব্যবহার করব। এটি একটি সহজে ব্যবহারযোগ্য চেসবোর্ড সন্নিবেশ করায় যা সহজে সরানো যায়।

বোর্ডে সবকিছু কাস্টমাইজযোগ্য তাই মজা করুন! সর্বশেষ সংস্করণটি ডাউনলোড করার পরে, আপনাকে ফাইলগুলি আপনার প্রকল্পে টেনে আনতে হবে এবং সেগুলিকে সেই পৃষ্ঠায় লিঙ্ক করতে হবে যেখানে আপনি একটি দাবা বোর্ড দেখাতে চান!

তারপরে, আসুন একটি বোর্ড তৈরি করার চেষ্টা করি, খুব কঠিন মনে হয় না:

প্রথমে, আপনার এইচটিএমএলে:

দ্বিতীয়ত, আপনার জাভাস্ক্রিপ্ট ফাইলে:

board1 = ChessBoard ('board1', 'start');

এবং সেখানে আপনি এটি আছে, আপনি এখন একটি দাবা বোর্ড দেখতে সক্ষম হওয়া উচিত! CSS ফাইলে বোর্ড কাস্টমাইজ করার জন্য নির্দ্বিধায়!

এখন, আমরা দাবা বোর্ডে কিছু পদক্ষেপ দেখতে চাই, খুব কঠিন নয়। কিন্তু আমাদের এটি কাস্টমাইজ করতে হবে যাতে সরানো কমান্ডটি ব্যাক-এন্ড দ্বারা পাঠানো হয়। আমি খুব বেশি বিশদে যাব না, কিন্তু আমরা এরকম কিছু করতে চাই:

new_lijst = [Data.data [0], Data.data [1]; commando = new_lijst [0].concat ('-', new_lijst [1]); board1.move (কমান্ডো);

আমরা আমাদের ব্যাক-এন্ড প্রোগ্রাম থেকে একটি তালিকা পাই, এবং দুটি স্থানাঙ্কের মধ্যে একটি ড্যাশ রাখি, তারপর পদক্ষেপটি চালানোর জন্য board.move কমান্ডটি ব্যবহার করুন!

আমাদের chessboard.js প্লাগইনটি কি দরকার তা আমার ব্যাখ্যা, কোডটি একবার দেখে নেওয়ার জন্য আমার গিথুবের দিকে যান

প্রস্তাবিত: