INHOUDSOPGAWE:
Video: Arduino Space Race Game weergawe _1: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Haai vriende. Ek wys u vandag hoe u 'n Space Race Game kan maak met 'n LCD5110 -skerm en joystic. Kom ons kyk na stappe …
Stap 1: BEHOEFTES
Hier is 'n lys van dele waarmee ek hierdie projek gemaak het:
- Arduino UNO
- Joystick -module
- Jumper Wires (manlik tot manlik en manlik tot vroulik)
- Broodbord
Stap 2: SKEMA
VCC -> Arduino 5V
BL -> Arduino -pen 3
GND -> Arduino GND
CLK (SCLK) -> Arduino -pen 8
DIN (MOSI) -> Arduino -pen 9
DC -> Arduino -pen 10
CE of CS -> Arduino -pen 12
RST (RESET) -> Arduino -pen 11
Stap 3: KODE
Die kode bevat verduidelikings van kodefunksies. U sal dit maklik verstaan. As u 'n probleem het, kan u my kontak.
#insluit
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
eksterne uint8_t SmallFont ; // beskryf die lettertipes extern uint8_t MediumNumbers ; ekstern uint8_t arac ; // beskryf ons vorm ekstern uint8_t dusman_araci ; // beskryf die vorm van die vyand const int xpin = A0; // joystick x pin char pozisyon = 2; // beskryf die ligging, ons vorm begin plek 2 boolean kontrol = true; boolean dusmanOldu = true; int skor = 0; int hiz = 0; int dusmanKonumu1; // beskryf vyand1 x ligging int dusmanKonumu2; // beskryf vyand2 x ligging int dusmaninYdeKonumu; // beskryf vyande en ligging
void dusmanAraci (int yer, int asama) {// stel plekke vir vyandelike vorms in
if (yer == 1) {// if location = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // teken vyandelike vorm} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } as (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
ongeldig oyunBitti () {// as ons misluk, is die spel verby
terwyl (1) {vertraging (100); // wag 1 milisekonde lcd.clrScr (); // maak die skerm lcd.setFont (SmallFont) skoon; // stel lettertipe lcd.print ("GAME OVER", CENTRE, 20); // druk lcd.update (); // werk die skerm op}}
ongeldige opstelling () {pinMode (BL, OUTPUT); // lig terugstel Output lcd. InitLCD (); // begin die lcd -skerm lcd.setContrast (55); // stel kontras (tussen 0 en 127) Serial.begin (9600); // begin met reekskommunikasie}
leemte -lus () {
analogWrite (BL, 200);
// stel spelskerm lcd.drawRect (0, 0, 47, 47); // ons teken reghoek lcd.setFont (SmallFont); // stel lettertipe lcd.print ("skor", 53, 0); // printf score lcd.setFont (MediumNumbers); // stel lettertipe lcd.printNumI (skor, 59, 7); // kry telling lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // druksnelheid lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // kry spoed lcd.update (); //Opdateer
// stel die joyistick -ligging int x = analogRead (xpin) in; if (x <300 && pozisyon! = 1 && kontrol == true) {// if location! = 1, x state600 && pozisyon! = 3 && kontrol == true) {// if location! = 3, x state> 600 en beheer is waar pozisyon ++; // verhoog die ligging wat dit beteken, skuif die vorm na die regte kontrol = false; } anders as (x> 300 && x <600) {kontrol = true; } Serial.println (x); // vir leer x staat // stel die ligging van ons vorm in lcd.clrScr (); // maak die skerm skoon as (pozisyon == 1) {// as location = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // teken ons skip as (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
as (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
as (dusmanOldu) {// as die vyand se vorm dood is, kyk of dit dood is
dusmanKonumu1 = pozisyon; // teken eerste vyandelike vorm dusmanKonumu2 = ewekansig (0, 4); // teken êrens 'n ander vyandelike vorm dusmaninYdeKonumu = 0; // bring vyand van bo af dusmanOldu = vals;} // vyand word herskep sodat hulle nie dood is nie dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // teken eerste vyandelike vorm en haal dit van bo na onder dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // teken die tweede vyandelike vorm en kry dit van bo na onder as (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon))) {// as ons vorm vyandelike vorms raak oyunBitti ();} // die spel is verby as (dusmaninYdeKonumu> 40) {// as ons vorm van vyande ontsnap dusmanOldu = waar; // maak vyandelike vorme dood++;} // verhoog die telling een vir een // verhoog die spoed volgens die telling as (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; vertraging (40); }}
Stap 4: KODE BITMAP
Verder moet u bitmap -grafika vir vorms insluit, dit moet 'n.c -lêer wees en dieselfde naam met kodenaam. Dit moet ook in dieselfde lêer wees.
// ------------------------------------------------ ------------------------------ // Lêer gegenereer deur LCD Assistant // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // include for progmem function
const unsigned char arac PROGMEM = {// ons vorm -bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// vyandskip se bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Stap 5: DANKIE VIR KYK
Voordat ek begin het om my projekte te deel, het ek Turkse woorde gekodeer, sodat ek nie elke woord in Engels kon skryf nie. Hier is die vertaling van woorde wat hierdie projek gebruik, Oyun = spel
Arac = Vorm
Dusman = Vyand
beheer = beheer
Konum, Yer = Ligging
Oyun Bitti = Game Over
Skor = telling
Hiz = Spoed
Aanbeveel:
Arduino Volt Meter (0-100V DC) - Weergawe 2 (beter): 3 stappe
Arduino Volt Meter (0-100V DC)-Weergawe 2 (beter): In hierdie instruksies het ek 'n voltmeter gebou om hoë spanning DC (0-100v) met relatiewe presisie en akkuraatheid te meet met behulp van 'n Arduino Nano en 'n ADS 1115 ADC .Dit is 'n tweede weergawe van die voltmeter wat my vorige instruksies hier gebruik is: https: // ww
ARDUINO SOLAR CHARGE CONTROLLER (Weergawe 2.0): 26 stappe (met foto's)
ARDUINO SOLAR CHARGE CONTROLLER (Weergawe 2.0): [Speel video] Ek het 'n jaar gelede begin met die bou van my eie sonnestelsel om krag vir my dorpshuis te verskaf. Aanvanklik het ek 'n LM317 -gebaseerde laaibestuurder en 'n energiemeter gemaak vir die monitering van die stelsel. Uiteindelik het ek 'n PWM -laai -kontroleerder gemaak. In Apri
8x16 LED Matrix Pong Game (2 paddles per speler weergawe): 3 stappe
8x16 LED Matrix Pong Game (2 Paddles Per Player Version): Ek is geïnspireer deur baie variasies van die klassieke Pong -spel wat op Arduino geïmplementeer is met behulp van 'n 8x8 LED matriks. In hierdie instruksies sal ek jou wys hoe om my gunsteling Pong -weergawe te bou met twee spane - doelskieter en doelwagter - per speler
Space Race Game Weergawe 2: 5 stappe
Space Race Game Weergawe 2: Hey almal. Voor die spelweergawe het ek die eerste weergawe van die spel gepubliseer. Vandag wys ek u Space Race Game weergawe 2. Kom ons kyk na stappe
Space Race: Eenvoudige Arduino Clicker -speletjie om saam met die kinders te maak: 7 stappe
Space Race: Eenvoudige Arduino Clicker -speletjie om saam met die kinders te maak: en ek laai 'n video op wat wys hoe dit vandag werk! Bly ingeskakel Kom ons geniet dit met 'n ruimte-tema instruksies wat saam met kinders gemaak kan word, en later alleen as 'n speelding kan geniet word. U kan dit as 'n middel gebruik om hulle geskiedenis te leer oor