সুচিপত্র:

ডট জাম্প গেম (Arduino ব্যবহার না করে): 6 টি ধাপ
ডট জাম্প গেম (Arduino ব্যবহার না করে): 6 টি ধাপ

ভিডিও: ডট জাম্প গেম (Arduino ব্যবহার না করে): 6 টি ধাপ

ভিডিও: ডট জাম্প গেম (Arduino ব্যবহার না করে): 6 টি ধাপ
ভিডিও: Learn 5 skills easily with defenders in Bangla tutorial !! ডিফেন্ডারদের সাথে সহজেই 5টি দক্ষতা শিখুন 2024, ডিসেম্বর
Anonim
ডট জাম্প গেম (Arduino ব্যবহার না করে)
ডট জাম্প গেম (Arduino ব্যবহার না করে)

ওভারভিউ

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

এই প্রকল্পের হাইলাইটিং বৈশিষ্ট্য হল যে একটি Arduino বা অন্য কোন মাইক্রোকন্ট্রোলার ব্যবহার নেই। এটি সম্পূর্ণরূপে মৌলিক বৈদ্যুতিক উপাদান থেকে উদ্ভূত এবং যুক্তিযুক্ত চিত্র ইত্যাদির সাহায্যে ফিনিট স্টেট মেশিন (এফএসএম) বাস্তবায়নের সাথে জড়িত।

আগ্রহী? চল শুরু করি.

পূর্বশর্ত:

  • রেসিস্টার, ক্যাপাসিটর, ইন্টিগ্রেটেড সার্কিট (আইসি) এর মতো বৈদ্যুতিক উপাদান সম্পর্কে প্রাথমিক জ্ঞান।
  • লজিক গেটসের প্রাথমিক জ্ঞান (এবং, অথবা, না, ইত্যাদি)
  • ফ্লিপ-ফ্লপ, কাউন্টার, মাল্টিপ্লেক্সার ইত্যাদির কাজ সম্পর্কে জ্ঞান।

দ্রষ্টব্য: উপরের তালিকাভুক্ত পূর্বশর্তগুলি প্রকল্পের পুরো কাজ বোঝার জন্য। যার সম্বন্ধে গভীর জ্ঞান নেই সেও নির্দেশের ধাপগুলি অনুসরণ করে প্রকল্পটি তৈরি করতে পারে।

ধাপ 1: ওয়ার্কিং মডেল তৈরি করা

ওয়ার্কিং মডেল তৈরি করা
ওয়ার্কিং মডেল তৈরি করা
ওয়ার্কিং মডেল তৈরি করা
ওয়ার্কিং মডেল তৈরি করা

প্রথম কাজ হল প্রকল্পের জন্য একটি কাজের মডেল তৈরি করা। তবেই আমরা প্রকল্পের জন্য প্রয়োজনীয় উপকরণগুলি নির্ধারণ করতে পারি। পুরো প্রকল্পটিকে তিনটি ভাগে ভাগ করা যায়।

পর্ব -১: বাধা প্রজন্ম

প্রথমত, ডট পার হওয়ার জন্য আমাদের এলোমেলো বাধা তৈরি করতে হবে। বাধাগুলি ডট পালসের আকারেও থাকবে যা LED অ্যারের এক প্রান্ত থেকে অন্য প্রান্তে চলে যায়।

বাধা তৈরির জন্য, আমরা দুটি টাইমার সার্কিট (সার্কিট ডায়াগ্রাম সংযুক্ত) ব্যবহার করি, একটি উচ্চ ফ্রিকোয়েন্সি (এইচএফ টাইমার) এবং অন্যটি কম ফ্রিকোয়েন্সি (এলএফ টাইমার) সহ। 'এলোমেলো' অংশটি এইচএফ টাইমার দ্বারা পরিচালিত হয় যার আউটপুট এলএফ টাইমারের প্রতিটি উঠতি প্রান্তে দেখা যায় (যা সিএলকে ইনপুট হিসাবে নেওয়া হয়)। বাধা প্রজন্ম নির্দেশনা হল এলএফ টাইমারের প্রতিটি ক্রমবর্ধমান প্রান্তে এইচএফ টাইমারের অবস্থা (1 -> বাধা তৈরি করুন | 0 -> বাধা সৃষ্টি করবেন না)। এলোমেলো বাধা প্রজন্ম নিশ্চিত করার জন্য HF টাইমার প্রতিটি 'JUMP' তে রিসেট করা হয়। এইচএফ টাইমারের আউটপুটটি ডি-ইনপুট হিসাবে একটি ডি ফ্লিপ ফ্লপ (পরবর্তী চক্রের জন্য নির্দেশ সংরক্ষণের জন্য) এলএফ টাইমার আউটপুট হিসাবে সিএলকে ইনপুট সহ দেওয়া হয়।

একবার বাধা তৈরির জন্য বাইনারি নির্দেশনা শেষ হয়ে গেলে, আমাদের LED অ্যারেতে 'বাধা পালস' তৈরি করতে হবে। আমরা এটি একটি 4-বিট কাউন্টারের সাহায্যে করি যার আউটপুট একটি 4x16 ডেমাল্টিপ্লেক্সার (DeMUX) কে দেওয়া হয়। DeMUX এর আউটপুট 16 টি সংশ্লিষ্ট LEDs উজ্জ্বল করবে।

পার্ট -২: জাম্প

জাম্প অ্যাকশনের জন্য, আমরা নির্দেশ হিসাবে পুশ বোতাম ইনপুট গ্রহণ করব। একবার নির্দেশ দেওয়া হলে, ইন-লাইন অবজেক্ট LED জ্বলজ্বল করা বন্ধ করে দেয় এবং এর উপরে আরেকটি LED জ্বলছে, যা একটি লাফের ইঙ্গিত দেয়।

পর্ব-3: ফলাফল

ফলাফলটি এর মতো হবে: যদি বস্তুটি ক্র্যাশ হয়, গেমটি পুনরায় সেট করুন; অন্যথায়, স্কোর বাড়ান।

সংঘর্ষকে উভয়টির ANDing, বাধা সংকেত এবং বাধার স্থল অবস্থানের জন্য বস্তু সংকেত হিসাবে প্রকাশ করা যেতে পারে। যদি সংঘর্ষ না হয়, পয়েন্ট কাউন্টার বৃদ্ধি করা হয় যা 7-সেগমেন্ট ডিসপ্লেতে প্রদর্শিত হয়।

ধাপ 2: উপাদান সংগ্রহ

প্রয়োজনীয় উপাদানগুলি নিম্নরূপ:

  • পিসিবি x 1, ব্রেডবোর্ড x 3
  • LEDs: সবুজ (31), লাল (1), BiColor: লাল+সবুজ (1)
  • পুশ বোতাম x 2
  • 7-সেগমেন্ট ডিসপ্লে x 2
  • আইসি 555 x 3 [টাইমার সার্কিটের জন্য]
  • IC 7474 x 1 (D FlipFlop)
  • আইসি 7490 x 2 (দশক কাউন্টার) [স্কোর প্রদর্শনের জন্য]
  • IC 7447 x 2 (BCD থেকে 7- সেগমেন্ট ডিকোডার) [স্কোর প্রদর্শনের জন্য]
  • IC 4029 x 1 (4-বিট কাউন্টার) [বাধা প্রদর্শনের জন্য]
  • IC 74154 x 1 (DeMUX) [বাধা প্রদর্শনের জন্য]
  • আইসি 7400 x 3 (গেট নয়)
  • IC 7404 x 1 (NAND গেট)
  • আইসি 7408 x 1 (এবং গেট)
  • আইসি সকেট
  • ভোল্টেজ উৎস (5V)

প্রয়োজনীয় সরঞ্জাম:

  • তাতাল
  • তার কর্তনকারী

ধাপ 3: বাধা সৃষ্টি: পার্ট-এ

বাধা সৃষ্টি: পার্ট-এ
বাধা সৃষ্টি: পার্ট-এ
বাধা সৃষ্টি: পার্ট-এ
বাধা সৃষ্টি: পার্ট-এ

প্রথমত, আমাদের বাধা প্রজন্ম সংকেত (উচ্চ/নিম্ন) তৈরির জন্য টাইমার সার্কিটগুলি সেট-আপ করতে হবে।

পূর্বে আলোচিত তত্ত্ব অনুসারে সার্কিট স্থাপন করা হবে। একই জন্য সার্কিট ডায়াগ্রাম উপরে সংযুক্ত করা হয়। সার্কিটটি একটি ব্রেডবোর্ডে প্রয়োগ করা হয় (যদিও এটি পিসিবিতেও প্রয়োগ করা যেতে পারে) নিম্নরূপ:

  • দুটি 555 আইসি এবং ডি ফ্লিপ ফ্লপ (আইসি 7474) রুটিবোর্ডের ডিভাইডার জুড়ে কিছু ফাঁকা জায়গা (4-5 কলাম) মাঝখানে রাখুন।
  • ভোল্টেজ সোর্সের পজিটিভ টার্মিনালের সাথে ব্রেডবোর্ডের উপরের সারি এবং নেগেটিভ টার্মিনালের সাথে নিচের সারি সংযুক্ত করুন।
  • সার্কিট ডায়াগ্রাম অনুসরণ করে আরও সংযোগ করুন। প্রয়োজনীয় সংযোগের পরে, সার্কিটটি উপরের ছবিটির অনুরূপ হবে।

দ্রষ্টব্য: প্রতিরোধের মান R1 এবং R2 এবং ক্যাপ্যাসিট্যান্স সি নিম্নলিখিত সমীকরণ ব্যবহার করে গণনা করা হয়:

T = 0.694 x (R1 + 2 * R2) * C

যেখানে T- এর সময় প্রয়োজন।

D = 0.694 x [(R1 + R2)/T] *100

যেখানে D হল ডিউটি সাইকেল অর্থাৎ ON Time এবং Total Time এর অনুপাত।

এই প্রকল্পে, উচ্চ-ফ্রিকোয়েন্সি টাইমারের জন্য, T = 0.5 সেকেন্ড এবং নিম্ন-ফ্রিকোয়েন্সি টাইমারের জন্য, T = 2 সেকেন্ড।

ধাপ 4: বাধা সৃষ্টি: পার্ট-বি

বাধা প্রজন্ম: পার্ট-বি
বাধা প্রজন্ম: পার্ট-বি
বাধা প্রজন্ম: পার্ট-বি
বাধা প্রজন্ম: পার্ট-বি
বাধা প্রজন্ম: পার্ট-বি
বাধা প্রজন্ম: পার্ট-বি

এখন যখন আমরা জানি যে কখন বাধা তৈরি করতে হবে, এখন আমাদের এটি প্রদর্শন করতে হবে। আমরা একটি 4-বিট কাউন্টার, একটি ডেমাল্টিপ্লেক্সার, একটি টাইমার এবং 16 টি এলইডি ব্যবহার করব। কেন 16? কারণ আমরা ডেমাল্টিপ্লেক্সার ব্যবহার করে কাউন্টারের 4-বিট আউটপুট 16 এলইডি-তে ম্যাপ করব। এর মানে হল যে কাউন্টারটি 0 থেকে 15 গণনা করা হবে এবং ডেমাল্টিপ্লেক্সার সেই সূচির সাথে LED চালু করবে।

টাইমারের ভূমিকা হল গণনার গতি নিয়ন্ত্রণ করা, যেমন বাধা আন্দোলনের গতি। বাধাটি টাইমারের ওয়ান টাইম পিরিয়ডে একটি অবস্থান পরিবর্তন করবে। আপনি বিভিন্ন গতি পেতে আগের ধাপে সমীকরণ ব্যবহার করে R1, R2, এবং C- এর বিভিন্ন মান নিয়ে খেলতে পারেন।

এলইডি ম্যাট্রিক্সের জন্য, একটি সাধারণ স্থানের সাথে একটি রৈখিক ফ্যাশনে 16 টি এলইডি সোল্ডার। প্রতিটি LED এর পজিটিভ টার্মিনাল DeMUX এর সাথে সংযুক্ত হবে (NOT গেট ব্যবহার করে ইনভার্ট করার পর, যেহেতু DeMUX কম আউটপুট দেয়)।

একই জন্য সার্কিট ডায়াগ্রাম উপরে সংযুক্ত করা হয়।

ধাপ 5: জাম্প এবং ফলাফল

জাম্প এবং ফলাফল
জাম্প এবং ফলাফল
জাম্প এবং ফলাফল
জাম্প এবং ফলাফল
জাম্প এবং ফলাফল
জাম্প এবং ফলাফল

পরবর্তী জিনিস হল জাম্প অ্যাকশন। একটি লাফ প্রদর্শনের জন্য, কেবল ম্যাট্রিক্সের উপরে বিভিন্ন রঙের একটি LED রাখুন, এটি গ্রাউন্ড করুন এবং তার +ve টার্মিনালটি একটি বোতামে সংযুক্ত করুন। পুশ বোতামের অন্য প্রান্তটি ভোল্টেজ উৎসে সংযুক্ত করুন।

এছাড়াও, আরেকটি ধাক্কা বোতাম নিন, আগেরটির পাশে রাখা এবং এর একটি টার্মিনাল +5V এর সাথে সংযুক্ত করুন। অন্য টার্মিনালটি একটি NAND গেটে (IC 7404) যায় যা NAND গেটের অন্যান্য ইনপুট দিয়ে JUMP LED (যেমন বস্তুর LED) এর ঠিক নীচে LED তে ইনপুট দেয়। NAND গেটের আউটপুট স্কোর কাউন্টারের RESET (উভয় BCD কাউন্টারের পিন 2 এবং 3) এ যায়। এর সাথে আমরা যা করি তা হল আমরা OBJECT LED (বেস পজিশনে) সিগন্যাল এবং OBSTACLE সিগন্যাল উভয় একই সময়ে দেওয়া হলে স্কোরটি পুনরায় সেট করি, যেমন বস্তু এবং বাধা সংঘর্ষিত হয়।

উভয় পুশ বোতাম একসাথে চাপা আছে তা নিশ্চিত করার জন্য কিছু ব্যবস্থা করুন। আপনি একটি মুদ্রা ব্যবহার করতে পারেন এবং এতে উভয় বোতাম আটকে রাখতে পারেন।

স্কোর কাউন্টার স্থাপনের জন্য, উপরে সংযুক্ত সার্কিট ডায়াগ্রামটি অনুসরণ করুন (ছবির উৎস: www.iamtechnical.com)।

দ্রষ্টব্য: বাধাটির সাথে সংঘর্ষের ক্ষেত্রে স্কোরটি পুনরায় সেট করার জন্য ন্যান্ড গেটের আউটপুটে পিন 2 এবং 3 সংযুক্ত করুন।

ধাপ 6: খুশি বাজানো

খুশি বাজানো!
খুশি বাজানো!
খুশি বাজানো!
খুশি বাজানো!
খুশি বাজানো!
খুশি বাজানো!

এটাই. আপনি আপনার প্রকল্পের সাথে সম্পন্ন করেছেন। আপনি এটিতে কিছু ফিনিশিং যোগ করতে পারেন যাতে এটি ভাল দেখায়। বিশ্রাম ঠিক আছে।

আনন্দ করুন.. !!

প্রস্তাবিত: