Kazalo:
Video: Različica igre Arduino Space Race _1: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
Hej prijatelji. Danes vam bom pokazal, kako lahko naredite Space Race Game z zaslonom LCD5110 in veseljem. Poglejmo korake…
1. korak: POTREBE
Tu je seznam delov, ki sem jih uporabil za izdelavo tega projekta:
- Arduino UNO
- Modul igralne palice
- Mostične žice (moški do moški in moški do ženske)
- Ogledna plošča
2. korak: SEMA
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 ali CS -> Arduino pin 12
RST (RESET) -> Arduino pin 11
3. korak: KODIRANJE
Koda ima razlage kodnih funkcij. To boste zlahka razumeli. Če imate težave, me lahko kontaktirate.
#vključi
LCD5110 LCD (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
extern uint8_t SmallFont ; // opišemo pisave extern uint8_t MediumNumbers ; zunanji uint8_t arac ; // opišemo našo obliko extern uint8_t dusman_araci ; // opisati obliko sovražnika const int xpin = A0; // krmilna palica x pin char pozisyon = 2; // opišemo lokacijo, našo obliko začetne lokacije 2 boolean kontrol = true; logični dusmanOldu = res; int skor = 0; int hiz = 0; int dusmanKonumu1; // opiši sovražnika1 x lokacijo int dusmanKonumu2; // opiši sovražnika2 x lokacijo int dusmaninYdeKonumu; // opišite sovražnike in lokacijo
void dusmanAraci (int yer, int asama) {// nastavite lokacije za oblike sovražnika
if (yer == 1) {// if location = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // nariši sovražnikovo obliko} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } if (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti () {// če nam ne uspe, je igre konec
medtem ko (1) {zamuda (100); // počakajte 1 milisekundo lcd.clrScr (); // počistite zaslon lcd.setFont (SmallFont); // nastavi pisavo lcd.print ("GAME OVER", CENTER, 20); // natisni lcd.update (); // posodobi zaslon}}
void setup () {pinMode (BL, OUTPUT); // nastavitev osvetlitve ozadja Izhod lcd. InitLCD (); // inicializira lcd zaslon lcd.setContrast (55); // nastavimo kontrast (od 0 do 127) Serial.begin (9600); // zaženi serijsko komunikacijo}
void loop () {
analogWrite (BL, 200);
// nastavite zaslon igre lcd.drawRect (0, 0, 47, 47); // narišemo pravokotnik lcd.setFont (SmallFont); // nastavi pisavo lcd.print ("skor", 53, 0); // printf score lcd.setFont (MediumNumbers); // nastavi pisavo lcd.printNumI (skor, 59, 7); // dobimo rezultat lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // hitrost tiskanja lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // dobimo hitrost lcd.update (); //nadgradnja
// nastavimo lokacijo krmilne palice int x = analogRead (xpin); if (x <300 && pozisyon! = 1 && kontrol == true) {// če je lokacija! = 1, x stanje600 && pozisyon! = 3 && kontrol == true) {// če je lokacija! = 3, x stanje> 600 in nadzor je pravi pozisyon ++; // povečanje lokacije pomeni premikanje oblike v desno kontrol = false; } else if (x> 300 && x <600) {kontrol = true; } Serial.println (x); // za učenje x stanje // nastavimo lokacijo naše oblike lcd.clrScr (); // počisti zaslon if (pozisyon == 1) {// če je lokacija = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // narišimo našo ladjo, če (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
if (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
if (dusmanOldu) {// če je oblika sovražnika mrtva, preverite, ali so mrtvi
dusmanKonumu1 = pozisyon; // narišemo prvo obliko sovražnika dusmanKonumu2 = naključno (0, 4); // nekje narišemo drugo obliko sovražnika dusmaninYdeKonumu = 0; // pripeljemo sovražnika z vrha dusmanOldu = false;} // sovražnik se ustvari tako, da ni mrtev dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // narišemo prvo sovražnikovo obliko in jo dobimo od zgoraj navzdol dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // narišemo drugo obliko sovražnika in jo dobimo od zgoraj navzdol if (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon)))) {// če se naša oblika dotakne sovražnikovih oblik oyunBitti ();} // igra je končana if (dusmaninYdeKonumu> 40) {// če naša oblika pobegne pred sovražniki dusmanOldu = true; // ubijanje sovražnikovih oblik skor ++;} // zvišanje rezultata enega za drugim // povečanje hitrosti glede na rezultat if (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; zamuda (40); }}
4. korak: KODA BITMAP
Za oblike morate vključiti tudi slikovno sliko. To mora biti datoteka.c in isto ime s kodnim imenom. Prav tako mora biti v isti datoteki.
// ------------------------------------------------ ------------------------------ // Datoteka, ki jo ustvari LCD Assistant // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // include za funkcijo progmem
const unsigned char arac PROGMEM = {// naša bitna slika oblike
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// bitna slika sovražnikove ladje
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
5. korak: HVALA ZA OGLED
Preden sem začel deliti svoje projekte, sem jih kodiral v turških besedah, tako da nisem mogel vsako besedo dati v angleščino. Tukaj so besede, ki uporabljajo ta projekt, Oyun = Igra
Arac = Oblika
Dusman = sovražnik
kontrol = nadzor
Konum, Yer = Lokacija
Oyun Bitti = Igra je končana
Skor = rezultat
Hiz = hitrost
Priporočena:
E-dohicky Elektronska različica Russovega laserskega merilnika moči Dohicky: 28 korakov (s slikami)
E-dohicky Elektronska različica Russovega laserskega merilnika moči Dohicky: Lasersko električno orodje.e-dohicky je elektronska različica dohickyja podjetja Russ SADLER. Russ animira zelo dober youtube kanal SarbarMultimedia https://www.youtube.com/watch?v=A-3HdVLc7nI&t=281sRuss SADLER predstavlja enostaven in poceni dodatek
ARDUINO SOLARNI KONTROLER POLNJENJA (različica 2.0): 26 korakov (s slikami)
ARDUINO SOLARNI NADZORNIK (Različica 2.0): [Predvajaj video] Pred enim letom sem začel graditi svoj sončni sistem za oskrbo svoje vaške hiše. Sprva sem izdelal krmilnik polnjenja na osnovi LM317 in merilnik energije za spremljanje sistema. Končno sem naredil krmilnik polnjenja PWM. V Apriju
Igra Space Race različica 2: 5 korakov
Igra Space Race različica 2: Pozdravljeni vsi. Pred to različico igre sem objavil prvo različico igre. Danes vam bom pokazal različico igre Space Race Game 2. Poglejmo korake
ARDUINO SOLARNI KONTROLER POLNJENJA (različica-1): 11 korakov (s slikami)
ARDUINO SOLARNI KONTROLER POLNJENJA (Različica-1): [Predvajaj videoposnetek] V svojih prejšnjih navodilih sem opisal podrobnosti spremljanja energije zunanjega solarnega sistema. Za to sem zmagal tudi na tekmovanju 123D vezja. .Končno objavljam svojo novo različico-3 zaračunavanje
Besedna ura - Arduino različica: 11 korakov (s slikami)
Besedna ura - Arduino različica: ***************************************** ******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** /www.instructables.com/id/The-Wordclock-Grew-Up/ ******************************