Daftar Isi:

Game Balap Luar Angkasa Arduino Versi _1: 5 Langkah
Game Balap Luar Angkasa Arduino Versi _1: 5 Langkah

Video: Game Balap Luar Angkasa Arduino Versi _1: 5 Langkah

Video: Game Balap Luar Angkasa Arduino Versi _1: 5 Langkah
Video: KECEPATAN KERETA HYPERSONIC || Omjeys ID #shorts #shorts #viral #trandingshorts 2024, Juli
Anonim
Image
Image

Hai teman-teman. Hari ini saya akan menunjukkan kepada Anda bagaimana Anda bisa membuat Game Space Race dengan layar LCD5110 dan joystic. Mari kita lihat langkah-langkahnya…

Langkah 1: KEBUTUHAN

SKEMA
SKEMA

Berikut adalah daftar bagian yang saya gunakan untuk membuat proyek ini:

  • Arduino UNO
  • Modul Joystick
  • Kabel Jumper (jantan ke jantan dan jantan ke betina)
  • Papan tempat memotong roti

Langkah 2: SKEMA

VCC -> Arduino 5V

BL -> Pin Arduino 3

GND -> Arduino GND

CLK (SCLK) -> Arduino pin 8

DIN (MOSI) -> Arduino pin 9

DC -> Pin Arduino 10

CE atau CS -> Arduino pin 12

RST (RESET) -> Arduino pin 11

Langkah 3: KODE

KODE
KODE

Kode memiliki penjelasan fungsi kode. Anda akan dengan mudah memahaminya. Jika Anda memiliki masalah, Anda dapat menghubungi saya.

#termasuk

LCD5110 lcd (8, 9, 10, 11, 12); //(clk, din, dc, pertama, ce)

int BL=3;

extern uint8_t SmallFont; //deskripsikan font extern uint8_t MediumNumbers; extern uint8_t arac; //deskripsikan bentuk kita extern uint8_t dusman_araci; //desribe bentuk musuh const int xpin=A0; //joystick x pin char pozisyon=2; //deskripsikan lokasi, bentuk kita mulai lokasi 2 boolean kontrol = true; boolean dusmanOldu = benar; int skor=0; int hiz=0; int dusmanKonumu1; //deskripsikan lokasi musuh1 x int dusmanKonumu2; //deskripsikan lokasi musuh2 x int dusmaninYdeKonumu; //jelaskan musuh y lokasi

void dusmanAraci(int yer, int asama){ //set lokasi untuk bentuk musuh

if (yer==1){ //jika lokasi=1; lcd.drawBitmap(2, asama, dusman_araci, 12, 8); //gambar bentuk musuh } if (yer==2){ lcd.drawBitmap(18, asama, dusman_araci, 12, 8); } if (yer==3){ lcd.drawBitmap(34, asama, dusman_araci, 12, 8); }}

void oyunBitti() { //jika kita gagal, game over

while(1) { penundaan(100); //tunggu 1 milidetik lcd.clrScr(); //mengosongkan layar lcd.setFont(SmallFont); //set font lcd.print("GAME OVER", CENTER, 20); //cetak lcd.update(); //perbarui layar }}

void setup() { pinMode(BL, OUTPUT); //mengatur kembali lampu Output lcd. InitLCD(); //inisialisasi layar lcd lcd.setContrast(55); //set kontras(sekitar 0 sampai 127) Serial.begin(9600); //mulai komunikasi serial }

lingkaran kosong() {

analogWrite(BL, 200);

//set layar permainan lcd.drawRect(0, 0, 47, 47); //kita menggambar persegi panjang lcd.setFont(SmallFont); //set font lcd.print("skor", 53, 0); //printf skor lcd.setFont(Angka Sedang); //set font lcd.printNumI(skor, 59, 7); //mendapatkan skor lcd.setFont(SmallFont); lcd.print("hiz", 56, 25); //kecepatan cetak lcd.setFont(Angka Sedang); lcd.printNumI(hiz, 59, 32); //mendapatkan kecepatan lcd.update(); //memperbarui

//set lokasi joyistick 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 dan kontrol benar pozisyon++; //menambah lokasi artinya pindah bentuk ke kanan kontrol=false; } else if(x>300 && x<600){ kontrol=true; } Serial.println(x); //untuk mempelajari status x //mengatur lokasi bentuk kita lcd.clrScr(); //hapus layar if (pozisyon==1){ //if location=1; lcd.drawBitmap(2, 37, arac, 12, 8);} //gambar kapal kita jika (pozisyon==2){ lcd.drawBitmap(18, 37, arac, 12, 8);}

jika (pozisyon==3){

lcd.drawBitmap(34, 37, arac, 12, 8);}

if (dusmanOldu){ //jika bentuk musuh sudah mati, periksa apakah mereka mati

dusmanKonumu1 = pozisyon; //gambar bentuk musuh pertama dusmanKonumu2 = random(0, 4); //gambar bentuk musuh lain di suatu tempat dusmaninYdeKonumu = 0; //bawa musuh dari atas dusmanOldu = false;} //musuh dibuat ulang agar tidak mati dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu++; //gambar bentuk musuh pertama dan ambil dari atas ke bawah dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu++; //gambar bentuk musuh kedua dan ambil dari atas ke bawah if (dusmaninYdeKonumu>22 && ((dusmanKonumu1 == pozisyon) || (dusmanKonumu2 == pozisyon))){ //jika bentuk kita menyentuh bentuk musuh oyunBitti();} //permainan selesai if (dusmaninYdeKonumu>40){ //jika bentuk kita lolos dari musuh dusmanOldu = true; //membunuh musuh membentuk skor++;} //menambah skor satu per satu //menambah kecepatan sesuai skor jika (skor>=0 && skor10 && skor20 && skor30 && skor<=40){ hiz = 3; penundaan (40); } }

Langkah 4: KODE BITMAP

Selanjutnya, Anda harus menyertakan grafik bitmap untuk bentuk. Ini harus berupa file.c dan nama yang sama dengan nama kode. Juga, harus dalam file yang sama.

//------------------------------------------------ ------------------------------// File dihasilkan oleh Asisten LCD // https://en.radzio.dxp.pl /bitmap_converter/ //----------------------------------------------------------- --------------------------------- #include //include untuk fungsi progmem

const unsigned char arac PROGMEM = { //bitmap bentuk kita

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };

const unsigned char dusman_araci PROGMEM = { //bitmap kapal musuh

0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };

Langkah 5: TERIMA KASIH TELAH MELIHAT

TERIMA KASIH SUDAH MELIHAT
TERIMA KASIH SUDAH MELIHAT

Sebelum mulai membagikan proyek saya, dikodekan dalam kata-kata Turki sehingga saya tidak dapat mengubah setiap kata menjadi bahasa Inggris. Berikut terjemahan kata-kata yang gunakan proyek ini, Oyun = Permainan

Ara = Bentuk

Dusman = Musuh

kontrol = kendali

Konum, Yer = Lokasi

Oyun Bitti = Permainan Berakhir

Skor = Skor

Hiz = Kecepatan

Direkomendasikan: