Obsah:
Video: Arduino Space Race Verze hry _1: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Čau přátelé. Dnes vám ukážu, jak lze vytvořit vesmírnou závodní hru pomocí obrazovky LCD5110 a radosti. Podívejme se na kroky…
Krok 1: POTŘEBY
Zde je seznam dílů, které jsem použil k vytvoření tohoto projektu:
- Arduino UNO
- Modul joysticku
- Propojovací dráty (muž k muži a muž k ženě)
- Prkénko
Krok 2: SCHÉMA
VCC -> Arduino 5V
BL -> Pin Arduino 3
GND -> Arduino GND
CLK (SCLK) -> Arduino pin 8
DIN (MOSI) -> Arduino pin 9
DC -> Arduino pin 10
CE nebo CS -> Arduino pin 12
RST (RESET) -> Arduino pin 11
Krok 3: KÓD
Kód obsahuje vysvětlení funkcí kódu. Snadno to pochopíte. Pokud máte problém, můžete mě kontaktovat.
#zahrnout
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
extern uint8_t SmallFont ; // popište písma extern uint8_t MediumNumbers ; extern uint8_t arac ; // popiš náš tvar extern uint8_t dusman_araci ; // popsat tvar nepřítele const int xpin = A0; // joystick x pin char pozisyon = 2; // popište polohu, naše počáteční umístění tvaru 2 boolean kontrol = true; boolean dusmanOldu = true; int skor = 0; int hiz = 0; int dusmanKonumu1; // popiš nepřátel1 x umístění int dusmanKonumu2; // popište nepřátelské2 x umístění int dusmaninYdeKonumu; // popište nepřátele y umístění
void dusmanAraci (int yer, int asama) {// nastavení umístění nepřátelských tvarů
if (yer == 1) {// if location = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // nakreslete tvar nepřítele} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } if (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti () {// pokud selžeme, hra skončí
while (1) {delay (100); // počkejte 1 milisekundu lcd.clrScr (); // vymazání obrazovky lcd.setFont (SmallFont); // set font lcd.print ("GAME OVER", CENTER, 20); // tisk lcd.update (); // aktualizovat obrazovku}}
neplatné nastavení () {pinMode (BL, VÝSTUP); // nastavení protisvětla Výstup lcd. InitLCD (); // inicializace obrazovky LCD lcd.setContrast (55); // nastavení kontrastu (kolem 0 až 127) Serial.begin (9600); // zahájení sériové komunikace}
prázdná smyčka () {
analogWrite (BL, 200);
// nastavení obrazovky hry lcd.drawRect (0, 0, 47, 47); // nakreslíme obdélník lcd.setFont (SmallFont); // set font lcd.print ("skor", 53, 0); // skóre printf lcd.setFont (MediumNumbers); // sada písem lcd.printNumI (skor, 59, 7); // získat skóre lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // rychlost tisku lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // získejte rychlost lcd.update (); //Aktualizace
// nastavení umístění joysticku 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 a ovládání je pravda pozisyon ++; // zvětšení umístění to znamená přesunout tvar doprava kontrol = false; } else if (x> 300 && x <600) {kontrol = true; } Serial.println (x); // pro učení stavu x // nastavte umístění našeho tvaru lcd.clrScr (); // vymazání obrazovky if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // nakreslete naši loď if (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
if (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
if (dusmanOldu) {// pokud je tvar nepřítele mrtvý, zkontrolujte, zda je mrtvý
dusmanKonumu1 = pozisyon; // nakreslete první tvar nepřítele dusmanKonumu2 = random (0, 4); // nakreslete někam další tvar nepřítele dusmaninYdeKonumu = 0; // přivést nepřítele shora dusmanOldu = false;} // nepřítel se znovu vytvoří, aby nebyli mrtví dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // nakreslete první tvar nepřítele a získejte jej odshora dolů dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // nakreslete druhý tvar nepřítele a získejte ho odshora dolů, pokud (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon))) {// pokud se náš tvar dotkne nepřátelských tvarů oyunBitti ();} // hra končí, pokud (dusmaninYdeKonumu> 40) {// pokud náš tvar unikne před nepřáteli dusmanOldu = true; // zabíjení nepřátelských tvarů skor ++;} // zvyšování skóre jeden po druhém // zvyšování rychlosti podle skóre if (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; zpoždění (40); }}
Krok 4: KÓD BITMAPY
Kromě toho musíte pro tvary zahrnout bitmapovou grafiku. Musí to být soubor.c a stejný název s kódovým názvem. Také musí být ve stejném souboru.
// ------------------------------------------------ ------------------------------ // Soubor generovaný pomocníkem LCD // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // include pro funkci progmem
const unsigned char arac PROGMEM = {// naše bitmapa tvaru
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// bitmapa nepřátelské lodi
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Krok 5: DÍKY ZA ZOBRAZENÍ
Než jsem začal sdílet své projekty, zakódoval jsem turecká slova, takže jsem nemohl šanci každé slovo anglicky. Zde je překlad slov, která tento projekt používám, Oyun = Hra
Arac = Tvar
Dusman = Nepřítel
kontroler = kontrola
Konum, Yer = Poloha
Oyun Bitti = Konec hry
Skor = skóre
Hiz = rychlost
Doporučuje:
ARDUINO SOLAR CHARGE CONTROLLER (Verze 2.0): 26 kroků (s obrázky)
ARDUINO SOLAR CHARGE CONTROLLER (Verze 2.0): [Přehrát video] Před rokem jsem začal stavět vlastní sluneční soustavu, která bude zajišťovat napájení mého vesnického domu. Zpočátku jsem vyrobil regulátor nabíjení založený na LM317 a měřič energie pro monitorování systému. Nakonec jsem vyrobil regulátor nabíjení PWM. V Apri
Google AIY VoiceHAT pro Raspberry Pi Kit (verze MagPi 57 verze 2017): 6 kroků (s obrázky)
Google AIY VoiceHAT pro Raspberry Pi Kit (verze MagPi 57 verze 2017): Tipy k sestavení hlasové sady MagPi nebyly v tutoriálech nalezeny
Hidden Space - ovladač zvukové hry: 5 kroků (s obrázky)
Hidden Space - ovladač zvukové hry: V tomto tutoriálu vytvoříme herní ovladač pro zvukovou hru. Hra je vyvinuta pomocí Unity. Snaží se vytvořit herní rozhraní mimo obrazovku s omezenými vizuálními a většinou zvukovými informacemi. Hráč bude mít na sobě
ARDUINO SOLAR CHARGE CONTROLLER (Verze-1): 11 kroků (s obrázky)
ARDUINO SOLAR CHARGE CONTROLLER (Verze-1): [Play Video] Ve svých předchozích instruktážích jsem popsal detaily monitorování energie solárního systému mimo síť. Za to jsem také vyhrál soutěž obvodů 123D. Můžete vidět tento ARDUINO ENERGY METER .Nakonec zveřejním svůj nový poplatek za verzi 3
Robot vyhýbající se překážkám Arduino (verze pro upgrade): 7 kroků (s obrázky)
Arduino Překážka vyhýbající se robotu (verze pro upgrade): Tento příspěvek je poprvé publikován na tomto webu https://truescience22.blogspot.com/2018/01/arduino-obstacle-avoiding-robotupgrade.html Ahoj přátelé, dnes jsem vytvořil aktualizovanou verzi Arduina Robot vyhýbající se překážkám. Je to jednoduché, ale některé funkce a