İçindekiler:
- Adım 1: İHTİYAÇLAR
- 2. Adım: ŞEMA
- 3. Adım: KOD
- 4. Adım: KOD BITMAP
- Adım 5: İZLEDİĞİNİZ İÇİN TEŞEKKÜRLER
Video: Arduino Uzay Yarışı Oyunu Sürüm _1: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Hey arkadaşlar. Bugün sizlere LCD5110 ekran ve joystik ile Uzay Yarışı Oyunu nasıl yapabileceğinizi göstereceğim. Adımlara bakalım…
Adım 1: İHTİYAÇLAR
Bu projeyi yapmak için kullandığım parçaların bir listesi:
- Arduino UNO'su
- Joystick Modülü
- Jumper Telleri (erkekten erkeğe ve erkekten dişiye)
- ekmek tahtası
2. Adım: ŞEMA
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 veya CS -> Arduino pin 12
RST (RESET) -> Arduino pin 11
3. Adım: KOD
Kodun, kod işlevlerinin açıklamaları vardır. Bunu kolayca anlayacaksın. Bir sorununuz olursa benimle iletişime geçebilirsiniz.
#Dahil etmek
LCD5110 lcd(8, 9, 10, 11, 12); //(clk, din, dc, rst, ce)
int BL=3;
harici uint8_t SmallFont; //yazı tiplerini tanımla extern uint8_t MediumNumbers; harici uint8_t ara; //şeklimizi tanımla extern uint8_t dusman_araci; //düşman şeklini tanımla const int xpin=A0; //joystick x pin char pozisyonu=2; //konumu tanımlayın, şekil başlangıç konumumuz 2 boolean kontrol = true; boolean dusmanOldu = true; int skor=0; int hiz=0; int dusmanKonumu1; //düşman1 x konumu tanımla int dusmanKonumu2; //düşman2 x konumu tanımla int dusmaninYdeKonumu; //düşmanların y konumunu tanımla
void dusmanAraci(int yer, int asama){ //düşman şekilleri için konumları ayarla
if (yer==1){ //if konum=1; lcd.drawBitmap(2, asama, dusman_araci, 12, 8); //düşman şeklini çiz } if (yer==2){ lcd.drawBitmap(18, asama, dusman_araci, 12, 8); } if (yer==3){ lcd.drawBitmap(34, asama, dusman_araci, 12, 8); }}
void oyunBitti() { //başarısız olursak oyun biter
while(1) { gecikme(100); //1 milisaniye bekle lcd.clrScr(); //ekranı temizle lcd.setFont(SmallFont); //yazı tipini ayarla lcd.print("OYUN BİTTİ", MERKEZ, 20); // lcd.güncellemeyi yazdır(); //ekranı güncelle }}
void setup() { pinMode(BL, OUTPUT); //arka ışığı ayarla Çıkış lcd. InitLCD(); //lcd ekranını başlat lcd.setContrast(55); // karşıtlığı ayarla (0 ila 127 arasında) Serial.begin(9600); // seri komünasyonu başlat }
boşluk döngüsü () {
analogWrite(BL, 200);
//oyun ekranını ayarla lcd.drawRect(0, 0, 47, 47); // lcd.setFont(SmallFont) dikdörtgenini çiziyoruz; //yazı tipini ayarla lcd.print("skor", 53, 0); //printf puanı lcd.setFont(Orta Sayılar); //yazı tipini ayarla lcd.printNumI(skor, 59, 7); //puan al lcd.setFont(SmallFont); lcd.print("hız", 56, 25); //baskı hızı lcd.setFont(MediumNumbers); lcd.printNumI(hiz, 59, 32); //hızı al lcd.update(); //Güncelleme
// joyistik konumu ayarla int x=analogRead(xpin); if(x<300 && durum!=1 && kontrol==true){ //if konum!=1, x state600 && durum!=3 && kontrol==true){ //if konum!=3, x durum> 600 ve kontrol doğrudur pozisyon++; //konumu arttır yani şekli sağa kaydır kontrol=false; } else if(x>300 && x<600){ kontrol=true; } Seri.println(x); //x durumunu öğrenmek için //şekil konumumuzu ayarla lcd.clrScr(); //ekranı temizle if (pozisyon==1){ //if location=1; lcd.drawBitmap(2, 37, arac, 12, 8);} //gemimizi çiz if (pozisyon==2){ lcd.drawBitmap(18, 37, arac, 12, 8);}
if (pozisyon==3){
lcd.drawBitmap(34, 37, arac, 12, 8);}
if (dusmanOldu){ //düşman şekli öldüyse, ölü olup olmadıklarını kontrol edin
dusmanKonumu1 = durum; //ilk düşman şeklini çiz dusmanKonumu2 = random(0, 4); // bir yere başka bir düşman şekli çiz dusmaninYdeKonumu = 0; //düşmanı tepeden getir dusmanOldu = false;} //düşman ölü olmasın diye yeniden yaratılır dusmanAraci (dusmanKonumu1, dusmaninYdeKonumu); dusmaninYdeKonumu++; //ilk düşman şeklini çiz ve yukarıdan aşağıya al dusmanAraci (dusmanKonumu2, dusmaninYdeKonumu); dusmaninYdeKonumu++; //ikinci düşman şeklini çizin ve yukarıdan aşağıya alın if (dusmaninYdeKonumu>22 && ((dusmanKonumu1 == durum) || (dusmanKonumu2 == pozisyon)){ //şeklimiz düşman şekillerine dokunursa oyunBitti();} //oyun biter if (dusmaninYdeKonumu>40){ //şeklimiz düşmanlardan kaçarsa dusmanOldu = true; //düşman şekillerini öldür skor++;} //skoru tek tek artır //skora göre hızı arttır if (skor>=0 && skor10 && skor20 && skor30 & skor& skor<=40){ hiz = 3; gecikme(40); } }
4. Adım: KOD BITMAP
Ayrıca şekiller için bitmap grafiği eklemelisiniz. Bir.c dosyası olmalı ve kod adıyla aynı isimde olmalıdır. Ayrıca aynı dosyada olmalıdır.
//------------------------------------------------ ------------------------------// LCD Asistan tarafından oluşturulan dosya // https://en.radzio.dxp.pl /bitmap_dönüştürücü/ //------------------------------------------------ --------------------------------- #include //progmem işlevi için dahil et
const unsigned char arac PROGMEM = { //şekil bitmapimiz
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };
const unsigned char dusman_araci PROGMEM = { //düşman gemisi bit eşlemi
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, };
Adım 5: İZLEDİĞİNİZ İÇİN TEŞEKKÜRLER
Projelerimi paylaşmaya başlamadan önce her kelimeyi ingilizceye çevirmemek için Türkçe kelimeler kodladım. İşte bu projeyi kullandığım kelimelerin çevirisi, Oyun = Oyun
Arak = Şekil
Dusman = Düşman
kontrol = kontrol
Konum, Yer = Konum
Oyun Bitti = Oyun Bitti
Skor = Puan
Hız = Hız
Önerilen:
DIY Araba Yarışı -- Makershala: 15 Adım
DIY Araba Yarışı || Makershala: Giriş Arkadaşınız size bir oyun gösterip oynamanızı isterse ve bu sizin için zorlayıcı olursa ne olur? Ya ona çok daha zor bir görev vererek ona meydan okumak istersen ve bu sürüşle ilgiliyse, eğlenceli de olacak
Arduino Uzay Kayaları Oyunu: 3 Adım
Arduino Space Rocks Oyunu: İster bilgisayarda, ister telefonda, oyun konsolunda veya bağımsız bir kutuda oynansın, birçok video oyunu bir engelden kaçınma unsuru içerir. Elbette, jeton toplamak veya bir labirentte yolunuzu bulmak için verilen puanlar olabilir,
Uzay Yarışı Oyunu Versiyon 2: 5 Adım
Uzay Yarışı Oyunu Versiyon 2: Herkese merhaba. Bu oyun versiyonundan önce oyunun ilk versiyonunu yayınladım. Bugün size Space Race Game 2. versiyonunu göstereceğim. Adımlara bakalım
Halloween At Yarışı Atari Oyunu: 6 Adım
Cadılar Bayramı At Yarışı Atari Oyunu: Bu yıl Cadılar Bayramı için bir at yarışı atari oyunu yapmaya karar verdik. Roll-a-Ball Horse Racing adlı mekanik bir versiyondan ilham aldık. Amacımız, geniş bir oyuncu yelpazesine hitap edecek basit kontrollere sahip bir oyun yapmaktı. Temel
Uzay Yarışı: Çocuklarla Yapabileceğiniz Basit Arduino Clicker Oyunu: 7 Adım
Uzay Yarışı: Çocuklarla Yapabileceğiniz Basit Arduino Tıklama Oyunu: ¡Bugün nasıl çalıştığını gösteren bir video yüklüyorum! Bizi takipte kalın Çocuklarla birlikte yapılabilecek ve daha sonra tek başlarına oyuncak olarak keyifle oynayabilecekleri uzay temalı bir öğretici ile eğlenelim