সুচিপত্র:

স্ট্যাকার্স আর্কেড গেম: 6 টি ধাপ (ছবি সহ)
স্ট্যাকার্স আর্কেড গেম: 6 টি ধাপ (ছবি সহ)

ভিডিও: স্ট্যাকার্স আর্কেড গেম: 6 টি ধাপ (ছবি সহ)

ভিডিও: স্ট্যাকার্স আর্কেড গেম: 6 টি ধাপ (ছবি সহ)
ভিডিও: Brawl Stars Patch Sticker Stitching Stars Embroidery Stickers Kid Cartoon Stitch Patch Badge diy 2024, ডিসেম্বর
Anonim
স্ট্যাকার্স আর্কেড গেম
স্ট্যাকার্স আর্কেড গেম

হাই বন্ধুরা, আজ আমি আপনার সাথে এই আশ্চর্যজনক আর্কেড গেমটি ভাগ করতে চাই যা আপনি একটি গুচ্ছ Ws2812b LEDs এবং একটি মাইক্রোকন্ট্রোলার/FPGA দিয়ে তৈরি করতে পারেন। স্ট্যাক ওভারফ্লো দেখুন - আমাদের একটি ক্লাসিক আর্কেড গেমের হার্ডওয়্যার বাস্তবায়ন। একটি স্কুল প্রকল্প হিসাবে যা শুরু হয়েছিল তা দ্রুত প্রেমের শ্রম হয়ে উঠেছিল কারণ আমরা আমাদের গেমটি বিকাশ করতে এবং এটি থেকে আরও শিখতে (এবং xD প্রক্রিয়ায় আমাদের পড়াশুনাকে অবহেলা করার জন্য) বেশি বেশি সময় ব্যয় করতে শুরু করেছিলাম। শেষ পর্যন্ত, আমাদের খেলাটি আমাদের বিদ্যালয় দ্বারা এত ভালভাবে নির্মিত এবং ভালভাবে গ্রহণ করা হয়েছিল যে এটি বাজেয়াপ্ত করা হয়েছিল (শিক্ষার্থীর পরবর্তী ব্যাচের জন্য ডেমো উপাদান হিসাবে)। আচ্ছা, আমরা সবসময় একটি দ্বিতীয় নির্মাণ করতে পারেন। চল শুরু করি!

গেমটির অনলাইন সংস্করণ:

ধাপ 1: আপনার কি দরকার?

তোমার কি দরকার?
তোমার কি দরকার?
তোমার কি দরকার?
তোমার কি দরকার?
তোমার কি দরকার?
তোমার কি দরকার?
তোমার কি দরকার?
তোমার কি দরকার?

উপকরণ:

1. একটি মাইক্রোকন্ট্রোলার/মাইক্রোকম্পিউটার/এফপিজিএ - এফপিজিএ আমাদের গেমের যুক্তি বাস্তবায়নের জন্য ব্যবহৃত হয়। আপনার বোর্ড চয়ন করুন, আমাদের প্রকল্পের জন্য আমাদের মোজো এফপিজিএ বোর্ড ব্যবহার করতে হবে। অনির্বাচিতদের জন্য, এটি এমন এক ধরণের বোর্ড যা কোডের পরিবর্তে এর কার্যকারিতা বাস্তবায়নের জন্য হার্ডওয়্যার ব্যবহার করে। অতএব, আমি বলব এটির বরং নিম্ন স্তর এবং সম্পূর্ণ ভিন্ন যদি আপনি Arduino বা Pi ব্যবহার করছেন। আপনি যদি অন্য বোর্ড ব্যবহার করেন, তাহলে আপনাকে নিজের কোড লিখতে হবে, কিন্তু এই গেমটি কোড করা খুবই সহজ এবং আরে! এখন আপনিও কোডিং শিখতে পারেন!

2. Ws2812b LEDs - এখানে আমরা আমাদের গেমের জন্য ডিসপ্লে নির্মাণের জন্য LEDs ব্যবহার করছি। আপনি যদি xD এর আগে Ws2812b এর স্পর্শ না করেন তবে নির্মাতা হতে পারবেন না। এটি একক ঠিকানাযোগ্য অর্থ যে আপনি একক LED গুলি কেটে ফেলতে পারেন এবং আপনার পছন্দ মতো যেকোনো ফর্মেশনে পেস্ট করতে পারেন। এবং এটি RGB এর মানে হল যে আপনি আপনার পছন্দের যে কোন রঙ আউটপুট করতে পারেন। উপরন্তু, FastLED - Ws2812b নিয়ন্ত্রণের জন্য Arduino লাইব্রেরি খুব উন্নত। যদি আপনার কাছে না থাকে তবে আমি FPGA এর জায়গায় Arduino ব্যবহার করার জন্য লোকদের সুপারিশ করব। আপনি তাওবাও/আমাজন থেকে এলইডি কিনতে পারেন কিন্তু আমরা সিঙ্গাপুরের সিম লিম টাওয়ার থেকে আমাদের কিনেছি।

3. কাঠ-বহিরাগত আবরণ জন্য আমরা 1cm- পুরু পাতলা পাতলা কাঠ ব্যবহার এবং LED ম্যাট্রিক্স জন্য আমরা 0.3cm- পুরু পাতলা পাতলা কাঠ ব্যবহার। আমরা আমাদের স্কুলের ফ্যাব ল্যাব থেকে স্ক্র্যাপ কাঠের সরবরাহ পেয়েছি।

4. আলোর বিস্তারকারী এক্রাইলিক - আমাদের স্ক্রিনের জন্য, আমরা বিভিন্ন ধরনের এক্রাইলিক চেষ্টা করেছি এবং আমরা এই ফ্রস্টেড এক্রাইলিককে PL -422 বলে পেয়েছি যা আলো ছড়িয়ে দেওয়ার জন্য সত্যিই ভাল। যদি আপনি সঠিক মডেলটি খুঁজে না পান তবে হিমযুক্ত এক্রাইলিকগুলি সন্ধান করার চেষ্টা করুন। আমরা সিঙ্গাপুরে দামা প্লাস্টিক থেকে আমাদের কিনেছি।

5. ফোম বোর্ড - আলোর প্রতিটি পৃথক পিক্সেল আলাদা করার জন্য, আমাদের একটি গ্রিড কাঠামোর প্রয়োজন ছিল এবং এই ফোমটি এটি করার জন্য আদর্শ উপাদান। আমরা আমাদের স্কুলের বইয়ের দোকানে 0.5 সেমি-পুরু ফেনা বোর্ড কিনেছি।

6. বড় লাল বোতাম - ঠিক আছে, আমাদের জন্য এত বড় লাল বোতাম থাকা আবশ্যক নয় কিন্তু মানুষের স্ল্যাম করার জন্য একটি বোতাম থাকা সবসময় ভাল! xD আমরা এটি সিঙ্গাপুরের সিম লিম টাওয়ারে কিনেছি।

সরঞ্জাম:

1. কাঠের আঠালো

2. সোল্ডারিং আয়রন

3. ঝাল

4. তারের। যদি আপনার শক্ত শক্তির তুলনায় নরম তার থাকে তবে এটি সর্বোত্তম। এবং মাল্টিকোরের তুলনায় একক কোর।

5. ওয়্যার স্ট্রিপার

6. ওয়্যার কর্তনকারী

7. 1 মিমি ড্রিল বিট দিয়ে ড্রিল করুন

8. স্ক্রল করাত

9. ব্যান্ড দেখেছি

ডিবাগিং:

1. পরিবর্তনশীল পাওয়ার সাপ্লাই ইউনিট

2. অসিলোস্কোপ

ধাপ 2: দ্রুত প্রোটোটাইপিং

দ্রুত প্রোটোটাইপিং
দ্রুত প্রোটোটাইপিং
দ্রুত প্রোটোটাইপিং
দ্রুত প্রোটোটাইপিং
দ্রুত প্রোটোটাইপিং
দ্রুত প্রোটোটাইপিং
দ্রুত প্রোটোটাইপিং
দ্রুত প্রোটোটাইপিং

আমাদের প্রকল্পের জন্য, আমরা আমাদের এলইডি ম্যাট্রিক্স তৈরির আগে এবং আমাদের গেমটি প্রোগ্রাম করার আগে দ্রুত প্রোটোটাইপিং নিযুক্ত করেছি। এটি করার কারণ হল যে আমরা LED ম্যাট্রিক্স তৈরি করতে চাই না কেবল বুঝতে পারি যে আমাদের কোড কাজ করে না বা আমাদের গেম লজিক ত্রুটিপূর্ণ হয়।

হার্ডওয়্যারের দিকে, প্রথম পর্যায়ে আমরা কেবল আমাদের নিজস্ব সাধারণ LED ম্যাট্রিক্সে হালকা প্যাটার্নগুলি স্থানান্তর করার জন্য আমাদের যুক্তি পরীক্ষা করেছি। একবার আমরা পরীক্ষা করে দেখলাম যে যুক্তি ঠিকঠাক কাজ করে, তারপর আমরা আমাদের গেম লজিককে বিভিন্ন সারি দিয়ে পরীক্ষা করার জন্য 5 Ws2812b LEDs এর স্ট্রিপগুলি কেটে ফেললাম। একবার এটি কার্যকর হয়ে গেলে, আমরা পুরো স্কেলে LED ম্যাট্রিক্স তৈরি করতে এগিয়ে যাই।

আমরা সেরা আলোর বিচ্ছুরক হিসাবে PL-422 এর জন্য স্থির হওয়ার আগে LED এর সাথে বিভিন্ন এক্রাইলিক নমুনা পরীক্ষা করেছিলাম। এবং বিভাজক কাঠামোর জন্য আমরা LED কে সম্পূর্ণভাবে ছড়িয়ে দেওয়ার জন্য বিভিন্ন উচ্চতা পরীক্ষা করেছি। শেষ পর্যন্ত আমরা বুঝতে পারলাম 3cm*3cm বর্গ 4cm উচ্চতার সাথে বিস্তারের জন্য সেরা। এই অনুকূল আকারের উপর ভিত্তি করে, আমরা স্কয়ারের মধ্যে ফোমের জন্য 0.5 সেন্টিমিটার ফাঁক রেখে 5 x 11 এলইডি ম্যাট্রিক্সের জন্য প্লাইউডের আকার কী প্রয়োজন তা নির্ধারণ করেছি।

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

ধাপ 3: কেসিং তৈরি করা

কেসিং তৈরি করা
কেসিং তৈরি করা
কেসিং তৈরি করা
কেসিং তৈরি করা
কেসিং তৈরি করা
কেসিং তৈরি করা
কেসিং তৈরি করা
কেসিং তৈরি করা

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

পাতলা পাতলা কাঠের পিছনের জন্য, আমরা সহজেই ভিতরে ইলেকট্রনিক্স অ্যাক্সেস করতে চেয়েছিলাম তাই আমরা এটি একটি লক-ইন-প্লেস টুকরোতে তৈরি করেছি যা আপনি যখন খুশি সহজেই সরিয়ে ফেলতে পারেন।

বোতামটি সংযুক্ত করার জন্য, আমরা প্রথমে একটি বৃত্ত আঁকলাম বোতামের মাইক্রোসুইচ ব্যাসের আকার (বোতামের নিচের লম্বা অংশ)। তারপর আমরা প্রান্তের কাছাকাছি একটি গর্ত ড্রিল এবং স্ক্রল করাত ব্যবহার করে একটি বৃত্ত দেখেছি। তারপরে আমরা বোতামটি রেখেছি এবং এটিতে স্ক্রু করেছি।

আমরা আগে যে হিসাবগুলো মাপতাম সেই অনুযায়ী আমরা আমাদের LED ম্যাট্রিক্সের ভিত্তি হিসেবে পাতলা পাতলা পাতলা টুকরো কেটে ফেলি।

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

ধাপ 4: LED ম্যাট্রিক্স তৈরি করা

এলইডি ম্যাট্রিক্স তৈরি করা
এলইডি ম্যাট্রিক্স তৈরি করা
এলইডি ম্যাট্রিক্স তৈরি করা
এলইডি ম্যাট্রিক্স তৈরি করা

আমরা আগে যে পাতলা টুকরোটি কেটে ফেলেছিলাম তা ব্যবহার করে, আমরা প্রথমে আমাদের ফেনা কাঠামোর উপর ভিত্তি করে একটি বর্গক্ষেত্র আঁকতে এবং প্রতিটি বর্গক্ষেত্রের মাঝখানে একটি ক্রস অঙ্কন করে প্রতিটি LED এর অবস্থান চিহ্নিত করি যেখানে আমাদের LED লাগানো উচিত। তারপরে আমরা তারের মধ্য দিয়ে আসা এবং প্রতিটি LED তে ঝালাই করার জন্য LED এর প্রতিটি পাশে 3 টি ছোট গর্ত ড্রিল করি।

আমরা LED এর প্রতিটি সারিকে তাদের ডেটা ইন এবং ডেটা আউট পিন দ্বারা ডেইজি-চেইন করে থাকি এবং আমরা প্রতিটি GND এবং VCC কে একটি সাধারণ তারের সাথে বিক্রি করি। শীর্ষস্থানীয় ডেটা ইন প্রতিটি সারির জন্য হালকা নিদর্শন তৈরি করবে এবং আমরা এটিকে মাইক্রোকন্ট্রোলার/এফপিজিএর পিনআউটের সাথে সংযুক্ত করেছি। আপনি একটি সারির শেষ ডাটাকে অন্য সারির নেতৃস্থানীয় ডেটা ইন -তে বিক্রি করতে পারেন। Ws2812b LED যেভাবে কাজ করে তা হল যে প্রতিটি LED- তে একটি IC থাকে যা তার থেকে প্রয়োজনীয় ডেটা নেবে এবং বাকিটা চেইনের নিচে দিয়ে যাবে। আমরা আমাদের এলইডি কে আরেকটি চমত্কার ইন্সট্রাকটেবলের উপর ভিত্তি করে (আসলে, আমরা এটি ঠিক কপি করেছি! XD)

এখানে আমরা নরম তারের ব্যবহারের গুরুত্বের উপর জোর দিতে চাই। আপনি যদি পিন -এর প্রধান ডাটা ইন পিনের জন্য অনমনীয়, শক্ত তার ব্যবহার করেন, তাহলে প্রতিবার যখন আপনি তারের উপর টান দেন তখন আপনার Ws2812b এর উপর তামার প্যাডিং টানতে পারে যা এটি ধ্বংস করবে। এই প্রকল্পে, আমরা নরম তারের পরিবর্তনের আগে, আমরা মোট 40 টি এলইডি ধ্বংস করেছি যা আমাদের প্রকল্পের জন্য প্রয়োজনীয় এলইডিগুলির 1/3।

নির্দেশযোগ্য:

ধাপ 5: গেম কোড লেখা এবং হার্ডওয়্যার ডিবাগ করা

গেম কোড লেখা এবং হার্ডওয়্যার ডিবাগ করা
গেম কোড লেখা এবং হার্ডওয়্যার ডিবাগ করা
গেম কোড লেখা এবং হার্ডওয়্যার ডিবাগ করা
গেম কোড লেখা এবং হার্ডওয়্যার ডিবাগ করা
গেম কোড লেখা এবং হার্ডওয়্যার ডিবাগ করা
গেম কোড লেখা এবং হার্ডওয়্যার ডিবাগ করা

মোজো লুসিড এইচডিএল -এ চলে, যা সেখানকার সবচেয়ে জনপ্রিয় ভাষা নয়। আমরা লুসিডে কোন Ws2812b LED লাইব্রেরি খুঁজে পাই না তাই আমরা আমাদের নিজস্ব লাইব্রেরি লেখার আশ্রয় নিই, যা খুবই আকর্ষণীয় অভিজ্ঞতা। এটি করার জন্য, আমরা প্রথমে Arduino এর FastLED লাইব্রেরি ব্যবহার করে পাস হওয়া সংকেত বিশ্লেষণ করেছি এবং এর প্রতিলিপি করার জন্য কোড লিখেছি। এখানে হার্ডওয়্যার ডিবাগিং এর একটি কৌশল, সিগন্যাল বিশ্লেষণের জন্য অসিলোস্কোপ খুবই উপকারী, এটি আপনার নিজের সিগন্যাল ডিবাগ করা যেটা আপনি নিশ্চিত নন বা অন্য সিগন্যাল চেক এবং কপি করছেন।

Ws2812b এর জন্য লাইব্রেরি লেখার পর, আমরা গেমের জন্য কোডে এগিয়ে যাই, আমরা বিট শিফট ফাংশন ব্যবহার করে প্রতিটি ব্লককে বাম এবং ডানদিকে সরিয়ে নিয়েছি এবং বিটওয়াইজ এবং এবং এবং প্রতিটি সারির স্কোয়ারগুলি পূর্ববর্তী সারিতে ব্যবহার করেছি। আপনি আরডুইনোতে এটি বাস্তবায়নের কথা ভাবতে পারেন, যা এত কঠিন হওয়া উচিত নয়। আমরা এমনকি এর মজা করার জন্য গেম স্ক্রিন কোডেড করেছি!

আমাদের গেমের 2 টি স্তর ছিল, যা দৃশ্যমান স্ট্যাকিং গেম (সবুজ) এবং দ্বিতীয় স্তরের অদৃশ্য স্ট্যাকিং গেম (নীল)।

আমাদের একটি ওয়ার্কিং কোড এবং LED ম্যাট্রিক্স কাজ করার পরেও, কখনও কখনও আমরা এখনও সমস্যার মুখোমুখি হই যেমন লাইট জ্বলজ্বলে বা লাইট জ্বালানো যখন তারা উচিত নয়। সমস্যাটি সাধারণত অনুপযুক্ত গ্রাউন্ডিং, পাওয়ার সাপ্লাই লেভেল বা হস্তক্ষেপের কারণে হয়। মোজো/আরডুইনো এর বিদ্যুৎ সরবরাহ পর্যাপ্ত বা খুব বেশি কিনা তা যাচাই করার জন্য এখানে আপনার পরিবর্তনশীল পাওয়ার সাপ্লাই ইউনিটের মতো অন্যান্য হার্ডওয়্যার ডিবাগিং সরঞ্জামগুলির প্রয়োজন হবে। আমার অভিজ্ঞতায়, Ws2812b এর 2.8v - 5v থেকে কাজ করার ভোল্টেজের বেশ বিস্তৃত পরিসর রয়েছে। এখানে আমার একটি ভিডিও আছে যা দেখায় যে আমি শক্তি বাড়ানোর পর লাইটগুলো সব পাগল হয়ে যাচ্ছে।

যাইহোক, আরও চেকিং থেকে জানা গেছে যে আমাদের কিছু অনুপযুক্ত সোল্ডার ছিল, সেগুলি আবার পুনরায় সোল্ডার করার পরে, আমাদের সমস্যার সমাধান হয়েছে। হস্তক্ষেপ বা ক্রস-টকিংয়ের ক্ষেত্রেও সমস্যা হতে পারে, তবে সৌভাগ্যক্রমে যথেষ্ট, আমরা তাদের কারও মুখোমুখি হইনি।

Github কোড:

Arduino Bitwise Shift:

Arduino Bitwise এবং:

ধাপ 6: সবকিছু একসাথে রাখা

সবকিছু একত্রিত করা
সবকিছু একত্রিত করা
সবকিছু একত্রিত করা
সবকিছু একত্রিত করা
সবকিছু একত্রিত করা
সবকিছু একত্রিত করা
সবকিছু একত্রিত করা
সবকিছু একত্রিত করা

আপনি আবরণ এবং LED ম্যাট্রিক্স আছে। এখন সময় এসেছে সবকিছু একত্রিত করার। প্রথমে আমরা সামনের দিকে ফোম এবং তার পিছনে LED ম্যাট্রিক্স রাখি এবং অবস্থানটি সামঞ্জস্য করি। কারণ ফোমের খুব বেশি ঘর্ষণ হয় এটি কেবল ঘর্ষণ মাউন্ট করা হয়েছিল যখন এলইডি ম্যাট্রিক্সটি গরম আঠালো থাকে। তারপরে আমরা গ্রিডের সামনে পর্দা রাখলাম। আমরা তারপর প্রতিটি সারির পিন মাইক্রোকন্ট্রোলারে প্লাগ করে খেলতে শুরু করলাম!: ডি

এই প্রজেক্টের একটা জিনিস আমার ভালো লেগেছে তা হল এর নমনীয়তা, আপনি সবসময় মাইক্রোকন্ট্রোলারকে আরেকটি গেমের অংশ হতে পুনরায় প্রোগ্রাম করতে পারেন এবং অ্যানিমেশন বা রিঅ্যাকশন গেম তৈরির মতো কিছু চেষ্টা করতে পারেন। আশা করি আপনারা এটি তৈরি করতে উপভোগ করবেন এবং এটি তৈরির জন্য কিছু শিখবেন। GgEz!

প্রস্তাবিত: