
সুচিপত্র:
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36


এই টিউটোরিয়ালে আমি আপনাকে দেখাতে যাচ্ছি যে কিভাবে আপনি Arduino nano ব্যবহার করে একটি গেমিং কনসোল তৈরি করতে পারেন। সুতরাং আপনি যদি এর উপর বিস্তারিত ভিডিও দেখতে চান তাহলে আমার ইউটিউব চ্যানেলে এটি দেখুন
সরবরাহ
আপনি যদি এই লিঙ্কগুলি থেকে কিনেন তবে এটি আপনাকে আরও প্রকল্প দিতে সাহায্য করবে
1) ARDUINO NANO2) OLED DISPLAY3) PUSH BUTTONS4) WIRES
ধাপ 1: সমস্ত উপাদান সোল্ডারিং

সুতরাং, সমস্ত উপাদান পাওয়ার পরে আপনাকে এই সার্কিট ডায়াগ্রামে দেখানো সমস্ত উপাদানগুলি সোল্ডার করতে হবে
ধাপ 2: সব জায়গায় জিনিস সাজান
সবকিছু সোল্ডার করার পরে এটিকে একটি সুন্দর চেহারা দেওয়ার জন্য এর মতো সমস্ত উপাদানগুলি সাজান
ধাপ 3: প্রোগ্রামিং
সুতরাং, অবশেষে সমস্ত ধাপ সঠিকভাবে অনুসরণ করার পরে নীচের কোডটি আরডুইনোতে আপলোড করার সময় এসেছে
#অন্তর্ভুক্ত
#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত # #অন্তর্ভুক্ত #OLED_RESET 4 নির্ধারণ করুন Adafruit_SSD1306 প্রদর্শন (OLED_RESET); const int c = 261; const int d = 294; const int e = 329; const int f = 349; const int g = 391; const int gS = 415; const int a = 440; const int aS = 455; const int b = 466; const int cH = 523; const int cSH = 554; const int dH = 587; const int dSH = 622; const int eH = 659; const int fH = 698; const int fSH = 740; const int gH = 784; const int gSH = 830; const int aH = 880; const unsigned char PROGMEM dioda16 = {0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x3F, 0xF0, 0x3C, 0x00, 0x3C, 0x00, 0xFF, 0x00, 0x7F, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x00, 0x3C, 0x00, 0x1F, 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00}; const স্বাক্ষর না করা চর প্রোগ্রাম ঝড় = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,,,,,,,,,,, 0xC0, 0x03, 0x06, 0x80, 0x01, 0xFF, 0x80, 0x01, 0xFF, 0x80, 0x01, 0xF8, 0x00, 0x00, 0x1D, 0xC0, 0x03, 0x70, 0x00, 0x80, 0x0C, 0x60, 0x05, 0xB0, 0x07, 0xF0, 0x08, 0x90, 0x09, 0x10, 0x1F, 0xF8, 0x09, 0xD0, 0x0B, 0x90, 0x1F, 0x7C, 0x03, 0xF0, 0x0F, 0xC0, 0xFC, 0x0F, 0x07, 0x90, 0x0D, 0x43, 0xC0, 0x03, 0x07, 0x90, 0x05, 0x64, 0x00, 0x00, 0xCF, 0x10, 0x07, 0xFC, 0x00, 0x00, 0x26, 0x10, 0x01, 0x80, 0x00, 0x00, 0x10, 0x20, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x40, 0x01, 0x80, 0x07, 0xF0, 0x01, 0x80, 0x00, 0x80, 0x07, 0xC8, 0x00, 0x80, 0x00, 0x80, 0x0B, 0xE8, 0x00, 0x80, 0x00, 0x87, 0x97, 0xE9, 0xE0, 0x80, 0x00, 0x87, 0xDF, 0xEF, 0xA0, 0x80, 0x00, 0x4B, 0xFF, 0xFF, 0xA0, 0x80, 0x00, 0x6B, 0xDF, 0xFB, 0xA3, 0x00, 0x00, 0x24, 0x97, 0xE8, 0x24, 0x00, 0x00, 0x1E, 0x1F, 0xC0, 0x2C, 0x00, 0x00, 0x07, 0xF8, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00}; অকার্যকর সেটআপ () {পিনমোড (3, INPUT_PULLUP); পিনমোড (12, INPUT_PULLUP); পিনমোড (11, INPUT_PULLUP); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); display.clearDisplay (); display.setTextSize (0); display.drawBitmap (6, 11, ঝড়, 48, 48, 1); display.setFont (& FreeSans9pt7b); display.setTextColor (সাদা); display.setCursor (65, 14); display.println ("xWing"); display.setFont (); display.setCursor (65, 17); display.setTextSize (0); display.println ("বনাম"); display.setCursor (0, 0); ভাসা voltaza = readVcc ()/1000; display.println (voltaza);; display.setFont (& FreeSans9pt7b); display.setCursor (65, 39); display.println ("মৃত্যু"); display.setFont (); display.setCursor (65, 42); display.println ("তারকা"); display.setTextSize (0); display.setCursor (65, 55); display.println ("VRAJ দ্বারা"); display.setCursor (65, 20); display.display (); display.setFont (); বিপ (একটি, 500); বিপ (একটি, 500); বিপ (একটি, 500); বিপ (f, 350); বিপ (সিএইচ, 150); বিপ (একটি, 500); বিপ (f, 350); বিপ (সিএইচ, 150); বিপ (একটি, 650); বিলম্ব (500); বিলম্ব (500); } int metx = 0; int মেটি = 0; int postoji = 0; int nep = 8; int smjer = 0; int go = 0; int rx = 95; int ry = 0; int rx2 = 95; int ry2 = 0; int rx3 = 95; int ry3 = 0; int bodovi = 0; int brzina = 3; // বুলেটের গতি bkugle = 1; int najmanja = 600; int najveca = 1200; int promjer = 10; int rx4 = 95; int ry4 = 0; int zivoti = 5; int poc = 0; int ispaljeno = 0; int nivo = 1; int কেন্দ্র = 95; স্বাক্ষরবিহীন দীর্ঘ পোসেটনো = 0; স্বাক্ষরবিহীন দীর্ঘ ওডাব্রানো = 0; স্বাক্ষরবিহীন দীর্ঘ trenutno = 0; স্বাক্ষরবিহীন দীর্ঘ নিভোভ্রিজে = 0; int poz = 30; অকার্যকর লুপ () {যদি (যান == 0) {display.clearDisplay (); display.drawPixel (50, 30, 1); display.drawPixel (30, 17, 1); display.drawPixel (60, 18, 1); display.drawPixel (55, 16, 1); display.drawPixel (25, 43, 1); display.drawPixel (100, 43, 1); display.drawPixel (117, 52, 1); display.drawPixel (14, 49, 1); display.drawPixel (24, 24, 1); display.drawPixel (78, 36, 1); display.drawPixel (80, 57, 1); display.drawPixel (107, 11, 1); display.drawPixel (150, 11, 1); display.drawPixel (5, 5, 1); display.drawPixel (8, 7, 1); display.drawPixel (70, 12, 1); display.drawPixel (10, 56, 1); display.drawPixel (70, 25, 1); যদি (poc == 0) {pocetno = millis (); odabrano = এলোমেলো (400, 1200); poc = 1; } trenutno = মিলিস (); // nivoi if ((trenutno-nivovrije)> 50000) {nivovrije = trenutno; nivo = nivo+1; brzina = brzina+1; // brizna neprijateljevog metka if (nivo % 2 == 0) {bkugle = bkugle+1; promjer = promjer-1; } najmanja = najmanja-50; najveca = najveca-50; } যদি ((odabrano+pocetno) 0) {display.drawCircle (rx, ry, 2, 1); rx = rx-brzina;} যদি (ispaljeno> 1) {display.drawCircle (rx2, ry2, 1, 1); rx2 = rx2-brzina;} যদি (ispaljeno> 2) {display.drawCircle (rx3, ry3, 4, 1); rx3 = rx3-brzina;} যদি (ispaljeno> 3) {display.drawCircle (rx4, ry4, 2, 1); rx4 = rx4-brzina;} if (digitalRead (12) == 0 && poz> = 2) {poz = poz-2;} if (digitalRead (11) == 0 && poz128) postoji = 0; যদি (smjer == 0) {nep = nep+bkugle;} else {nep = nep-bkugle;} if (nep> = (64-promjer)) smjer = 1; if (nep = nep-promjer && mety (centar-promjer) && metx = pozicija-8 && ry <= pozicija+8) if (rx4) {rx = 95; ry = -50; স্বর (9, 100, 100); zivoti = zivoti-1; } if (ry2> = pozicija-8 && ry2 <= pozicija+8) if (rx24) {rx2 = -50; ry2 = -50; স্বর (9, 100, 100); zivoti = zivoti-1; } if (ry3> = pozicija-8 && ry3 <= pozicija+8) if (rx34) {rx3 = -50; ry3 = -50; স্বর (9, 100, 100); zivoti = zivoti-1; } if (ry4> = pozicija-8 && ry4 <= pozicija+8) if (rx44) {rx4 = 200; ry4 = -50; ispaljeno = 0; স্বর (9, 100, 100); zivoti = zivoti-1; } যদি (rx4 <1) {ispaljeno = 0; rx4 = 200;} যদি (zivoti == 0) go = 1; } if (go == 1) {if (zivoti == 0) {স্বর (9, 200, 300); বিলম্ব (300); স্বর (9, 250, 200); বিলম্ব (200); স্বর (9, 300, 300); বিলম্ব (300); zivoti = 5; } display.clearDisplay (); display.setFont (); display.setTextSize (2); display.setTextColor (সাদা); display.setCursor (7, 10); display.println ("গেম ওভার!"); display.setTextSize (1); display.setCursor (7, 30); display.println ("স্কোর:"); display.setCursor (44, 30); display.println (bodovi); display.setCursor (7, 40); display.println ("স্তর:"); display.setCursor (44, 40); display.println (nivo); display.setCursor (7, 50); display.println ("সময় (গুলি):"); display.setCursor (60, 50); display.println (trenutno/1000); display.display (); যদি (digitalRead (3) == 0) {স্বর (9, 280, 300); বিলম্ব (300); স্বর (9, 250, 200); বিলম্ব (200); স্বর (9, 370, 300); বিলম্ব (300); পোনোভো (); }}} অকার্যকর পোনোভো () {metx = 0; মেটি = 0; পোস্টোজি = 0; nep = 8; smjer = 0; যান = 0; rx = 95; ry = 0; rx2 = 95; ry2 = 0; rx3 = 95; ry3 = 0; bodovi = 0; ব্রজিনা = 3; // brizna neprijateljevog metka bkugle = 1; নাজমঞ্জ = 600; নাজভেকা = 1200; promjer = 12; rx4 = 95; ry4 = 0; zivoti = 5; poc = 0; ispaljeno = 0; nivo = 1; pocetno = 0; odabrano = 0; trenutno = 0; nivovrije = 0; } long readVcc () {// AVcc এর বিপরীতে 1.1V রেফারেন্স পড়ুন // Vcc তে রেফারেন্স সেট করুন এবং অভ্যন্তরীণ 1.1V রেফারেন্সের পরিমাপ #if সংজ্ঞায়িত (_ AVR_ATmega32U4_) || সংজ্ঞায়িত (_ AVR_ATmega1280_) || সংজ্ঞায়িত (_ AVR_ATmega2560_) ADMUX = _BV (REFS0) | _BV (MUX4) | _BV (MUX3) | _BV (MUX2) | _BV (MUX1); #elif সংজ্ঞায়িত (_AVR_ATtiny24_) || সংজ্ঞায়িত (_ AVR_ATtiny44_) || সংজ্ঞায়িত (_ AVR_ATtiny84_) ADMUX = _BV (MUX5) | _BV (MUX0); #elif সংজ্ঞায়িত (_AVR_ATtiny25_) || সংজ্ঞায়িত (_ AVR_ATtiny45_) || সংজ্ঞায়িত (_ AVR_ATtiny85_) ADMUX = _BV (MUX3) | _BV (MUX2); #অন্যথায় ADMUX = _BV (REFS0) | _BV (MUX3) | _BV (MUX2) | _BV (MUX1); #শেষ বিলম্ব (2); // Vref ADCSRA নিষ্পত্তির জন্য অপেক্ষা করুন | = _BV (ADSC); // রূপান্তর শুরু করুন যখন (bit_is_set (ADCSRA, ADSC)); // uint8_t কম = ADCL পরিমাপ; // প্রথমে ADCL পড়তে হবে - তারপর ADCH uint8_t high = ADCH লক করে; // দীর্ঘ ফলাফল = (উচ্চ << 8) | কম; ফলাফল = 1125300L / ফলাফল; // Vcc গণনা করুন (এমভি তে); 1125300 = 1.1*1023*1000 রিটার্ন ফলাফল; // Vcc in millivolts} void beep (int note, int duration) {// buzzerPin স্বরে প্লে টোন বিলম্ব (সময়কাল); noTone (9); বিলম্ব (50); }
ধাপ 4: উপভোগ করুন !
অভিনন্দন? আপনি অবশেষে এটি তৈরি করেছেন তাই যদি আপনি এটি পছন্দ করেন তবে আমার ইউটিউব চ্যানেলটি সাবস্ক্রাইব করুন
প্রস্তাবিত:
DIY -- কিভাবে একটি মাকড়সা রোবট তৈরি করা যায় যা Arduino Uno ব্যবহার করে স্মার্টফোন ব্যবহার করে নিয়ন্ত্রণ করা যায়: 6 টি ধাপ

DIY || কিভাবে একটি স্পাইডার রোবট তৈরি করা যায় যা Arduino Uno ব্যবহার করে স্মার্টফোন ব্যবহার করে নিয়ন্ত্রণ করা যায়: স্পাইডার রোবট তৈরির সময় কেউ রোবটিক্স সম্পর্কে অনেক কিছু শিখতে পারে। এই ভিডিওতে আমরা আপনাকে দেখাবো কিভাবে একটি স্পাইডার রোবট তৈরি করা যায়, যা আমরা আমাদের স্মার্টফোন ব্যবহার করে পরিচালনা করতে পারি (Androi
DIY হ্যান্ডহেল্ড গেম কনসোল রেট্রোপি ব্যবহার করে: 7 টি ধাপ

রেট্রোপি ব্যবহার করে DIY হ্যান্ডহেল্ড গেম কনসোল: এই প্রকল্পটি আরও ভালভাবে বুঝতে উপরের ভিডিওটি দেখুন। ঠিক আছে। আপনাকে শুরু করার সময় এসেছে! প্রথমত, আমরা RetroPie ব্যবহার করতে যাচ্ছি। এটি আমাদের দুটি বিকল্পের সাথে ছেড়ে দেয়। যদি আমরা ইতিমধ্যে আমাদের এসডি কার্ডে রাস্পবিয়ান ইনস্টল করে থাকি, তাহলে আমরা RetroP ইনস্টল করতে পারি
আপনার রাস্পবেরি পাই ব্যবহার করে একটি গেম কনসোল তৈরি করুন!: 6 টি ধাপ

আপনার রাস্পবেরি পাই ব্যবহার করে একটি গেম কনসোল তৈরি করুন! আপনি রাস্পবেরি পাই দিয়ে এটি করতে পারেন। রাস্পবেরি পাই একটি " ক্রেডিট কার্ড আকারের কম্পিউটার " যে অনেক শীতল জিনিস করতে সক্ষম। অনেক ধরনের টাইপ আছে
2.2 টিএফটি ব্যবহার করে হ্যান্ডহেল্ড রিকলবক্স গেম কনসোল: 6 টি ধাপ

2.2 টিএফটি ব্যবহার করে হ্যান্ডহেল্ড রিকলবক্স গেম কনসোল: 2.2 "টিএফটি এলসিডি এবং একটি রাস্পবেরি পাই 0 ডাব্লু এবং জিপিআইও বোতাম ব্যবহার করে হ্যান্ডহেল্ড রিকলবক্স গেম কনসোলের DIY এর জন্য নির্দেশাবলী। আপনি এই পদক্ষেপগুলির সম্পূর্ণ প্রদর্শনের জন্য এই ইউটিউব ভিডিওটি দেখতে পারেন: এ। সব যন্ত্রাংশ পান। অংশগুলি একসঙ্গে বিক্রি করুন
স্মার্টফোন গেম সিমুলেটর- জেসচার কন্ট্রোল আইএমইউ, অ্যাকসিলরোমিটার, জাইরোস্কোপ, ম্যাগনেটোমিটার ব্যবহার করে উইন্ডোজ গেম খেলুন: ৫ টি ধাপ

স্মার্টফোন গেম সিমুলেটর- জেসচার কন্ট্রোল আইএমইউ, অ্যাকসিলরোমিটার, জাইরোস্কোপ, ম্যাগনেটোমিটার ব্যবহার করে উইন্ডোজ গেম খেলুন: এই প্রকল্পটি সমর্থন করুন: https://www.paypal.me/vslcreations ওপেন সোর্স কোডগুলিতে অনুদান দিয়ে & আরও উন্নয়নের জন্য সমর্থন