
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59


Šajā apmācībā es jums parādīšu, kā jūs varat izveidot spēļu konsoli, izmantojot Arduino nano. Tātad, ja vēlaties tajā redzēt detalizētu video, pārbaudiet to manā YouTube kanālā
Piegādes
Ja jūs pērkat no šīm saitēm, tas man palīdzēs jums sniegt vairāk projektu
1) ARDUINO NANO2) OLED DISPLAY3) PUSH BUTTONS4) WIRES
1. solis: visu sastāvdaļu lodēšana

Tātad, pēc visu komponentu iegūšanas jums ir jālodē visas sastāvdaļas, kā parādīts šajā shēmā
2. solis: sakārtojiet visas lietas vietās
Pēc visu lodēšanas sakārtojiet visas šādas sastāvdaļas, lai tas iegūtu jauku izskatu
3. solis: programmēšana
Tātad, beidzot, pareizi izpildot visas darbības, ir pienācis laiks augšupielādēt zemāk esošo kodu Arduino
#iekļaut
#include #include #include #include // #include #define OLED_RESET 4 Adafruit_SSD1306 displejs (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, 0xF3, 0xFF, 0xFx, 0xF3, 0x00, 0x3C, 0x00, 0x1F, 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00}; const unsigned char PROGMEM storm = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x60, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x7F, 0xE0, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xD7, 0xFF, 0xFF, 0xE1, 0x00, 0x01, 0xBF0, 0xF0, 0xBF, 0xF1, 0xCF, 0xFA, 0x80, 0x01, 0x3F, 0xC2, 0x37, 0xF7, 0x80, 0x01, 0xEF, 0x9C, 0x01, 0xE7, 0xC0, 0x01, 0xE0, 0x70, 0x06, 0x06, 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, 0x0x, 0x0x 0xF0, 0x0F, 0xC0, 0xFC, 0x0F, 0x07, 0x90, 0x0D, 0x43, 0xC0, 0x03, 0x07, 0x90, 0x05, 0x64, 0x00, 0x00, 0xCF, 0x10, 0x07, 0x26, 0x0 0x01, 0x80, 0x00, 0x00, 0x10, 0x20, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x40, 0x01, 0x80, 0x07, 0xF0, 0x01, 0x80, 0x00, 0x80, 0x07, 0xC8, 0x00 0x80, 0x0B, 0xE8, 0x00, 0x80, 0x00, 0x87, 0x97, 0xE9, 0xE0, 0x80, 0x00, 0x87, 0xDF, 0xEF, 0xA0, 0x80, 0x00, 0x4B, 0xFF, 0xFF, 0xA0, 0xA0 0xDF, 0xFB, 0xA3, 0x00, 0x00, 0x24, 0x97, 0xE8, 0x24, 0x00, 0x00, 0x1E, 0x1F, 0xC0, 0x2C, 0x00, 0x00, 0x07, 0xF8, 0x1F, 0x0x 0xF8, 0x00, 0x00}; void setup () {pinMode (3, INPUT_PULLUP); pinMode (12, INPUT_PULLUP); pinMode (11, INPUT_PULLUP); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); display.clearDisplay (); display.setTextSize (0); display.drawBitmap (6, 11, vētra, 48, 48, 1); display.setFont (& FreeSans9pt7b); display.setTextColor (BALTS); display.setCursor (65, 14); display.println ("xWing"); display.setFont (); display.setCursor (65, 17); display.setTextSize (0); display.println ("pret"); display.setCursor (0, 0); pludiņš voltaza = readVcc ()/1000; displejs.println (voltaza);; display.setFont (& FreeSans9pt7b); display.setCursor (65, 39); display.println ("Nāve"); display.setFont (); display.setCursor (65, 42); display.println ("zvaigzne"); display.setTextSize (0); display.setCursor (65, 55); display.println ("by VRAJ"); display.setCursor (65, 20); display.display (); display.setFont (); pīkstiens (a, 500); pīkstiens (a, 500); pīkstiens (a, 500); pīkstiens (f, 350); pīkstiens (cH, 150); pīkstiens (a, 500); pīkstiens (f, 350); pīkstiens (cH, 150); pīkstiens (a, 650); kavēšanās (500); kavēšanās (500); } int metx = 0; int mety = 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; // lodes ātrums int 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 centar = 95; neparakstīts garais pocetno = 0; neparakstīts garš odabrano = 0; neparakstīts garais trenutno = 0; neparakstīts garš nivovrije = 0; int poz = 30; void loop () {if (go == 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); ja (poc == 0) {pocetno = millis (); odabrano = nejaušs (400, 1200); poc = 1; } trenutno = milis (); // 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; } if ((odabrano+pocetno) 0) {display.drawCircle (rx, ry, 2, 1); rx = rx-brzina;} if (ispaljeno> 1) {display.drawCircle (rx2, ry2, 1, 1); rx2 = rx2-brzina;} if (ispaljeno> 2) {display.drawCircle (rx3, ry3, 4, 1); rx3 = rx3-brzina;} if (ispaljeno> 3) {display.drawCircle (rx4, ry4, 2, 1); rx4 = rx4-brzina;} ja (digitalRead (12) == 0 && poz> = 2) {poz = poz-2;} if (digitalRead (11) == 0 && poz128) postoji = 0; ja (smjer == 0) {nep = nep+bkugle;} else {nep = nep-bkugle;} if (nep> = (64-promjer)) smjer = 1; ja (nep = nep-promjer && mety (centar-promjer) && metx = pozicija-8 && ry <= pozicija+8) if (rx4) {rx = 95; ry = -50; tonis (9, 100, 100); zivoti = zivoti-1; } ja (ry2> = pozicija-8 && ry2 <= pozicija+8) ja (rx24) {rx2 = -50; ry2 = -50; tonis (9, 100, 100); zivoti = zivoti-1; } ja (ry3> = pozicija-8 && ry3 <= pozicija+8) ja (rx34) {rx3 = -50; ry3 = -50; tonis (9, 100, 100); zivoti = zivoti-1; } ja (ry4> = pozicija-8 && ry4 <= pozicija+8) ja (rx44) {rx4 = 200; ry4 = -50; ispaljeno = 0; tonis (9, 100, 100); zivoti = zivoti-1; } ja (rx4 <1) {ispaljeno = 0; rx4 = 200;} if (zivoti == 0) go = 1; } ja (iet == 1) {ja (zivoti == 0) {tonis (9, 200, 300); kavēšanās (300); tonis (9, 250, 200); kavēšanās (200); tonis (9, 300, 300); kavēšanās (300); zivoti = 5; } display.clearDisplay (); display.setFont (); display.setTextSize (2); display.setTextColor (BALTS); display.setCursor (7, 10); display.println ("SPĒLES PĀRBAUDE!"); display.setTextSize (1); display.setCursor (7, 30); display.println ("score:"); display.setCursor (44, 30); display.println (bodovi); display.setCursor (7, 40); display.println ("līmenis:"); display.setCursor (44, 40); display.println (nivo); display.setCursor (7, 50); display.println ("laiks (-i):"); display.setCursor (60, 50); display.println (trenutno/1000); display.display (); ja (digitalRead (3) == 0) {tonis (9, 280, 300); kavēšanās (300); tonis (9, 250, 200); kavēšanās (200); tonis (9, 370, 300); kavēšanās (300); ponovo (); }}} anulēts ponovo () {metx = 0; metijs = 0; postoji = 0; nep = 8; smjer = 0; iet = 0; rx = 95; ry = 0; rx2 = 95; ry2 = 0; rx3 = 95; ry3 = 0; bodovi = 0; brzina = 3; // brizna neprijateljevog metka bkugle = 1; najmanja = 600; najveca = 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 () {// Lasiet 1.1V atsauci pret AVcc // iestatiet atsauci uz Vcc un mērījumu uz iekšējo 1.1V atsauci #ja definēts (_ AVR_ATmega32U4_) || definēts (_ AVR_ATmega1280_) || definēts (_ AVR_ATmega2560_) ADMUX = _BV (REFS0) | _BV (MUX4) | _BV (MUX3) | _BV (MUX2) | _BV (MUX1); #elif definēts (_AVR_ATtiny24_) || definēts (_ AVR_ATtiny44_) || definēts (_ AVR_ATtiny84_) ADMUX = _BV (MUX5) | _BV (MUX0); #elif definēts (_AVR_ATtiny25_) || definēts (_ AVR_ATtiny45_) || definēts (_ AVR_ATtiny85_) ADMUX = _BV (MUX3) | _BV (MUX2); #else ADMUX = _BV (REFS0) | _BV (MUX3) | _BV (MUX2) | _BV (MUX1); #endif aizture (2); // Pagaidiet, kamēr Vref nokārtos ADCSRA | = _BV (ADSC); // Sākt konvertēšanu, kamēr (bit_is_set (ADCSRA, ADSC)); // mērot uint8_t zemu = ADCL; // vispirms jāizlasa ADCL - tas pēc tam bloķē ADCH uint8_t high = ADCH; // atbloķē abus garo rezultātu = (augsts << 8) | zems; rezultāts = 1125300L / rezultāts; // Aprēķināt Vcc (mV); 1125300 = 1,1*1023*1000 atgriešanās rezultāts; // Vcc milivoltos} void beep (int not, int duration) {// Play tone on buzzerPin tone (9, piezīme, ilgums); kavēšanās (ilgums); noTone (9); kavēšanās (50); }
4. solis: izbaudiet !
Apsveicu? jūs beidzot to izdarījāt, ja jums tas patika, abonējiet manu youtube kanālu
Ieteicams:
DIY rokas spēļu konsole, izmantojot RetroPie: 7 soļi

DIY rokas spēļu konsole, izmantojot RetroPie: Noskatieties iepriekš minēto video, lai labāk izprastu šo projektu. Labi. Ir pienācis laiks sākt darbu! Pirmkārt, mēs izmantosim RetroPie. Tas mums atstāj divas iespējas. Ja mēs jau esam instalējuši Raspbian savā SD kartē, tad mēs varam instalēt RetroP
DIY Raspberry Pi Zero rokas spēļu konsole: 6 soļi (ar attēliem)

DIY Raspberry Pi Zero rokas spēļu konsole: Šajā projektā es jums parādīšu, kā es izmantoju Raspberry Pi Zero, NiMH baterijas, mājās gatavotu pārslodzes aizsardzības ķēdi, atpakaļskata LCD un audio pastiprinātāju, lai izveidotu rokas spēļu konsoli, kuru var atskaņot retro spēles. Sāksim
DIY spēļu kontrolieris uz Arduino bāzes - Arduino PS2 spēļu kontrolieris - Spēlējot Tekken ar DIY Arduino Gamepad: 7 soļi

DIY spēļu kontrolieris uz Arduino bāzes | Arduino PS2 spēļu kontrolieris | Spēlēt Tekken ar DIY Arduino Gamepad: Sveiki, puiši, spēlēt spēles vienmēr ir jautri, bet spēlēt ar savu DIY pielāgoto spēļu kontrolieri ir jautrāk. Tāpēc šajā instrukcijā mēs izveidosim spēles kontrolieri, izmantojot arduino pro micro
Rokas Recalbox spēļu konsole, izmantojot 2.2 TFT: 6 soļi

Rokas pārnēsājamā spēļu konsole, izmantojot 2.2 TFT: Instrukcijas rokas recalbox spēļu konsoles izgatavošanai, izmantojot 2,2 collu TFT LCD un Raspberry Pi 0 W un GPIO pogas. Jūs varat apskatīt šo YouTube videoklipu, lai pilnībā parādītu iesaistītās darbības: A. Iegūstiet visas detaļas.B. Lodējiet detaļas kopā
Arduino kabatas spēļu konsole + A -Maze - labirints spēle: 6 soļi (ar attēliem)

Arduino Pocket Game Console + A -Maze - Maze Game: Laipni lūdzam manā pirmajā pamācībā! Projekts, ar kuru es vēlos šodien dalīties ar jums, ir spēle Arduino labirints, kas kļuva par kabatas konsoli, kas ir tikpat spējīga kā Arduboy un līdzīgas Arduino balstītas konsoles. Pateicoties izstādei, to var parādīt kopā ar manām (vai jūsu) turpmākajām spēlēm