Obsah:
![Arduino Space Race Verzia hry _1: 5 krokov Arduino Space Race Verzia hry _1: 5 krokov](https://i.howwhatproduce.com/images/001/image-518-27-j.webp)
Video: Arduino Space Race Verzia hry _1: 5 krokov
![Video: Arduino Space Race Verzia hry _1: 5 krokov Video: Arduino Space Race Verzia hry _1: 5 krokov](https://i.ytimg.com/vi/LMgl4coHpR0/hqdefault.jpg)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
![Image Image](https://i.howwhatproduce.com/images/001/image-518-29-j.webp)
![](https://i.ytimg.com/vi/j_GawZqO4So/hqdefault.jpg)
Čaute priatelia. Dnes vám ukážem, ako sa dá vytvoriť vesmírna závodná hra s obrazovkou LCD5110 a radosťou. Pozrime sa na kroky…
Krok 1: POTREBUJE
![SCHÉMA SCHÉMA](https://i.howwhatproduce.com/images/001/image-518-30-j.webp)
Tu je zoznam dielov, ktoré som použil na výrobu tohto projektu:
- Arduino UNO
- Modul joysticku
- Prepojovacie vodiče (muž - muž a muž - žena)
- Breadboard
Krok 2: SCHÉMA
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 alebo CS -> Arduino pin 12
RST (RESET) -> Arduino pin 11
Krok 3: KÓD
![KÓD KÓD](https://i.howwhatproduce.com/images/001/image-518-31-j.webp)
Kód obsahuje vysvetlenia funkcií kódu. Ľahko to pochopíte. Ak máte problém, môžete ma kontaktovať.
#zahrnúť
LCD5110 lcd (8, 9, 10, 11, 12); // (clk, din, dc, rst, ce)
int BL = 3;
extern uint8_t SmallFont ; // opis fontov extern uint8_t MediumNumbers ; extern uint8_t arac ; // opíš náš tvar extern uint8_t dusman_araci ; // popísať tvar nepriateľa const int xpin = A0; // joystick x pin char pozisyon = 2; // popíšte polohu, naše tvarové začiatočné umiestnenie 2 boolean kontrol = true; boolean dusmanOldu = pravda; int skor = 0; int hiz = 0; int dusmanKonumu1; // popis nepriatela1 x poloha int dusmanKonumu2; // popis nepriatela2 x poloha int dusmaninYdeKonumu; // popíšte nepriateľov y umiestnenie
void dusmanAraci (int yer, int asama) {// nastavenie miest pre nepriateľské tvary
if (yer == 1) {// if location = 1; lcd.drawBitmap (2, asama, dusman_araci, 12, 8); // nakreslite tvar nepriateľa} if (yer == 2) {lcd.drawBitmap (18, asama, dusman_araci, 12, 8); } if (yer == 3) {lcd.drawBitmap (34, asama, dusman_araci, 12, 8); }}
void oyunBitti () {// ak zlyháme, hra sa skončí
while (1) {delay (100); // počkajte 1 milisekundu lcd.clrScr (); // vymazanie obrazovky lcd.setFont (SmallFont); // set font lcd.print ("GAME OVER", CENTER, 20); // print lcd.update (); // aktualizácia obrazovky}}
void setup () {pinMode (BL, OUTPUT); // nastavenie podsvietenia Výstup lcd. InitLCD (); // inicializácia obrazovky LCD lcd.setContrast (55); // nastavenie kontrastu (približne 0 až 127) Serial.begin (9600); // spustenie sériovej komunikácie}
prázdna slučka () {
analogWrite (BL, 200);
// nastavenie obrazovky hry lcd.drawRect (0, 0, 47, 47); // nakreslíme obdĺžnik lcd.setFont (SmallFont); // set font lcd.print ("skor", 53, 0); // skóre printf lcd.setFont (MediumNumbers); // set font lcd.printNumI (skor, 59, 7); // získať skóre lcd.setFont (SmallFont); lcd.print ("hiz", 56, 25); // rýchlosť tlače lcd.setFont (MediumNumbers); lcd.printNumI (hiz, 59, 32); // získajte rýchlosť lcd.update (); // aktualizácia
// nastavenie umiestnenia 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ádanie je pravda pozisyon ++; // zväčšenie polohy, to znamená posunutie tvaru doprava kontrol = false; } else if (x> 300 && x <600) {kontrol = true; } Serial.println (x); // na učenie stavu x // nastavte umiestnenie nášho tvaru lcd.clrScr (); // vymazanie obrazovky if (pozisyon == 1) {// if location = 1; lcd.drawBitmap (2, 37, arac, 12, 8);} // nakreslite našu loď, ak (pozisyon == 2) {lcd.drawBitmap (18, 37, arac, 12, 8);}
ak (pozisyon == 3) {
lcd.drawBitmap (34, 37, arac, 12, 8);}
if (dusmanOldu) {// ak je tvar nepriatela mrtvy, skontroluj ci su mrtvy
dusmanKonumu1 = pozisyon; // nakresli tvar prveho nepriatela dusmanKonumu2 = random (0, 4); // nakreslite niekde iný tvar nepriateľa dusmaninYdeKonumu = 0; // priveďte nepriateľa zhora dusmanOldu = false;} // nepriateľ sa znova vytvorí, aby neboli mŕtvi dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // nakreslite prvý tvar nepriateľa a získajte ho zhora nadol dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu ++; // nakreslite druhý tvar nepriateľa a získajte ho zhora nadol, ak (dusmaninYdeKonumu> 22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon))) {// ak sa náš tvar dotýka nepriateľských tvarov oyunBitti ();} // hra sa skončí, ak (dusmaninYdeKonumu> 40) {// ak náš tvar unikne pred nepriateľmi dusmanOldu = true; // zabíjajte tvary nepriateľa skor ++;} // zvyšujte skóre jeden po druhom // zvyšujte rýchlosť podľa skóre, ak (skor> = 0 && skor10 && skor20 && skor30 && skor <= 40) {hiz = 3; oneskorenie (40); }}
Krok 4: KÓD BITMAPY
Ďalej musíte pre tvary zahrnúť bitmapovú grafiku. Musí to byť súbor.c a rovnaké meno s kódovým názvom. Tiež musí byť v tom istom súbore.
// ------------------------------------------------ ------------------------------ // Súbor vygenerovaný programom LCD Assistant // https://en.radzio.dxp.pl /bitmap_converter/// --------------------------------------------- --------------------------------- #include // include pre funkciu progmem
const unsigned char arac PROGMEM = {// naša bitmapa tvaru
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
const unsigned char dusman_araci PROGMEM = {// bitmapa nepriateľskej lode
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,};
Krok 5: VĎAKA ZA ZOBRAZENIE
![ĎAKUJEM ZA ZOBRAZENIE ĎAKUJEM ZA ZOBRAZENIE](https://i.howwhatproduce.com/images/001/image-518-32-j.webp)
Predtým, ako som začal zdieľať svoje projekty, kódoval som turecké slová, takže som nemohol náhodne preložiť každé slovo do angličtiny. Tu je preklad slov, ktoré tento projekt používam, Oyun = hra
Arac = Tvar
Dusman = Nepriateľ
kontrolér = kontrola
Konum, Yer = Poloha
Oyun Bitti = Koniec hry
Skor = Skóre
Hiz = rýchlosť
Odporúča:
ARDUINO SOLAR CHARGE CONTROLLER (Verzia 2.0): 26 krokov (s obrázkami)
![ARDUINO SOLAR CHARGE CONTROLLER (Verzia 2.0): 26 krokov (s obrázkami) ARDUINO SOLAR CHARGE CONTROLLER (Verzia 2.0): 26 krokov (s obrázkami)](https://i.howwhatproduce.com/images/003/image-8393-j.webp)
ARDUINO SOLAR CHARGE CONTROLLER (Verzia 2.0): [Play Video] Pred rokom som začal s budovaním vlastnej slnečnej sústavy, ktorá by dodávala energiu pre môj dedinský dom. Pôvodne som vyrobil regulátor nabíjania na báze LM317 a merač energie na monitorovanie systému. Nakoniec som vyrobil regulátor nabíjania PWM. V Apri
Google AIY VoiceHAT pre súpravu Raspberry Pi (verzia MagPi 57, verzia 2017): 6 krokov (s obrázkami)
![Google AIY VoiceHAT pre súpravu Raspberry Pi (verzia MagPi 57, verzia 2017): 6 krokov (s obrázkami) Google AIY VoiceHAT pre súpravu Raspberry Pi (verzia MagPi 57, verzia 2017): 6 krokov (s obrázkami)](https://i.howwhatproduce.com/images/006/image-16966-6-j.webp)
Google AIY VoiceHAT pre Raspberry Pi Kit (verzia MagPi 57, verzia 2017): Tipy na zostavenie hlasovej sady MagPi sa nenašli v návodoch
ARDUINO SOLAR CHARGE CONTROLLER (Verzia-1): 11 krokov (s obrázkami)
![ARDUINO SOLAR CHARGE CONTROLLER (Verzia-1): 11 krokov (s obrázkami) ARDUINO SOLAR CHARGE CONTROLLER (Verzia-1): 11 krokov (s obrázkami)](https://i.howwhatproduce.com/images/003/image-6659-26-j.webp)
ARDUINO SOLAR CHARGE CONTROLLER (Verzia-1): [Play Video] V mojich predchádzajúcich pokynoch som popísal podrobnosti o monitorovaní energie slnečnej sústavy mimo siete. Na to som tiež vyhral súťaž v obvodoch 123D. Môžete vidieť tento ARDUINO ENERGY METER . Nakoniec zverejňujem svoju novú platbu za verziu 3
Robot Arduino, ktorý sa vyhýba prekážkam (aktualizovaná verzia): 7 krokov (s obrázkami)
![Robot Arduino, ktorý sa vyhýba prekážkam (aktualizovaná verzia): 7 krokov (s obrázkami) Robot Arduino, ktorý sa vyhýba prekážkam (aktualizovaná verzia): 7 krokov (s obrázkami)](https://i.howwhatproduce.com/images/003/image-7788-46-j.webp)
Arduino Prekážka vyhýbajúca sa robotu (aktualizovaná verzia): Tento príspevok je prvýkrát uverejnený na tomto webe https://truescience22.blogspot.com/2018/01/arduino-obstacle-avoiding-robotupgrade.html Dobrý deň, priatelia, dnes som urobil aktualizovanú verziu Arduina Robot vyhýbajúci sa prekážkam. Je to jednoduché, ale niektoré funkcie
The Word Clock - Arduino verzia: 11 krokov (s obrázkami)
![The Word Clock - Arduino verzia: 11 krokov (s obrázkami) The Word Clock - Arduino verzia: 11 krokov (s obrázkami)](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11125666-the-word-clock-arduino-version-11-steps-with-pictures-j.webp)
The Word Clock - Arduino Version: ********************************************** ******************************************************************** /www.instructables.com/id/The-Wordclock-Grew-Up/ *************************