Sisukord:
Video: Arduino kosmosesõidu mängu versioon _1: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Hei sõbrad. Täna näitan teile, kuidas saate LCD5110 ekraani ja joystic abil kosmosesõidu mängu teha. Vaatame samme…
1. samm: VAJAB
Siin on nimekiri osadest, mida ma selle projekti tegemisel kasutasin:
- Arduino UNO
- Joystick moodul
- Jumper juhtmed (meestele ja isastele naistele)
- Leivalaud
2. samm: Skeem
VCC -> Arduino 5V
BL -> Arduino tihvt 3
GND -> Arduino GND
CLK (SCLK) -> Arduino tihvt 8
DIN (MOSI) -> Arduino tihvt 9
DC -> Arduino tihvt 10
CE või CS -> Arduino tihvt 12
RST (RESET) -> Arduino pin 11
3. samm: KOODI
Koodil on koodifunktsioonide selgitused. Saate sellest hõlpsalt aru. Kui teil on probleeme, võite minuga ühendust võtta.
#kaasake
LCD5110 LCD (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
extern uint8_t SmallFont ; // kirjelda fonte extern uint8_t MediumNumbers ; väline uint8_t arac ; // kirjelda meie kuju extern uint8_t dusman_araci ; // desribe vaenlase kuju const int xpin = A0; // juhtkang x tihvt char pozisyon = 2; // kirjeldada asukohta, meie kuju alguskoht 2 boolean kontrol = true; boolean dusmanOldu = tõsi; int skor = 0; int hiz = 0; int dusmanKonumu1; // vaenlase kirjeldamine1 x asukoht int dusmanKonumu2; // vaenlase kirjeldus2 x asukoht int dusmaninYdeKonumu; // kirjeldage vaenlasi ja nende asukohta
void dusmanAraci (int yer, int asama) {// määrake vaenlase kujundite asukohad
if (yer == 1) {// kui asukoht = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // joonista vaenlase kuju} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } kui (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti () {// kui ebaõnnestume, on mäng läbi
samas (1) {viivitus (100); // oota 1 millisekund lcd.clrScr (); // ekraani tühjendamine lcd.setFont (SmallFont); // määrake font lcd.print ("GAME OVER", CENTER, 20); // print lcd.update (); // ekraani värskendamine}}
void setup () {pinMode (BL, OUTPUT); // tagantvalgustus Väljund lcd. InitLCD (); // initsialiseeri LCD -ekraan lcd.setContrast (55); // määrake kontrastsus (palju 0 kuni 127) Serial.begin (9600); // seeriaühenduse alustamine}
void loop () {
analogWrite (BL, 200);
// seadista mänguekraan lcd.drawRect (0, 0, 47, 47); // joonistame ristküliku lcd.setFont (SmallFont); // määrake font lcd.print ("skor", 53, 0); // printf skoor lcd.setFont (MediumNumbers); // määrake font lcd.printNumI (skor, 59, 7); // saada skoor lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // printimiskiirus lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // hangi kiirus lcd.update (); // uuenda
// määrake rõõmurulli asukoht 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 ja juhtimine on tõsi pozisyon ++; // asukoha suurendamine tähendab kuju teisaldamist paremale kontrol = false; } else if (x> 300 && x <600) {kontrol = true; } Seeria.println (x); // x oleku õppimiseks // määrake meie kuju asukoht lcd.clrScr (); // tühjendage ekraan, kui (pozisyon == 1) {// kui asukoht = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // joonistage meie laev, kui (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
kui (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
if (dusmanOldu) {// kui vaenlase kuju on surnud, kontrollige, kas nad on surnud
dusmanKonumu1 = pozisyon; // esimese vaenlase kuju joonistamine dusmanKonumu2 = juhuslik (0, 4); // joonista kuskile teine vaenlase kuju dusmaninYdeKonumu = 0; // too vaenlane ülevalt dusmanOldu = false;} // vaenlane luuakse uuesti, et nad poleks surnud dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // joonista esimene vaenlase kuju ja saada see ülevalt alla dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // joonista teine vaenlase kuju ja saada see ülevalt alla, kui (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon)))) {// kui meie kuju puudutab vaenlase kujundeid oyunBitti ();} // mäng on läbi, kui (dusmaninYdeKonumu> 40) {// kui meie kuju põgeneb vaenlaste eest dusmanOldu = true; // tapke vaenlase kujundeid skor ++;} // suurendage ükshaaval skoori // suurendage kiirust vastavalt skoorile, kui (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; viivitus (40); }}
4. samm: KOODI BITMAP
Lisaks peate vormide jaoks lisama bitikaardi graafika. See peab olema.c -fail ja sama nimi koos koodnimega. Samuti peab see olema samas failis.
// ------------------------------------------------ ------------------------------ // LCD-assistendi loodud fail // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // kaasata programmifunktsiooni jaoks
const unsigned char arac PROGMEM = {// meie kuju bitikaart
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// vaenlase laeva bitikaart
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Samm 5: TÄNUD VAATAMISE eest
Enne kui hakkasin oma projekte jagama, kodeerisin neid türgi sõnadega, nii et ma ei saanud kõiki sõnu inglise keelde juhtida. Siin on sõnad tõlge, mis seda projekti kasutavad, Oyun = Mäng
Arac = kuju
Dusman = vaenlane
kontrol = kontroll
Konum, Yer = Asukoht
Oyun Bitti = Mäng läbi
Skor = skoor
Hiz = kiirus
Soovitan:
Chrome'i T-rexi mängu häkkimine Arduino abil: 5 sammu
Chrome'i T-rexi mängu häkkimine Arduino abil: selles õpetuses häkkime kroomitud t-rexi mängu arduinoga
Kuidas teha mitme mängijaga mängu Arduino kontrolleritega: 6 sammu
Kuidas teha mitme mängijaga mängu Arduino kontrolleritega: kas olete kunagi mõelnud, kuidas mängude arendajad loovad hämmastavaid mänge, mida inimesed kogu maailmas mängivad? Täna annan teile selle kohta vaid väikese vihje, tehes väikese mitme mängijaga mängu, mida juhib kas Arduino juht
Mängige dinosauruste mängu, kasutades Arduino ja Python3: 5 sammu
Mängige dinosauruste mängu Arduino ja Python3 abil: Projekti kirjeldus Enamik meist on mänginud Google'iga dinosauruste mängu, kui meie internet ei töötanud ja kui te pole seda mängu mänginud, siis ärge muretsege nüüd, kuid mitte tavapärasel viisil nuppe vajutades, vaid liikumist kasutades sinu käest. Nii et selles
Arduino rütmimängu kontroller (minu enda mängu jaoks): 6 sammu
Arduino rütmimängukontroller (minu enda mängu jaoks): selles juhendis näitan teile, kuidas ma selle rütmimängukontrolleri nullist üles ehitan. See hõlmab puidutöötlemise põhioskusi, 3D -printimise põhioskusi ja jootmise põhioskusi. Tõenäoliselt saate selle projekti edukalt üles ehitada, kui teil on null ex
Mängige PONG -mängu Arduino Uno ja OLED 0.96 SSD1306 ekraaniga: 6 sammu
Mängige PONG -mängu Arduino Uno ja OLED 0.96 SSD1306 ekraaniga: Tere poisid, me teeme Arduinoga PONG -mängu. Kasutame mängu & mängu juhtimiseks vajutage nuppe