Daftar Isi:
- Langkah 1: KEBUTUHAN
- Langkah 2: SKEMA
- Langkah 3: KODE
- Langkah 4: KODE BITMAP
- Langkah 5: TERIMA KASIH TELAH MELIHAT
Video: Game Balap Luar Angkasa Arduino Versi _1: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
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
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 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
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:
Antarmuka Pesawat Luar Angkasa Arduino: 3 Langkah
Antarmuka Pesawat Luar Angkasa Arduino: Hai komunitas yang dapat diinstruksikan, Kali ini saya telah membuat salah satu proyek paling sederhana untuk diselesaikan dengan Arduino Uno: sirkuit pesawat ruang angkasa. Disebut demikian karena ini adalah jenis program dan sirkuit yang akan digunakan dalam acara TV dan film sci-fi awal
Panel Kontrol Pesawat Luar Angkasa - Mainan Arduino Potong Laser: 11 Langkah (dengan Gambar)
Panel Kontrol Pesawat Luar Angkasa - Mainan Arduino Potong Laser: Beberapa bulan yang lalu saya memutuskan untuk menjadi anggota pembuat ruang lokal, karena saya sudah lama ingin mempelajari alat perdagangan pembuat. Saya memiliki sedikit pengalaman Arduino dan telah mengambil kursus Fusion di sini di Instructables. Namun saya h
Permainan Batu Luar Angkasa Arduino: 3 Langkah
Arduino Space Rocks Game: Baik dimainkan di komputer, di ponsel, di konsol game, atau di kotak yang berdiri sendiri, banyak video game menyertakan elemen penghindaran rintangan. Tentu, mungkin ada poin yang diberikan untuk mengumpulkan token atau menemukan jalan Anda melalui labirin
Tingkatkan Peluncuran Luar Angkasa Anda Dengan Tombol Pementasan Fisik untuk Program Luar Angkasa Kerbal: 6 Langkah
Tingkatkan Peluncuran Luar Angkasa Anda Dengan Tombol Pementasan Fisik untuk Program Luar Angkasa Kerbal: Saya baru-baru ini mengambil versi demo Program Luar Angkasa Kerbal. Program Luar Angkasa Kerbal adalah gim simulator yang memungkinkan Anda merancang dan meluncurkan roket serta menavigasinya ke bulan dan planet yang jauh. Saya masih mencoba untuk berhasil mendarat di bulan (o
Game Balap Luar Angkasa Versi 2: 5 Langkah
Game Balap Luar Angkasa Versi 2: Hai semuanya. Sebelum versi game ini, menerbitkan versi game pertama. Hari ini, akan menunjukkan Game Balap Luar Angkasa versi 2. Mari kita lihat langkah-langkahnya