সুচিপত্র:

রাস্পবেরি পাই জিরো সহ ইনফ্রারেড লেজার ট্যাগ: 6 টি ধাপ (ছবি সহ)
রাস্পবেরি পাই জিরো সহ ইনফ্রারেড লেজার ট্যাগ: 6 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি পাই জিরো সহ ইনফ্রারেড লেজার ট্যাগ: 6 টি ধাপ (ছবি সহ)

ভিডিও: রাস্পবেরি পাই জিরো সহ ইনফ্রারেড লেজার ট্যাগ: 6 টি ধাপ (ছবি সহ)
ভিডিও: Raspberry pi zero unboxing & review with setup in Bangla 2024, জুলাই
Anonim
রাস্পবেরি পাই জিরো সহ ইনফ্রারেড লেজার ট্যাগ
রাস্পবেরি পাই জিরো সহ ইনফ্রারেড লেজার ট্যাগ

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

এই প্রকল্পে ব্যবহৃত সার্ভারটি ছিল লিনাক্স সহ একটি পুরানো ডেস্কটপ কম্পিউটার। কম্পিউটারের বিশেষ কিছু হওয়ার দরকার নেই, এবং সম্ভবত এটি একটি রাস্পবেরি পাই 3 থেকেও চালানো যেতে পারে।

ধাপ 1: উপকরণ

উপকরণ
উপকরণ
উপকরণ
উপকরণ

প্রয়োজনীয় উপকরণের বিবরণ এবং কিছু লিঙ্ক নীচে দেখানো হয়েছে। নীচের উপাদান তালিকা 3 বন্দুকের জন্য।

  • সার্ভার কম্পিউটার (1)
  • রাস্পবেরি পাই জিরো ওয়াট (3) অ্যাডাফ্রুট
  • কমপক্ষে 4 জিবি এসডি কার্ড (3) আমাজন
  • আইআর LED ট্রান্সমিটার (3)
  • আইআর রিসিভার (6) আমাজন
  • লাল LED (3)
  • নীল LED (3)
  • সবুজ LED (3)
  • প্যাসিভ বুজার (3) আমাজন
  • পুশ বোতাম (6)
  • I2C অ্যাডাপ্টারের সাথে LCD 16x2 স্ক্রিন (3) আমাজন
  • পোর্টেবল ব্যাটারি প্যাক (3) আমাজন
  • মাইক্রো থেকে নিয়মিত ইউএসবি কেবল (3) আমাজন
  • PN2222 ট্রানজিস্টার (3)
  • 100Ω প্রতিরোধক (3)
  • 1kΩ প্রতিরোধক (9)

চ্ছিক আইটেম:

  • ন্যস্ত (3) আমাজন
  • রিবন কেবল এক্সটেনশন (3) আমাজন

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

উপরে তালিকাভুক্ত আইটেম ছাড়াও, লেজার বন্দুকগুলি নিজেরাই 3D মুদ্রিত ছিল। এই প্রকল্পের জন্য একটি 3D প্রিন্টার এবং ফিলামেন্ট অ্যাক্সেসের প্রয়োজন হবে। সামগ্রিকভাবে, তিনটি বন্দুকের জন্য মোট $ 350 এ এসেছিল।

ধাপ 2: সার্ভার সেটআপ

সার্ভার সেটআপ
সার্ভার সেটআপ
সার্ভার সেটআপ
সার্ভার সেটআপ
সার্ভার সেটআপ
সার্ভার সেটআপ

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

sudo apt- আপডেট পান

sudo apt-get upgrade sudo apt-get install Mosquito -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt

সার্ভারের জন্য কিছু GUI তৈরি করা হয়েছে Pygubu নামক GUI ডিজাইনার ব্যবহার করে। এটি চালানোর মাধ্যমে ইনস্টল করা যেতে পারে:

pip3 পাইগুবু ইনস্টল করুন

পাইগুবু সম্পর্কে আরও তথ্য https://github.com/alejandroautalan/pygubu এ পাওয়া যাবে

একবার MQTT এবং Pygubu ইনস্টল হয়ে গেলে, একটি নতুন ডিরেক্টরি তৈরি করুন এবং সংযুক্ত ফাইলগুলি অনুলিপি করুন। ডিরেক্টরিটি অন্তর্ভুক্ত করা উচিত:

  • ltag.py
  • pregame.py
  • game_statistics.py
  • gvars.py
  • pygubu.ui
  • pygubu_limited.ui
  • home.png
  • self.png
  • শত্রু। PNG
  • লেজার। jpg

দ্রষ্টব্য: এই প্রকল্পে ব্যবহৃত সংযুক্ত ছবিগুলি উন্নয়ন দল দ্বারা তৈরি করা হয়নি এবং তাই লেখকত্ব দাবি করে না।

ধাপ 3: রাস্পবেরি পাই সেটআপ

রাস্পবেরি পাই সেটআপ
রাস্পবেরি পাই সেটআপ

রাস্পবেরি পিসের প্রতিটিতে এই পদক্ষেপটি পুনরাবৃত্তি করতে হবে।

1. অপারেটিং সিস্টেম ইনস্টল করুন

প্রথমে, রাস্পবিয়ানের একটি নতুন ইনস্টল দিয়ে শুরু করুন। আমরা লাইট সংস্করণটি ব্যবহার করার সুপারিশ করব কারণ পাইয়ের জন্য এটি হ্যান্ডেল করা কম, তবে যেকোনো সংস্করণটি ভালভাবে কাজ করা উচিত। ডাউনলোড পাওয়া যাবে

2. MQTT ইনস্টল করুন

পরবর্তী আমাদের MQTT ব্রোকার পরিষেবা ইনস্টল করতে হবে। আমরা এই জন্য মশা ব্যবহার করব। টার্মিনালে, নিম্নলিখিত কমান্ডগুলি চালান।

sudo apt- আপডেট পান

sudo apt-get upgrade sudo apt-get install Mosquito -y sudo apt-get install python3-pip -y sudo pip3 install paho-mqtt

Mosquitto হল সেই পরিষেবা যা গেমের প্রতিটি ডিভাইসের মধ্যে যোগাযোগের জন্য একটি কাঠামো প্রদান করে। এটি সার্ভারের সাথে সংযুক্ত প্রতিটি পিসকে বার্তা পাঠানোর অনুমতি দেয়।

3. I2C টুলস ইন্সটল করুন

নিম্নলিখিত কমান্ডটি LCD স্ক্রিনের জন্য ব্যবহৃত লাইব্রেরিগুলি ইনস্টল করবে।

sudo apt-get install -y python3-smbus i2c-tools

sudo apt -get rpi.gpio -y ইনস্টল করুন

Lcddriver.py ফাইলে i2c ঠিকানা পরিবর্তনের প্রয়োজন হতে পারে। নিচের কমান্ড দিয়ে ঠিকানা পাওয়া যাবে।

i2cdetect -y 1

4. LIRC ইনস্টল এবং কনফিগার করুন

একটি নতুন ডিরেক্টরি তৈরি করুন এবং সংযুক্ত লোকেশনগুলি এই স্থানে ডাউনলোড করুন।

বেশিরভাগ ইন্টারনেট ব্রাউজার এক্সটেনশন ছাড়া ফাইল ডাউনলোড করবে না। এই চারপাশে পেতে, ফাইল দুটি অস্থায়ী এক্সটেনশন সঙ্গে আপলোড করা হয়েছিল। "Lircrc.deleteExtension" এবং "modules.deleteExtension" উভয়ই প্রকৃতপক্ষে এক্সটেনশন-কম হওয়া উচিত এবং ফাইলগুলি সফলভাবে ডাউনলোড হওয়ার পরে "lircrc" এবং "modules" এ নামকরণ করা উচিত।

এই ধাপটি লিনাক্স ইনফ্রারেড রিমোট কন্ট্রোল (LIRC) প্যাকেজের জন্য নির্ভরতা ইনস্টল এবং কনফিগার করে। আরো তথ্যের জন্য এখানে LIRC স্থাপনের টিউটোরিয়াল দেখুন:

প্রথমে লাইব্রেরি ইনস্টল করুন, তারপরে অন্তর্ভুক্ত কমান্ডগুলিকে তাদের নিজ নিজ ডিরেক্টরিতে অনুলিপি করুন যেমনটি নীচের কমান্ডগুলিতে দেখানো হয়েছে। অবশেষে, lircd পরিষেবা পুনরায় চালু করুন।

sudo apt-get python3-lirc -y ইনস্টল করুন

নতুন তৈরি করা ডিরেক্টরি থেকে কনফিগারেশন ফাইলগুলিকে তাদের সঠিক স্থানে সরানোর জন্য নিম্নলিখিত কমান্ডগুলি চালান।

sudo mv lircd.conf hardware.conf lircrc lirc_options.conf/etc/lirc/

সুডো এমভি মডিউল /ইত্যাদি /

তারপর চালানোর মাধ্যমে lircd পরিষেবা পুনরায় চালু করুন:

sudo /etc/init.d/lircd পুনরায় চালু করুন

পরবর্তী, /boot/config.txt ফাইলটি সম্পাদনা করুন এবং নিচের লাইনটি যোগ করুন

dtoverlay = lirc-rpi, gpio_in_pin = 18, gpio_out_pin = 25

পরিবর্তনগুলি কার্যকর করার জন্য আপনার পাই পুনরায় বুট করুন।

sudo রিবুট

5. I2C সক্ষম করুন এবং প্রতিটি খেলোয়াড়ের জন্য ক্লায়েন্ট সম্পাদনা করুন

পরবর্তী, আমরা I2C ইন্টারফেস সক্ষম করব। এটি ব্যবহার করে করা যেতে পারে

sudo raspi-config

এবং "ইন্টারফেস বিকল্প" মেনুতে I2C সক্ষম করা।

6. প্লেয়ার ক্লায়েন্ট এবং LTSERVER সম্পাদনা করুন

গেম ডিরেক্টরিতে এখন বাকি চারটি ফাইল অন্তর্ভুক্ত করা উচিত।

  • i2c_lib.py
  • lcddriver.py
  • ltsounds.py
  • player.py

পাই কনফিগার করার শেষ ধাপ হল প্রতিটি পাইকে একটি ক্লায়েন্ট নম্বর বরাদ্দ করা এবং সার্ভারের অবস্থান যুক্ত করা। এটি প্রতিটি পাইয়ের জন্য অন্তর্ভুক্ত "player.py" ফাইল সম্পাদনা করে করা হয় যাতে তাদের সকলের আলাদা ক্লায়েন্ট নম্বর থাকে। ক্লায়েন্ট নম্বরটি প্লেয়ার.পি এর লাইন 3 এ বরাদ্দ করা হয়েছে। প্রথম পাইকে ক্লায়েন্ট "1", দ্বিতীয়টি "2" এবং তৃতীয়টি ক্লায়েন্ট "3" হতে বরাদ্দ করুন।

LTSERVER লাইনটি সার্ভারের IP ঠিকানায় পরিবর্তন করা উচিত। এটি 'ifconfig | টাইপ করে পাওয়া যায় সার্ভার কম্পিউটারের টার্মিনালে grep "inet addr" '।

ধাপ 4: বন্দুক সমাবেশ

বন্দুক সমাবেশ
বন্দুক সমাবেশ
বন্দুক সমাবেশ
বন্দুক সমাবেশ

তারের ডায়াগ্রাম এবং উপরের পরিকল্পিত অনুযায়ী প্রতিটি বন্দুকের তারের দিকে এগিয়ে যান।

প্রতিটি পেরিফেরাল পাই জিরোতে নিম্নলিখিত জিপিআইও পিনের সাথে সংযুক্ত:

  • বুজার: GPIO5
  • ট্রিগার: GPIO26
  • পুনরায় লোড করুন: GPIO12
  • IR ট্রান্সমিটার: GPIO25
  • IR রিসিভার: GPIO18
  • লাল LED: GPIO17
  • সবুজ LED: GPIO27
  • নীল LED: GPIO22
  • I2C_SDA: GPIO2
  • I2C_SCL: GPIO3

আরো বিস্তারিত জানার জন্য পরিকল্পিত দেখুন।

যদি ইচ্ছা হয়, লেজার বন্দুকগুলি অন্তর্ভুক্ত ধাপ মডেল ফাইলগুলি ব্যবহার করে 3D মুদ্রিত হতে পারে। মনে রাখবেন যে "front1STL. STL" এর দুটি ফাইল অবশ্যই প্রিন্ট করতে হবে।

ধাপ 5: গেম খেলুন

গেম খেলুন
গেম খেলুন
গেম খেলুন
গেম খেলুন
গেম খেলুন
গেম খেলুন

সার্ভারে "ltag.py" ফাইলটি চালানোর মাধ্যমে গেমটি শুরু হয়। একবার এটি হয়ে গেলে, প্রতিটি খেলোয়াড় তাদের নিজ নিজ "player.py" ফাইলটি চালানোর মাধ্যমে সার্ভারের সাথে সংযোগ স্থাপন করতে পারে।

দ্রষ্টব্য: ব্যাটারি প্যাক প্লাগ করার পরে, পাই বুট হতে এক মিনিট পর্যন্ত সময় লাগতে পারে।

এটি একটি ক্রন কাজ যোগ করাও উপকারী হতে পারে যা স্বয়ংক্রিয়ভাবে প্লেয়ার.পি ফাইল চালায় যখন পাই শুরু হয়। এই কাজ করতে আমাদের খুব কষ্ট হয়েছিল এবং "প্লেয়ার.পি" ফাইলটি চালানোর জন্য পিসের প্রতিটিতে "/etc/rc.local" ফাইলে একটি লাইন যোগ করা শেষ হয়েছিল। এটি প্লেয়ারের স্ক্রিপ্ট চালানোর জন্য পিআই -তে এসএসএইচ না করে খেলা শুরু করার অনুমতি দেয়।

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

প্রতিটি গেমের পরে, একটি শেষ GUI ট্যাগ, বৈশ্বিক শতাংশ এবং গেমের সময়কাল সহ আগের গেমের পরিসংখ্যান সহ উপস্থিত হবে।

দ্রষ্টব্য: সফ্টওয়্যার লাইব্রেরিতে সীমাবদ্ধতার কারণে, সঠিকতা প্রতিবেদন ট্যাগের অবস্থানগুলি প্রকৃত লেজার ট্যাগগুলির প্রতিনিধি নয়। বর্তমান সংস্করণে, প্লেয়ার অ্যাকুরেসি রিপোর্ট ছবিটি সম্পূর্ণরূপে নান্দনিকতার জন্য প্রকৃত ট্যাগ লোকেশন বাস্তবায়নের সাথে ভবিষ্যতের সংস্করণের আশায়।

ধাপ 6: ভবিষ্যতের উন্নতি

ভবিষ্যতের উন্নতি
ভবিষ্যতের উন্নতি
ভবিষ্যতের উন্নতি
ভবিষ্যতের উন্নতি

সামগ্রিকভাবে, প্রকল্পটি একটি বড় সাফল্য ছিল। চলার পথে, আমরা কয়েকটি অতিরিক্ত বৈশিষ্ট্য নিয়ে ভাবলাম যা ভবিষ্যতের সংস্করণে যোগ করা যেতে পারে।

  • 3D মুদ্রিত বন্দুকের জন্য স্টার্ডিয়ার ট্রিগার ডিজাইন
  • GUI ড্রপ-ডাউন মেনু শেষ করা হচ্ছে অতীতের গেমের পরিসংখ্যান প্রদর্শন করতে
  • আরও ইনফ্রারেড রিসিভার যা খেলোয়াড়দের জ্যাকেটগুলির সাথে সংযুক্ত হতে পারে
  • অতিরিক্ত গেম মোড যা Pregame GUI এ চয়ন করা যেতে পারে
  • খেলোয়াড় পরিসংখ্যান পৃষ্ঠায় আরো সঠিক ট্যাগ অবস্থান অ্যালগরিদম

প্রস্তাবিত: