Turinys:
- 1 žingsnis: POREIKIAI
- 2 žingsnis: SCHEMA
- 3 žingsnis: KODAS
- 4 žingsnis: KODUOKITE BITMAP
- 5 žingsnis: AČIŪ už peržiūrą
Video: „Arduino Space Race“žaidimo versija _1: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Ei draugai. Šiandien aš parodysiu, kaip galite sukurti kosmoso lenktynių žaidimą naudodami LCD5110 ekraną ir vairasvirtę. Pažvelkime į žingsnius…
1 žingsnis: POREIKIAI
Čia yra dalių, kurias naudoju kurdamas šį projektą, sąrašas:
- Arduino UNO
- Vairasvirtės modulis
- Jumperiniai laidai (nuo vyrų iki vyrų ir vyrų nuo moterų)
- Bandomoji Lenta
2 žingsnis: SCHEMA
VCC -> Arduino 5V
BL -> „Arduino“kaištis 3
GND -> Arduino GND
CLK (SCLK) -> „Arduino“kaištis 8
DIN (MOSI) -> „Arduino“kaištis 9
DC -> „Arduino“kaištis 10
CE arba CS -> „Arduino“kaištis 12
RST (RESET) -> „Arduino“kaištis 11
3 žingsnis: KODAS
Kodas turi kodo funkcijų paaiškinimus. Jūs lengvai tai suprasite. Jei turite problemų, galite susisiekti su manimi.
#įtraukti
LCD5110 LCD (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
extern uint8_t SmallFont ; // aprašyti šriftus extern uint8_t MediumNumbers ; extern uint8_t arac ; // apibūdinti mūsų formą išorinis uint8_t dusman_araci ; // aprašyti priešo formą const int xpin = A0; // vairasvirtė x kaištis char pozisyon = 2; // aprašyti vietą, mūsų formos pradžios vietą 2 boolean kontrol = true; boolean dusmanOldu = tiesa; int skor = 0; int hiz = 0; int dusmanKonumu1; // aprašyti priešą1 x vietą int dusmanKonumu2; // aprašyti priešą2 x vieta int dusmaninYdeKonumu; // apibūdinti priešus ir vietą
void dusmanAraci (int yer, int asama) {// nustatyti priešo formų vietas
if (yer == 1) {// jei vieta = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // piešti priešo formą} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } if (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti () {// jei mums nepavyks, žaidimas baigsis
o (1) {uždelsimas (100); // palaukti 1 milisekundė lcd.clrScr (); // išvalyti ekraną lcd.setFont (SmallFont); // nustatyti šriftą lcd.print ("GAME OVER", CENTRAS, 20); // spausdinti lcd.update (); // atnaujinti ekraną}}
void setup () {pinMode (BL, OUTPUT); // nustatyti atgalinį šviesą Išvestis lcd. InitLCD (); // inicijuoti LCD ekraną lcd.setContrast (55); // nustatyti kontrastą (nuo 0 iki 127) Serial.begin (9600); // pradėti serijinį bendravimą}
void loop () {
analogWrite (BL, 200);
// nustatyti žaidimo ekraną lcd.drawRect (0, 0, 47, 47); // brėžiame stačiakampį lcd.setFont (SmallFont); // nustatyti šriftą lcd.print ("skor", 53, 0); // printf rezultatas lcd.setFont (MediumNumbers); // nustatyti šriftą lcd.printNumI (skor, 59, 7); // gauti rezultatą lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // spausdinimo greitis lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // gauti greitį lcd.update (); // atnaujinti
// nustatyti džiaugsmo lazdelės vietą 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 ir valdymas yra tikras pozisyon ++; // padidinti vietą tai reiškia perkelti figūrą į dešinę kontrol = false; } else if (x> 300 && x <600) {kontrol = true; } Serial.println (x); // mokantis x būsenos // nustatykite mūsų formos vietą lcd.clrScr (); // išvalyti ekraną, jei (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // nupieškite mūsų laivą, jei (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
jei (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
if (dusmanOldu) {// jei priešo forma negyva, patikrinkite, ar jie negyvi
dusmanKonumu1 = pozisyon; // piešti pirmąją priešo formą dusmanKonumu2 = atsitiktinis (0, 4); // kur nors nupiešti kitą priešo figūrą dusmaninYdeKonumu = 0; // atnešti priešą iš viršaus dusmanOldu = false;} // priešas atkurtas, kad jie nebūtų mirę dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // nupieškite pirmąją priešo figūrą ir gaukite ją iš viršaus į apačią dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // nupieškite antrąją priešo formą ir gaukite ją iš viršaus į apačią, jei (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon)))) {// jei mūsų forma liečia priešo formas oyunBitti ();} // žaidimas baigtas, jei (dusmaninYdeKonumu> 40) {// jei mūsų figūra bėga nuo priešų dusmanOldu = tiesa; // nužudyti priešo formas skor ++;} // padidinti rezultatą po vieną // padidinti greitį pagal rezultatą, jei (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; vėlavimas (40); }}
4 žingsnis: KODUOKITE BITMAP
Be to, turite įtraukti formų bitų žemėlapių grafiką. Tai turi būti.c failas ir tas pats pavadinimas su kodo pavadinimu. Be to, jis turi būti tame pačiame faile.
// ------------------------------------------------ ------------------------------ // LCD asistento sukurtas failas // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // include, skirtas progmem funkcijai
const unsigned char arac PROGMEM = {// mūsų formos bitkartė
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// priešo laivo bitmap
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
5 žingsnis: AČIŪ už peržiūrą
Prieš pradėdama dalintis savo projektais, aš kodavau turkiškais žodžiais, todėl negalėjau atsitiktinai ištarti kiekvieno žodžio į anglų kalbą. Čia yra žodžių vertimas, kuriuo naudoju šį projektą, Oyun = Žaidimas
Arac = Forma
Dusmanas = priešas
kontrol = kontrolė
Konum, Yer = Vieta
Oyun Bitti = Žaidimas baigtas
Skor = balas
Hiz = greitis
Rekomenduojamas:
Žaidimo sukūrimas: 6 žingsniai
Sukurti įbrėžimo žaidimą: Šioje pamokoje mes sukursime žaidimą nuo nulio, kur žaidėjas šokinėja, vengdamas raudonos spalvos, ir bando patekti į pabaigą, jei turite problemų, komentuokite ir balsuokite už mane
„Autodesk Tinkercad“„Arduino UNO Ping Pong“žaidimo modeliavimas V2.0 :: 5 žingsniai
„Arduino UNO Ping Pong“žaidimo V2.0 „Autodesk Tinkercad“modeliavimas :: Sveiki vaikinai, šioje instrukcijoje jūs išmoksite imituoti stalo tenisą „Autodesk Tikercad“svetainėje naudodami „Arduino UNO“kūrimo lentą. Norėdami peržiūrėti modeliavimo vaizdo įrašą, spustelėkite šią „YouTube“nuorodą
„Arduino Flappy Bird“- „Arduino“2,4 colio TFT jutiklinio ekrano SPFD5408 paukščių žaidimo projektas: 3 žingsniai
„Arduino Flappy Bird“| „Arduino“2,4 colio jutiklinio ekrano SPFD5408 paukščių žaidimo projektas: „Flappy Bird“per kelerius metus buvo per daug populiarus žaidimas, ir daugelis žmonių jį sukūrė savaip, taip ir aš, aš sukūriau savo versiją „Flappy bird“su „Arduino“ir pigų 2,4 colio TFT. Jutiklinis ekranas SPFD5408, Taigi pradėkime
Sunkiausio pasaulio žaidimo atkūrimas „Arduino“: 7 žingsniai
Sunkiausio pasaulio žaidimo atkūrimas „Arduino“: Šis projektas pagrįstas kompiuteriniu žaidimu, kurį galite rasti internete. Jo pavadinimas yra „Sunkiausias pasaulio žaidimas“. Man pavyko jį iš naujo sukurti „Arduino“naudojant keturių modulių LED matricą. Šioje pamokoje aš jus mokysiu, kaip ją sukurti
„Space Race“žaidimo versija 2: 5 žingsniai
Kosmoso lenktynių žaidimo 2 versija: Sveiki visi. Prieš šią žaidimo versiją paskelbiau pirmąją žaidimo versiją. Šiandien aš jums parodysiu „Space Race Game“2 versiją. Pažvelkime į žingsnius