
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05


Č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

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 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

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): [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 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): [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)

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 Version: ********************************************** ******************************************************************** /www.instructables.com/id/The-Wordclock-Grew-Up/ *************************