সুচিপত্র:

ইএসপি 32 ভিজিএ আর্কেড গেমস এবং জয়স্টিক: 6 টি ধাপ (ছবি সহ)
ইএসপি 32 ভিজিএ আর্কেড গেমস এবং জয়স্টিক: 6 টি ধাপ (ছবি সহ)

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

ভিডিও: ইএসপি 32 ভিজিএ আর্কেড গেমস এবং জয়স্টিক: 6 টি ধাপ (ছবি সহ)
ভিডিও: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, জুলাই
Anonim
Image
Image
ESP32 VGA আর্কেড গেমস এবং জয়স্টিক
ESP32 VGA আর্কেড গেমস এবং জয়স্টিক
ESP32 VGA আর্কেড গেমস এবং জয়স্টিক
ESP32 VGA আর্কেড গেমস এবং জয়স্টিক

এই নির্দেশে আমি দেখাবো কিভাবে চারটি তোরণ গেমের মত পুনরুত্পাদন করতে হবে - টেট্রিস - সাপ - ব্রেকআউট - বোম্বার - একটি ইএসপি 32 ব্যবহার করে, একটি ভিজিএ মনিটরের আউটপুট সহ।

রেজোলিউশন 320 x 200 পিক্সেল, 8 রঙে। আমি পূর্বে একটি Arduino Uno (এখানে দেখুন) এর সাথে একটি সংস্করণ করেছি, কিন্তু রেজোলিউশন ছিল মাত্র 120 x 60 পিক্সেল, 4 টি রঙ, এবং Arduino মেমরি প্রায় পূর্ণ ছিল। ESP32 এর বৃহত্তর পারফরম্যান্সের জন্য ধন্যবাদ, রেজোলিউশন এবং প্লেবিলিটি উভয়ই বেশি। উপরন্তু, এখনও প্রচুর মেমরি পাওয়া যায়, এইভাবে ভবিষ্যতে নতুন গেম যোগ করা সহজবোধ্য হবে।

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

এই প্রকল্পটি ফ্যাব্রিজিও ডি ভিটোরিওর লেখা অসাধারণ ESP32 VGA লাইব্রেরি দ্বারা সম্ভব হয়েছে। আরো বিস্তারিত জানার জন্য এখানে দেখুন।

ধাপ 1: ESP32 বোর্ড, Arduino IDE ইনস্টলেশন এবং VGA লাইব্রেরি কনফিগারেশন।

ESP32 বোর্ড, Arduino IDE ইনস্টলেশন এবং VGA লাইব্রেরি কনফিগারেশন।
ESP32 বোর্ড, Arduino IDE ইনস্টলেশন এবং VGA লাইব্রেরি কনফিগারেশন।
ESP32 বোর্ড, Arduino IDE ইনস্টলেশন এবং VGA লাইব্রেরি কনফিগারেশন।
ESP32 বোর্ড, Arduino IDE ইনস্টলেশন এবং VGA লাইব্রেরি কনফিগারেশন।
ESP32 বোর্ড, Arduino IDE ইনস্টলেশন এবং VGA লাইব্রেরি কনফিগারেশন।
ESP32 বোর্ড, Arduino IDE ইনস্টলেশন এবং VGA লাইব্রেরি কনফিগারেশন।

প্রথমে আপনাকে একটি ESP32 রিভিশন 1 বা উপরের ক্রয় করতে হবে। অনেকগুলি সংস্করণ পাওয়া যায়, কিন্তু আমি অনেকগুলি পিনের সাথে একটি বেছে নেওয়ার পরামর্শ দিই, পছন্দসইভাবে একটি মডেল যেমন এই ছবিতে একটি, 38 টি পিন সহ। আমি এই সংস্করণটি ব্যবহার করছি, কিন্তু আমি মনে করি অন্যান্য অনেকগুলিও ঠিক আছে। ইবেতে আপনি এই মডেলটি 7 ইউরোরও কম ডেলিভারি সহ পেতে পারেন।

একবার আপনি বোর্ড পেয়ে গেলে, আপনাকে নিম্নলিখিত তিনটি উপ-ধাপে এগিয়ে যেতে হবে:

  1. শেষ Arduino IDE ইনস্টল করুন
  2. IDE এ ESP32 কনফিগার করুন এবং
  3. ভিজিএ লাইব্রেরি ডাউনলোড এবং ইনস্টল করুন

উপ-ধাপ 1. ESP32 প্রোগ্রাম করার বিভিন্ন পদ্ধতি আছে, কিন্তু এখানে আপনাকে Arduino IDE ব্যবহার করতে হবে (আমি 1.8.9 সংস্করণটি ব্যবহার করছি)। এটি ইনস্টল করার জন্য, আপনি Arduino IDE পৃষ্ঠায় যেতে পারেন এবং নির্দেশাবলী অনুসরণ করতে পারেন।

সাব-স্টেপ ২। একবার পূর্ববর্তী অপারেশন হয়ে গেলে, আপনাকে Arduino IDE এর মধ্যে আপনার ESP32 কনফিগার করতে হবে। এটি তুচ্ছ নয়, যেহেতু ESP32 এটিতে (এখনও?) স্থানীয় নয়। আপনি এই টিউটোরিয়াল, অথবা নিচের ধাপগুলো অনুসরণ করতে পারেন।

1) Arduino IDE খুলুন

2) পছন্দ উইন্ডো খুলুন, ফাইল/পছন্দ, বিকল্পভাবে "Ctrl+কমা" টিপুন

3) "অতিরিক্ত বোর্ড ম্যানেজার ইউআরএল" এ যান, নিম্নলিখিত পাঠ্যটি অনুলিপি করুন এবং আটকান:

https://dl.espressif.com/dl/package_esp32_index.js…

এবং OK বাটনে ক্লিক করুন।

4) ওপেন বোর্ড ম্যানেজার। সরঞ্জাম/বোর্ড/বোর্ড ম্যানেজারে যান …

5) ESP32 অনুসন্ধান করুন এবং "ESP32 by Espressif Systems" এর জন্য ইনস্টল বোতাম টিপুন:

6) এই মুহুর্তে, যখন আপনি প্রথমবার আপনার ESP32 এর সাথে সংযোগ স্থাপন করেন, তখন আপনার উপলব্ধ ESP32 বোর্ডগুলির দীর্ঘ তালিকায় সঠিক মডেলটি বেছে নেওয়া উচিত (এই ধাপে ছবিটি দেখুন)। মডেল সম্পর্কে সন্দেহের ক্ষেত্রে, কেবল জেনেরিক বেছে নিন, যেমন প্রথমটি। এটা আমার জন্য কাজ করে.

7) সিস্টেমটি সঠিক USB (COM) পোর্ট এবং আপলোড গতি (সাধারণত 921600) নির্বাচন করা উচিত। এই সময়ে আপনার পিসি এবং ESP32 বোর্ডের মধ্যে সংযোগ স্থাপন করা উচিত।

উপ-ধাপ 3. শেষ পর্যন্ত আপনাকে FabGL VGA লাইব্রেরি ইনস্টল করতে হবে। সম্পূর্ণ সংকুচিত ফাইলটি ডাউনলোড করতে এখানে ক্লিক করুন। এটিকে অসম্পূর্ণ করুন এবং Arduino IDE লাইব্রেরি ফোল্ডারে ফলস্বরূপ ফোল্ডার (FabGL-master) অনুলিপি করুন, যা দেখতে:

"… / Arduino-1.8.12 / লাইব্রেরি"।

ধাপ 2: "ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0" আপলোড করা হচ্ছে

এই ধাপের নীচে ESP32_VGA_Tetris_Snake_Breakout_Bomber_V1.0.zip ডাউনলোড করুন। আনজিপ করুন এবং Arduino IDE দিয়ে এটি খুলুন, তারপর এটি আপনার ESP32 এ আপলোড করুন। যদি আপনার কোন ত্রুটি বার্তা না থাকে, কোডটি ইতিমধ্যেই চলতে হবে এবং আপনাকে কেবল VGA পোর্ট এবং বোতামগুলি (বা জয়স্টিক) সংযুক্ত করতে হবে।

ধাপ 3: ভিজিএ পোর্ট সংযোগ করা

ভিজিএ পোর্ট সংযুক্ত করা হচ্ছে
ভিজিএ পোর্ট সংযুক্ত করা হচ্ছে

আপনি নিম্নলিখিত অংশ প্রয়োজন:

  • একটি DSUB15 সংযোগকারী, যেমন একটি ভিজিএ মহিলা সংযোগকারী বা একটি ভিজিএ কেবল কাটা হবে।
  • তিনটি 270 ওহম প্রতিরোধক।

ESP32 GPIO পিন 2, 15 এবং 21 কে যথাক্রমে 270 ওহম প্রতিরোধকের মাধ্যমে VGA লাল, সবুজ এবং নীল রঙের সাথে সংযুক্ত করুন।

VGA Hsync এবং Vsync যথাক্রমে ESP32 GPIO পিনের সাথে 17 এবং 4 সংযোগ করুন।

DSUB15 সংযোগকারী পিনগুলি 5, 6, 7, 8 এবং 10 ESP32 GND এর সাথে সংযুক্ত করুন।

VGA DSUB15 সংযোগকারী পিন সংজ্ঞা জন্য, এই ধাপে ছবি দেখুন। NB, এটি মহিলা সংযোগকারীর সোল্ডারিং দিক।

ধাপ 4: চারটি বোতাম সংযুক্ত করুন

চারটি বোতাম সংযুক্ত করুন
চারটি বোতাম সংযুক্ত করুন
চারটি বোতাম সংযুক্ত করুন
চারটি বোতাম সংযুক্ত করুন
চারটি বোতাম সংযুক্ত করুন
চারটি বোতাম সংযুক্ত করুন

আপনার যদি C64 জয়স্টিক না থাকে তবে আপনি এই ধাপ অনুসরণ করে চারটি বোতাম সংযুক্ত করতে পারেন। যদি আপনার কাছে জয়স্টিক থাকে, আপনি এই ধাপটি এড়িয়ে পরের দিকে যেতে পারেন, কিন্তু আপনি যেকোনোভাবে বোতাম এবং জয়স্টিক উভয়কেই সংযুক্ত করতে পারেন (এগুলি যে কোনওভাবে "সমান্তরাল")।

এই ধাপে পরিকল্পিতভাবে দেখানো হয়েছে কিভাবে একটি একক বোতাম (সাধারণত খোলা) +5V থেকে ESP32 প্রদত্ত পিনে সংযুক্ত করতে হয়।

মনে রাখবেন যে আপনাকে 1 থেকে 5 kOhm রোধের সাথে GND ট্রাফে দেওয়া ESP দেওয়া পিনটি সংযুক্ত করতে হবে। এইভাবে যখন বোতামটি রিলিজ হয় (খোলা) ESP পিন ঠিক শূন্য ভোল্টে থাকে। আরও বিশেষভাবে, আপনাকে নিম্নলিখিত আদেশের সাথে চারটি বোতাম সংযুক্ত করতে হবে:

  • 12 ডান বোতামে পিন করুন
  • পিন 25 টু বাটন
  • বাম বোতামে 14 পিন করুন
  • পিন 35 থেকে ডাউন বোতাম

ধাপ 5: জয়স্টিক সংযুক্ত করুন

জয়স্টিক সংযুক্ত করুন
জয়স্টিক সংযুক্ত করুন
জয়স্টিক সংযুক্ত করুন
জয়স্টিক সংযুক্ত করুন
জয়স্টিক সংযুক্ত করুন
জয়স্টিক সংযুক্ত করুন

একটি C64 জয়স্টিকের পিনআউট এই ধাপের প্রথম ছবিতে দেখানো হয়েছে। এটিকে ESP32 এর সাথে সংযুক্ত করতে, আপনার একটি 9 পিন DSUB পুরুষ সংযোগকারী (যেমন একটি সকেট) প্রয়োজন, যেমনটি দ্বিতীয় ছবিতে দেখানো হয়েছে। আমি একটি পুরানো ইলেকট্রনিক বোর্ড থেকে উন্মুক্ত পিন সহ একটি সরিয়েছি। আপনি এটি অপসারণ করতে একটি তাপ-বন্দুক ব্যবহার করতে পারেন (তবে এটি বাইরে করুন!)।

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

আপনি যদি শুধুমাত্র জয়স্টিক দিয়ে গেমস কন্ট্রোল করতে চান, তাহলে তার সাধারণ পিন (9) ESP32 +5V এর সাথে সংযুক্ত করুন, এবং জয়স্টিক পিনগুলি 1, 2, 3, 4 এবং 6 ESP দেওয়া পিনের সাথে নিচের তালিকা অনুসরণ করুন।

  • ESP পিন 12 থেকে ডান বোতাম (RS232 পিন 4)
  • ESP পিন 14 বাম বোতামে (RS232 পিন 3)
  • ESP পিন 35 থেকে ডাউন বাটন (RS232 পিন 2)
  • ESP পিন 25 টু আপ বাটন (RS232 পিন 1 এবং 6, যেমন জয়স্টিক ফায়ার)

NB ESP পিন 12, 14, 25 এবং 35 অবশ্যই 1 থেকে 5 kOhm রোধের সাথে GND ট্রাফের সাথে সংযুক্ত থাকতে হবে। এইভাবে যখন বোতামটি রিলিজ হয় (খোলা) ESP পিন ঠিক শূন্য ভোল্টে থাকে।

NB2 জয়স্টিক ইউপি পজিশন এবং ফায়ার বাটন একসাথে ইএসপি পিন 25- এর সাথে সংযুক্ত।

আমি পিসি বোর্ডে চারটি বোতাম সংযুক্ত করেছি, এইভাবে খেলতে আমার জয়স্টিকের প্রয়োজন নেই (যদিও জয়স্টিকের সাথে অনেক বেশি মজার)। আবার, RS232 পিন 9 +5 V এর সাথে সংযুক্ত থাকতে হবে এবং জয়স্টিক পিনগুলি বোতামগুলির সমান্তরাল।

ধাপ 6: উপসংহার এবং স্বীকৃতি

উপসংহার এবং স্বীকৃতি
উপসংহার এবং স্বীকৃতি

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

আপনি VGA লাইব্রেরির ক্ষমতা পরীক্ষা করার জন্য 640 x 350 পিক্সেলের রেজোলিউশন সহ একটি ম্যান্ডেলব্রট সেটও আঁকতে পারেন।

মনে রাখবেন যে কোডটি এমনভাবে লেখা হয়েছে যাতে ভবিষ্যতে অন্যান্য গেম সহজেই যোগ করা যায় (ESP32- এ প্রচুর জায়গা আছে!)। আমি এই প্রকল্পটি যথেষ্ট আগ্রহ পাই, আমি তা করতে পারি …

অবশেষে, আমি ফ্যাব্রিজিও ডি ভিটোরিওর কাছে তার অসাধারণ ESP32 VGA লাইব্রেরির জন্য আমার ট্যাঙ্কগুলি প্রকাশ করতে চাই। আরো বিস্তারিত, উদাহরণ এবং … স্পেস ইনভেডারদের জন্য, তার সাইটে যান।

প্রস্তাবিত: