সুচিপত্র:

LED ম্যাট্রিক্স, Arduino এবং Joysticks সঙ্গে পং টেনিস: 5 ধাপ (ছবি সহ)
LED ম্যাট্রিক্স, Arduino এবং Joysticks সঙ্গে পং টেনিস: 5 ধাপ (ছবি সহ)

ভিডিও: LED ম্যাট্রিক্স, Arduino এবং Joysticks সঙ্গে পং টেনিস: 5 ধাপ (ছবি সহ)

ভিডিও: LED ম্যাট্রিক্স, Arduino এবং Joysticks সঙ্গে পং টেনিস: 5 ধাপ (ছবি সহ)
ভিডিও: Using Arduino Turn AC bulb with push button On and OFF toggle with relay 2024, নভেম্বর
Anonim
LED ম্যাট্রিক্স, Arduino এবং Joysticks সঙ্গে পং টেনিস
LED ম্যাট্রিক্স, Arduino এবং Joysticks সঙ্গে পং টেনিস

এই প্রকল্পটি নতুনদের এবং অভিজ্ঞ টিঙ্কারদের জন্য একই রকম। একটি মৌলিক স্তরে এটি একটি ব্রেডবোর্ড, জাম্পার তার দিয়ে করা যায় এবং ব্লু-ট্যাকের সাথে স্ক্র্যাপ উপাদান (আমি কাঠ ব্যবহার করেছি) এবং কোন সোল্ডারিংয়ের সাথে আটকে যায়। তবে আরও উন্নত স্তরে এটি পারফ বোর্ড বা কাস্টম পিসিবিতে বিক্রি করা যেতে পারে।

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

ধাপ 1: অংশ

পং গেম তৈরি করতে আপনার প্রয়োজন;

  • 1x একটি Arduino (কোন ধরনের কাজ করবে)
  • 4x MAX7219 8x8 LED ম্যাট্রিক্স
  • 2x জয়স্টিক
  • 1x Piezo Buzzer (চ্ছিক)
  • 15x মহিলা-মহিলা জাম্পার তার (5x এর 3x গ্রুপ)
  • 15x পুরুষ-মহিলা জাম্পার তার (5x এর 3x গ্রুপ)
  • 18x পুরুষ-পুরুষ জাম্পার তারের
  • 1x ব্রেডবোর্ড
  • 1x 220Ω প্রতিরোধক

একটি Arduino Uno বা Nano বোর্ডের পরিবর্তে আপনি একটি রুটিবোর্ড ভিত্তিক Arduino ব্যবহার করতে পারেন;

  • 1x ATmega328p 28pin IC
  • 1x 16kHz ক্রিস্টাল অসিলেটর
  • 2x 22pF সিরামিক ক্যাপাসিটার
  • 1x USB FTDI UART কনভার্টার
  • 1x 100uF ইলেক্ট্রোলাইটিক ক্যাপাসিটর
  • 1x মাইক্রো ইউএসবি ব্রেকআউট (চ্ছিক)

সরঞ্জাম;

  • Arduino IDE (এবং LedControl Library) সহ পিসি
  • আপনার Arduino এর জন্য প্রাসঙ্গিক USB কেবল
  • গেমটি আপনার কম্পিউটার থেকে দূরে রাখতে পাওয়ার ব্যাংক

ধাপ 2: তারের

তারের
তারের
তারের
তারের

ওয়্যারিংটি খুব সহজ কারণ ম্যাড্রিক্স এবং জয়স্টিকের হেডারগুলিকে আরডুইনোতে সংযুক্ত করার জন্য আপনার কেবল জাম্পার তারের প্রয়োজন। একমাত্র জটিলতা হল বিদ্যুৎ কারণ Arduino Uno- এর শুধুমাত্র 3 GND সংযোগ এবং একটি 5v সংযোগ রয়েছে। এই যেখানে রুটিবোর্ড আসে এবং সমস্ত উপাদানগুলির জন্য একটি বিদ্যুৎ বিতরণ রেল হিসাবে কাজ করে, যদি আপনি একটি NANO ব্যবহার করেন তবে রুটিবোর্ড একই উদ্দেশ্যে কাজ করবে এবং আপনাকে সবকিছু প্লাগ করার অনুমতি দেবে।

তারের জন্য এই সংযোগগুলি অনুসরণ করুন।

  • বাম জয়স্টিক - GND এবং 5v তাদের নিজ নিজ পাওয়ার রেলগুলিতে। SW - পিন 9, VRx - A0, VRy - A1।
  • ডান জয়স্টিক - GND এবং 5v তাদের নিজ নিজ পাওয়ার রেলগুলিতে। SW - পিন 8, VRx - A2, VRy - A3।
  • ডানদিকের LED ম্যাট্রিক্স - GND এবং 5v তাদের নিজ নিজ পাওয়ার রেলগুলিতে। DIN - 13, CS - 11, CLK - 12. (লাইন 25 অনুযায়ী)
  • অন্যান্য সমস্ত LED ম্যাট্রিক্স ডেইস থেকে বামে যাওয়ার প্রথমটির আউটপুট বন্ধ করে ডেইজি হতে পারে যাতে কোড সঠিকভাবে কাজ করে।
  • Buচ্ছিক বুজার - আনোড (+) 220Ω বর্তমান সীমাবদ্ধ প্রতিরোধকের মাধ্যমে 10 পিন, ক্যাথোড (-) - GND।

ধাপ 3: বিকল্প তারের

বিকল্প তারের
বিকল্প তারের
বিকল্প তারের
বিকল্প তারের
বিকল্প তারের
বিকল্প তারের

স্থান বাঁচানোর জন্য একটি Arduino UNO- এর সাথে যুক্ত করার পর আমি UNO থেকে Arduino IC কে 16 মেগাহার্টজ ক্রিস্টাল অসিলেটর এবং 22pF ক্যাপাসিটরের একটি জোড়া দিয়ে মাটিতে রাখার সিদ্ধান্ত নিলাম। আমি মনে করি এটি একটি উপযুক্ত পরিবর্তন ছিল কারণ এটি প্রকল্পটিকে আরও সুন্দর এবং আরও সমাপ্ত দেখায় তবে প্রোগ্রামটি আপডেট করতে আপনাকে একটি ইউএসবি এফটিডিআই প্রোগ্রামার ব্যবহার করতে হবে।

ধাপ 4: কোড + ব্যাখ্যা

আরডুইনোতে কোড আপলোড করতে এখানে GitHub থেকে LedControl লাইব্রেরি ডাউনলোড করুন, github.com/wayoda/LedControl এবং জিপ ফাইল যোগ করুন অথবা IDE এর মধ্যে লাইব্রেরি ম্যানেজারের মাধ্যমে যোগ করুন। তারপরে সংযুক্ত স্কেচটি খুলুন, সরঞ্জামগুলির অধীনে বোর্ড এবং পোর্ট সেটিংসে আপনার আরডুইনো নির্বাচন করুন এবং এটি আরডুইনোতে আপলোড করুন।

ব্যাখ্যা

লাইন 1: লাইব্রেরি যোগ করে

লাইন 5-23: সমস্ত ভেরিয়েবল, ধ্রুবক এবং পিন নম্বর সেট করে।

লাইন 25: LED মার্টিক্স সেট আপ করে এবং কন্ট্রোল পিন সেট করে এবং কতগুলি ডিসপ্লে।

লাইন 27: রিসেট ফাংশন সেট আপ।

লাইন 30-35: সব ডিসপ্লে একসাথে চালু/বন্ধ করার জন্য শাটডাউন ফাংশন।

লাইন 38-43: সব ডিসপ্লের উজ্জ্বলতা সেট করার জন্য SetIntensity ফাংশন।

লাইন 46-51: সব ডিসপ্লে একসাথে মুছতে ClearAll ফাংশন।

লাইন 53-64: জয়স্টিকের অবস্থান পেতে জয়স্টিক ফাংশন, বল আঘাত করার জন্য 7 টি সম্ভাব্য ব্যাট অবস্থানে তাদের ম্যাপ করুন এবং তারপর ব্যাটটিকে নতুন অবস্থানে নিয়ে যান।

লাইন 67-435: ফাংশন যা নির্দিষ্ট উচ্চতা এবং গতিতে বাম প্লেয়ারের কাছে বল সরিয়ে দেয়, প্লেয়ারটি আঘাত করে কিনা তা পরীক্ষা করে এবং হয় বা চালিয়ে দেয় এবং ক্র্যাশ স্ট্যাটাসকে সত্যে সেট করে বা বলকে বাউন্স করে, স্কোরে 1 যোগ করে এবং গতি বৃদ্ধি করে।

লাইন 438-811: ফাংশন যা নির্দিষ্ট উচ্চতা এবং গতিতে সঠিক খেলোয়াড়ের কাছে বল সরিয়ে দেয়, প্লেয়ারটি আঘাত করে কিনা তা পরীক্ষা করে এবং ক্র্যাশ স্ট্যাটাসটি সত্য বা সেট করে বা বলকে বাউন্স করে, স্কোরে 1 যোগ করে এবং গতি বৃদ্ধি করে।

লাইন 813-823: নির্দিষ্ট ডিসপ্লেতে স্মাইলি ফেস, টিক, ক্রস বা প্রশ্ন চিহ্ন প্রদর্শনের কাজ (বাম দিকে ডানদিকে 3)।

লাইন 861-979: নির্দিষ্ট ডিসপ্লেতে 0-9 সংখ্যা প্রদর্শনের কাজ।

লাইন 981-1047: স্ক্রিনের প্রতিটি খেলোয়াড়ের পাশে স্কোর প্রদর্শন করার কাজ।

লাইন 1049-1064: প্লেয়ার প্রস্তুত কিনা তা পরীক্ষা করার জন্য ফাংশন।

লাইন 1066-1076: কোড শুরু করার জন্য কোডের সেটআপ সেকশন যা একবার প্রোগ্রামটি শুরু হলে চালানো হয়।

লাইন 1078-1136: গেম লজিকের জন্য প্রধান লুপ বিভাগ যেখানে সমস্ত ফাংশন ব্যবহার করা হয় এবং কে জিতবে তা স্থির করা হয় এবং তারপর স্কোর দেখানোর 5 সেকেন্ড পরে প্রোগ্রামটি পুনরায় চালু হয়।

ধাপ 5: পড়ার জন্য ধন্যবাদ

পড়ার জন্য ধন্যবাদ
পড়ার জন্য ধন্যবাদ

এই নির্দেশযোগ্য পড়ার জন্য ধন্যবাদ এটি একটি মজাদার লকডাউন প্রকল্প যা কয়েক দিনের মধ্যে একত্রিত হয়েছিল যখন আমি আরডুইনো প্রোগ্রামিং সম্পর্কে আরও জানতে পেরেছিলাম। আপনি যদি এটি উপভোগ করেন তবে আরডুইনো প্রতিযোগিতায় এটির জন্য নির্দ্বিধায় ভোট দিন।

প্রস্তাবিত: