
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02


I denne opplæringen skal jeg vise deg at hvordan kan du lage en spillkonsoll ved hjelp av Arduino nano. Så hvis du vil se detaljert video om den, så sjekk den ut på min youtube -kanal
Rekvisita
Hvis du kjøper fra denne lenken, vil det hjelpe meg å gi deg flere prosjekter
1) ARDUINO NANO2) OLED -DISPLAY3) PUSH -KNAPPER4) TRÅD
Trinn 1: Lodding av alle komponentene

Så etter å ha fått alle komponentene må du lodde alle komponentene som vist i dette kretsdiagrammet
Trinn 2: Ordne alle tingene på steder
Etter lodding ordner du alle komponentene slik at det får et fint utseende
Trinn 3: Programmering
Så endelig, etter å ha fulgt alle trinnene riktig, er det på tide å laste opp koden nedenfor til Arduino
#inkludere
#include #include #include #include // #include #define OLED_RESET 4 Adafruit_SSD1306 display (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, 0x00, 0x00, 0x00, 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, 0x7, 0xFE, 0x00, 0x00, 0x00, 0x07, 0x80, 0x01, 0xE0, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x20, 0x00, 0x00, 0x18, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, 0x00, 0x00, 0x60, 0x00, 0x00, 0x02, 0x00, 0x00, 0x0, 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, 0xBF, 0xFC, 0x1, 0x,, 0xBF, 0xF1, 0xCF, 0xFA, 0x80, 0x01, 0x3F, 0xC2, 0x37, 0xF7, 0x80, 0x01, 0xEF, 0x9C, 0x01, 0xE7, 0xC0, 0x01, 0xE0, 0x70, 0x0, 0x0, 0x0,, 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, 0x0, 0x0, 0x0, 0x0, 0x0 0xF0, 0x0F, 0xC0, 0xFC, 0x0F, 0x07, 0x90, 0x0D, 0x43, 0xC0, 0x03, 0x07, 0x90, 0x05, 0x64, 0x00, 0x00, 0xCF, 0x10, 0x0, 0x00, 0x0, 0x01, 0x80, 0x00, 0x00, 0x10, 0x20, 0x01, 0x00, 0x00, 0x00, 0x0E, 0x40, 0x01, 0x80, 0x07, 0xF0, 0x01, 0x80, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x80, 0x0B, 0xE8, 0x00, 0x80, 0x00, 0x87, 0x97, 0xE9, 0xE0, 0x80, 0x00, 0x87, 0xDF, 0xEF, 0xA0, 0x80, 0x00, 0x4B, 0xFF, 0xFF, 0xA0, 0x00, 0xDF, 0xFB, 0xA3, 0x00, 0x00, 0x24, 0x97, 0xE8, 0x24, 0x00, 0x00, 0x1E, 0x1F, 0xC0, 0x2C, 0x00, 0x00, 0x07, 0xF8, 0x1F, 0xF0, 0x00, 0xF8, 0x00, 0x00}; ugyldig oppsett () {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, storm, 48, 48, 1); display.setFont (& FreeSans9pt7b); display.setTextColor (HVIT); display.setCursor (65, 14); display.println ("xWing"); display.setFont (); display.setCursor (65, 17); display.setTextSize (0); display.println ("vs"); display.setCursor (0, 0); float voltaza = readVcc ()/1000; display.println (voltaza);; display.setFont (& FreeSans9pt7b); display.setCursor (65, 39); display.println ("Død"); display.setFont (); display.setCursor (65, 42); display.println ("stjerne"); display.setTextSize (0); display.setCursor (65, 55); display.println ("av VRAJ"); display.setCursor (65, 20); display.display (); display.setFont (); pip (a, 500); pip (a, 500); pip (a, 500); pip (f, 350); pip (cH, 150); pip (a, 500); pip (f, 350); pip (cH, 150); pip (a, 650); forsinkelse (500); forsinkelse (500); } int metx = 0; int mety = 0; int postoji = 0; int nep = 8; int smjer = 0; int gå = 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; // bullet hastighet 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 nivå = 1; int centar = 95; usignert lang pocetno = 0; usignert lang odabrano = 0; usignert lang trenutno = 0; usignert lang 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); hvis (poc == 0) {pocetno = millis (); odabrano = tilfeldig (400, 1200); poc = 1; } trenutno = millis (); // nivoi if ((trenutno-nivovrije)> 50000) {nivovrije = trenutno; nivå = nivå+1; brzina = brzina+1; // brizna neprijateljevog metka if (nivå % 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;} if (digitalRead (12) == 0 && poz> = 2) {poz = poz-2;} if (digitalRead (11) == 0 && poz128) postoji = 0; if (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; tone (9, 100, 100); zivoti = zivoti-1; } if (ry2> = pozicija-8 && ry2 <= pozicija+8) if (rx24) {rx2 = -50; ry2 = -50; tone (9, 100, 100); zivoti = zivoti-1; } if (ry3> = pozicija-8 && ry3 <= pozicija+8) if (rx34) {rx3 = -50; ry3 = -50; tone (9, 100, 100); zivoti = zivoti-1; } if (ry4> = pozicija-8 && ry4 <= pozicija+8) if (rx44) {rx4 = 200; ry4 = -50; ispaljeno = 0; tone (9, 100, 100); zivoti = zivoti-1; } hvis (rx4 <1) {ispaljeno = 0; rx4 = 200;} hvis (zivoti == 0) gå = 1; } if (go == 1) {if (zivoti == 0) {tone (9, 200, 300); forsinkelse (300); tone (9, 250, 200); forsinkelse (200); tone (9, 300, 300); forsinkelse (300); zivoti = 5; } display.clearDisplay (); display.setFont (); display.setTextSize (2); display.setTextColor (HVIT); display.setCursor (7, 10); display.println ("SPILL OVER!"); display.setTextSize (1); display.setCursor (7, 30); display.println ("score:"); display.setCursor (44, 30); display.println (bodovi); display.setCursor (7, 40); display.println ("nivå:"); display.setCursor (44, 40); display.println (nivå); display.setCursor (7, 50); display.println ("tid (er):"); display.setCursor (60, 50); display.println (trenutno/1000); display.display (); if (digitalRead (3) == 0) {tone (9, 280, 300); forsinkelse (300); tone (9, 250, 200); forsinkelse (200); tone (9, 370, 300); forsinkelse (300); ponovo (); }}} ugyldig ponovo () {metx = 0; mety = 0; postoji = 0; nei = 8; smjer = 0; gå = 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; nivå = 1; pocetno = 0; odabrano = 0; trenutno = 0; nivovrije = 0; } lang readVcc () {// Les 1.1V referanse mot AVcc // sett referansen til Vcc og målingen til den interne 1.1V referansen #hvis definert (_ AVR_ATmega32U4_) || definert (_ AVR_ATmega1280_) || definert (_ AVR_ATmega2560_) ADMUX = _BV (REFS0) | _BV (MUX4) | _BV (MUX3) | _BV (MUX2) | _BV (MUX1); #elif definert (_AVR_ATtiny24_) || definert (_ AVR_ATtiny44_) || definert (_ AVR_ATtiny84_) ADMUX = _BV (MUX5) | _BV (MUX0); #elif definert (_AVR_ATtiny25_) || definert (_ AVR_ATtiny45_) || definert (_ AVR_ATtiny85_) ADMUX = _BV (MUX3) | _BV (MUX2); #else ADMUX = _BV (REFS0) | _BV (MUX3) | _BV (MUX2) | _BV (MUX1); #endif forsinkelse (2); // Vent til Vref avregner ADCSRA | = _BV (ADSC); // Start konvertering mens (bit_is_set (ADCSRA, ADSC)); // måling av uint8_t lav = ADCL; // må lese ADCL først - den låser deretter ADCH uint8_t høyt = ADCH; // låser opp begge lange resultat = (høy << 8) | lav; resultat = 1125300L / resultat; // Beregn Vcc (i mV); 1125300 = 1,1*1023*1000 returresultat; // Vcc i millivolt} ugyldig pip (int note, int duration) {// Play tone on buzzerPin tone (9, note, duration); forsinkelse (varighet); noTone (9); forsinkelse (50); }
Trinn 4: Nyt !
Gratulerer ? du klarte det endelig, så hvis du likte det, må du abonnere på YouTube -kanalen min
Anbefalt:
DIY -- Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: 6 trinn

DIY || Hvordan lage en edderkopprobot som kan kontrolleres ved hjelp av smarttelefon ved hjelp av Arduino Uno: Mens du lager en edderkopprobot, kan du lære så mange ting om robotikk. Som å lage roboter er både underholdende og utfordrende. I denne videoen skal vi vise deg hvordan du lager en Spider -robot, som vi kan bruke ved hjelp av smarttelefonen vår (Androi
DIY håndholdt spillkonsoll ved bruk av RetroPie: 7 trinn

DIY håndholdt spillkonsoll ved bruk av RetroPie: Se videoen ovenfor for å forstå dette prosjektet bedre. Fint. Det er på tide å komme i gang! Først og fremst skal vi bruke RetroPie. Dette gir oss to alternativer. Hvis vi allerede har installert Raspbian på SD -kortet vårt, kan vi installere RetroP
Lag en spillkonsoll ved hjelp av din Raspberry Pi !: 6 trinn

Lag en spillkonsoll med din Raspberry Pi !: Vil du spille retrospill uten å betale for de dyre gamle konsollene? Du kan gjøre nettopp det med Raspberry Pi. Raspberry Pi er en datamaskin i "kredittkortstørrelse" som er i stand til mange kule ting. Det er mange forskjellige typer
Hvordan lage en drone ved hjelp av Arduino UNO - Lag en quadcopter ved hjelp av mikrokontroller: 8 trinn (med bilder)

Hvordan lage en drone ved hjelp av Arduino UNO | Lag en Quadcopter ved hjelp av mikrokontroller: Introduksjon Besøk min Youtube -kanal En Drone er en veldig dyr gadget (produkt) å kjøpe. I dette innlegget skal jeg diskutere hvordan jeg får det billig? Og hvordan kan du lage din egen slik til en billig pris … Vel, i India er alle materialer (motorer, ESCer
Håndholdt Recalbox -spillkonsoll ved bruk av 2,2 TFT: 6 trinn

Handheld Recalbox Game Console Using 2.2 TFT: Instruksjoner for DIY av en håndholdt recalbox -spillkonsoll ved bruk av 2,2 "TFT LCD og en Raspberry Pi 0 W og GPIO -knapper. Du kan se denne youtube -videoen for en fullstendig demonstrasjon av trinnene som er involvert: A. Få alle delene. B. Lodd delene sammen