Yılan Oyunu Cep telefonlarının başlangıcından bu yana oldukça popüler olmuştur. Başlangıçta siyah beyaz cep telefonlarında geldi ve kısa sürede çok ünlü oldu. Ardından Cep Telefonlarının gelişmesiyle birlikte bu oyun da çok değişti ve artık bu oyunun bir çok grafik ve renkli versiyonu mevcut.
Yılan oyunu da elektronik hobisi ve öğrenciler için çok popüler bir DIY projesi haline geldi. Bu yüzden bugün, Arduino Yılan Oyunu'nu tüm temel işlevleriyle aynı anda basit tutarken göstereceğiz.
Kullanılan Bileşenler:
- Arduino UNO
- 8x8 LED Dot Matrix Ekran
- Vardiya Kaydı 74HC595
- 16x2 LCD
- Tencere 1K
- Basma Düğmeleri
- Bağlantı telleri
- Ekmek Tahtası
- Güç kaynağı
Çalışma Açıklaması:
Bu, inşa edilmesi biraz karmaşık bir oyundur. Ancak bu eğitimde bunu sizin için basitleştirdik. Bu projeyi yapmak için, yılanı ve yiyecek noktasını görüntülemek için 8x8 kırmızı renkli Dot matrix ekran, puanları veya skoru görüntülemek için bir LCD, yön vermek ve oyunu başlatmak için 5 buton ve son olarak kontrol için bir Arduino UNO kullandık. tüm süreç. 8x8 LED Dot Matrix Ekranın pin diyagramı orijinal görüntüsü ile aşağıda verilmiştir:
Devreyi çalıştırdığımızda, önce bir karşılama mesajı ve ardından LCD'de bir “Oynatmak İçin Başlat” ipucunu gösteririz. Bundan sonra, LCD skoru sıfır olarak gösterir ve nokta matris ekran, yılan olarak iki nokta ve yiyecek olarak tek bir nokta gösterir.
Artık kullanıcının oyunu başlatmak için orta düğmeye basması gerekiyor ve yılan varsayılan olarak yukarı yönde hareket etmeye başlıyor. Daha sonra kullanıcının orta düğme etrafındaki 'Yön tuşları'na basarak yılana yön vermesi gerekir. Burada Sol tuş, Sağ tuş, Yukarı tuşu, Aşağı tuşu ve Başlat tuşu olmak üzere beş tuş (basma butonu) kullandık. Yılan yiyecek noktasına ulaştığında veya yiyeceği yediğinde, puan her seferinde 5 puan artar ve Yılan uzunluğu her seferinde bir nokta (LED) artar, ayrıca yılan hızı öncekinden daha hızlı olur. Ve yılan herhangi bir duvara çarptığında veya LED matrisinin sonuna ulaştığında, oyunu sona erdirirdi ("Oyun Bitti"). Daha sonra kullanıcının başlat tuşuna basarak oyunu tekrar başlatması gerekir.
Devre Açıklaması:
Bu Yılan Oyunu Projesi'nin devresi biraz karmaşık. Burada Shift Register 74HC595 kullanarak nokta matris ekranı bağladık. Burada, biri sütunları sürmek ve ikincisi sıraları sürmek için iki vardiya kaydı kullanılır. Her iki yazmaç, Sütun kaydırma yazmacı ve satır kaydırma yazmacının (SH, ST) kontrol pinleri ,doğrudan Arduino'nun sırasıyla 14 ve 16 numaralı pinlerine bağlanır. Sütun kaydırma yazmacının ve satır kaydırma yazmacının DS pini doğrudan Arduino'nun 15 ve 17 numaralı pinlerine bağlıdır. Oyunu başlatmak için başlat butonu 3 numaralı pin, sol yön butonu 4 numaralı pin, sağ yön butonu 6 numaralı pin, yukarı yön butonu pin 2'ye ve aşağı yön butonu pin 5'e bağlıdır. Donanımımıza ayrıca bir LCD bağlanmıştır. puanı göster. RS ve EN pinleri doğrudan pin 13 ve 12'ye bağlanır. RW pini doğrudan topraklıdır. Ve d4-d7 veri pinleri Arduino'nun 11, 10, 9, 8 numaralı pinlerine bağlanır. Bağlantının geri kalanı devre şemasında gösterilmiştir.
Programlama Açıklaması:
Bu Arduino yılan oyun kodunu yazmak için öncelikle başlık dosyalarını ekliyoruz ve LCD için pinleri tanımlıyoruz. Ve sonra yön düğmeleri için bazı pinler ve vardiya yazmaçları için veri pinleri tanımlayın.
#Dahil etmek
Ardından programda kullandığımız her şeyi başlatıyoruz. In kurulum fonksiyonu biz girdi çıktı pimleri yön veren pull-up bit ve LCD ekranda karşılama mesajını göstererek LCD'yi başlatmak.
geçersiz kurulum () {lcd.begin (16,2); pinMode (ds_col, OUTPUT); pinMode (sh_col, OUTPUT); pinMode (st_col, OUTPUT); pinMode (ds_row, OUTPUT); pinMode (başlangıç, GİRİŞ);……………
Ve sonra oyuna döngü işlevinde başlarız.
void show_snake (int temp) {for (int n = 0; n
Burada, basma düğmesinden giriş yönünü okumak için aşağıdaki işlevi kullandık.
void read_button () {if (! digitalRead (sol)) {move_r = 0; move_c! = - 1? hareket_c = -1: hareket_c = 1; while (! digitalRead (sol));……………
Aşağıdaki tam C Code of Snake Game'i kontrol edin.