Indholdsfortegnelse:
Video: Arduino Space Race Game Version _1: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
Hej venner. I dag viser jeg dig hvordan du kan lave et Space Race Game med LCD5110 skærm og joystic. Lad os se trin …
Trin 1: BEHOV
Her er en liste over dele, jeg brugte til at lave dette projekt:
- Arduino UNO
- Joystick -modul
- Jumper Wires (mand til mand og mand til kvinde)
- Brødbræt
Trin 2: SKEMA
VCC -> Arduino 5V
BL -> Arduino pin 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pin 8
DIN (MOSI) -> Arduino pin 9
DC -> Arduino pin 10
CE eller CS -> Arduino pin 12
RST (RESET) -> Arduino pin 11
Trin 3: KODE
Koden har forklaringer på kodefunktioner. Du vil let forstå det. Hvis du har et problem, kan du kontakte mig.
#omfatte
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
ekstern uint8_t SmallFont ; // beskriv skrifttyperne extern uint8_t MediumNumbers ; ekstern uint8_t arac ; // beskrive vores form eksternt uint8_t dusman_araci ; // beskriv fjendens form const int xpin = A0; // joystick x pin char pozisyon = 2; // beskriv placeringen, vores form start placering 2 boolsk kontrol = true; boolsk dusmanOldu = true; int skor = 0; int hiz = 0; int dusmanKonumu1; // beskriv fjende1 x placering int dusmanKonumu2; // beskrive fjende2 x placering int dusmaninYdeKonumu; // beskriv fjender y placering
void dusmanAraci (int yer, int asama) {// angive placeringer for fjendtlige former
if (yer == 1) {// if location = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // tegne fjendtlig form} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } hvis (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti () {// hvis vi fejler, er spillet slut
mens (1) {forsinkelse (100); // vent 1 milisekund lcd.clrScr (); // ryd skærmen lcd.setFont (SmallFont); // sæt skrifttype lcd.print ("SPIL OVER", CENTER, 20); // udskriv lcd.update (); // opdater skærmen}}
ugyldig opsætning () {pinMode (BL, OUTPUT); // sæt lys tilbage Output lcd. InitLCD (); // start lcd -skærmen lcd.setContrast (55); // indstil kontrast (mellem 0 og 127) Serial.begin (9600); // start seriel kommunikation}
void loop () {
analogWrite (BL, 200);
// sæt spilskærm lcd.drawRect (0, 0, 47, 47); // vi tegner rektangel lcd.setFont (SmallFont); // sæt skrifttype lcd.print ("skor", 53, 0); // printf score lcd.setFont (MediumNumbers); // sæt skrifttype lcd.printNumI (skor, 59, 7); // få score lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // udskrivningshastighed lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // få hastighed lcd.update (); // opdatering
// indstil joyistick -placeringen int x = analogRead (xpin); if (x <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 3 && kontrol == true) {// if location! = 3, x state> 600 og kontrol er sand pozisyon ++; // øge placeringen, det betyder flytte form til højre kontrol = false; } ellers hvis (x> 300 && x <600) {kontrol = true; } Serial.println (x); // for at lære x -tilstand // indstil vores form -placering lcd.clrScr (); // ryd skærmen hvis (pozisyon == 1) {// hvis placering = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // tegne vores skib, hvis (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
hvis (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
hvis (dusmanOldu) {// hvis fjendens form er død, skal du kontrollere, om de er døde
dusmanKonumu1 = pozisyon; // tegne første fjendtlige form dusmanKonumu2 = tilfældig (0, 4); // tegne en anden fjendtlig form et sted dusmaninYdeKonumu = 0; // bringe fjende fra toppen dusmanOldu = false;} // fjenden genskabes, så de ikke er døde dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // tegne første fjendtlige form og få den fra top til bund dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // tegne anden fjendens form og få den fra top til bund, hvis (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon))) {// hvis vores form rører fjendtlige former oyunBitti ();} // spillet er slut, hvis (dusmaninYdeKonumu> 40) {// hvis vores form undslipper fjender dusmanOldu = true; // dræb fjendens former skor ++;} // øg scoren en efter en // øg hastigheden i henhold til score hvis (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; forsinkelse (40); }}
Trin 4: KODE BITMAP
Desuden skal du inkludere bitmapgrafik for figurer. Det skal være en.c -fil og det samme navn med kodenavn. Den skal også være i den samme fil.
// ------------------------------------------------ ------------------------------ // Fil genereret af LCD Assistant // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // include for progmem function
const usigneret char arac PROGMEM = {// vores form bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// fjendens skib bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Trin 5: TAK FOR VISNINGEN
Inden jeg begyndte at dele mine projekter, kodede jeg i tyrkiske ord, så jeg kunne ikke tilføje alle ord til engelsk. Her er ordoversættelsen, som jeg bruger dette projekt, Oyun = Spil
Arac = form
Dusman = fjende
kontrol = kontrol
Konum, Yer = Placering
Oyun Bitti = Game Over
Skor = Score
Hiz = Hastighed
Anbefalede:
Arduino Space Rocks Game: 3 trin
Arduino Space Rocks Game: Uanset om de spilles på en computer, på en telefon, på en spillekonsol eller på en selvstændig boks, indeholder mange videospil et element af forhindring af forhindringer. Nok kan der blive givet point for at indsamle tokens eller finde vej gennem en labyrint
8x16 LED Matrix Pong Game (2 Paddles Per Player Version): 3 trin
8x16 LED Matrix Pong Game (2 Paddles Per Player Version): Jeg er blevet inspireret af mange variationer af det klassiske Pong -spil implementeret på Arduino ved hjælp af en 8x8 LED matrix. I denne instruktive vil jeg vise dig, hvordan du bygger min yndlings Pong -version, der har to padler - angriber og målmand - pr. Spiller
Space Race Game Version 2: 5 trin
Space Race Game Version 2: Hej alle sammen. Før denne spilversion udgav jeg den første version af spillet. I dag viser jeg dig Space Race Game version 2. Lad os se trin
Quick Reaction Game: Distance Version: 5 trin (med billeder)
Hurtigt reaktionsspil: Afstandsversion: Hej. Dette er en instruktion om, hvordan du opretter et spil, der tester både din reaktionstid og følelse af afstand. Dette projekt er baseret på et gammelt projekt, jeg lavede, hvor to spillere konkurrerede om at se, hvem der havde en hurtigere reaktionstid ved at klikke på en knap
Space Race: Simpelt Arduino Clicker -spil at lave med børnene: 7 trin
Space Race: Simpelt Arduino Clicker -spil at lave med børnene: ¡ Jeg uploader en video, der viser, hvordan det fungerer i dag! Hold øje Lad os have det sjovt med et instruktør med rumtema, der kan laves sammen med børn, og senere kan nydes af dem alene som et legetøj. Du kan bruge det som et middel til at lære dem historie om