İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Oyun ne hakkında?
Oyun oldukça basit.
Elinizi ultrasonik yakınlık sensöründe yukarı ve aşağı hareket ettirerek Rick ve Morty'nin içinde bulunduğu uzay gemisini kontrol ediyorsunuz.
Amaç:
- Puan kazanmak için portal silahları toplayın, korkak Jerry the Worm çift puan
- Eksi 1 canlı vurursanız göktaşı kaçının.
- Ekranı da aşarsanız 1 canlı düşülecektir.
Oyunu neden yarattığımın arka planı
Rick and Morty serisinin sıkı bir hayranı olarak buna dayalı bir oyun yaratmak istedim. Bu nedenle, tüm Rick ve Morty hayranlarının toplanıp oyunun tadını çıkarmasını umarak bu oyunu yaratmak için bu yolculuğa çıkıyorum. Rick & Morty serisinin hayranı olmasanız bile umarım beğenmişsinizdir. ^_^
Adım 1: Parçalarınızı Toplayın
Bu proje için indirilmiş 3 parça ve 2 yazılıma ihtiyacınız olacak.
- Arduino Uno Kartı
- Ultrasonik yakınlık sensörü
- 4 Erkek - Dişi atlama teli
- Arduino Yazılımı
- 3 işleniyor
Alternatif olarak, girişin tamamen Arduino'ya bağlı olmasını istiyorsanız, bazı düğme modülleri alabilirsiniz.
Adım 2: Arduino Kurulumu: Yakınlık Sensörünü Arduino Kartına Bağlama
Ultrasonik Yakınlık Sensöründe 4 Pin görmelisiniz. VCC (Güç), Trig (Ping göndermek için), Echo (Çıkış), GND.
- VCC pinini Arduino 5V'ye bağlayın
- Tetiği Arduino Dijital Giriş/Çıkış (I/O) Pin 3'e bağlayın
- Arduino Dijital I/O Pin 2'ye Yankı
- Arduino'daki herhangi bir mevcut GND pinine GND
Modülün Temel Açıklaması
Tetik ve yankı temel olarak mesafeyi hesaplamak için kullanılır -> Yüksek olduğu mikrosaniye sayısını 58'e bölerek modül ile eliniz arasındaki mesafeyi santimetre cinsinden elde edersiniz.
Daha fazla bilgi için https://randomnerdtutorials.com/complete-guide-for… adresini ziyaret etmek isteyebilirsiniz.
Adım 3: Arduino Kartını Programlayın
Kartı programlamadan önce, uno kartının iyi çalıştığından emin olmak için Arduino yazılımında bulunan çizim dosyalarını kullanarak basit bir göz kırpma testi yapmak isteyebilirsiniz.
Arduino kartını bilgisayarınıza bağlayın ve Arduino Yazılımını açın. Yüklendikten sonra Seri Monitör'ü açın ve COM bağlantı noktası numarasını kontrol edin.
Alternatif olarak, Araçlar -> Bağlantı Noktası'na giderek kontrol edebilirsiniz. COM bağlantı noktası numarasını görebilmeniz gerekir. Sensörden İşleme yazılımına girdi toplamak için bu numarayı kullanacağız. Benim durumumda, COM 3'tür.
Onayladıktan sonra Seri Monitörde bazı sayılar görebilirsiniz. Devam edebilirsiniz.
Adım 4: Oyunu Programlayın
Lütfen her şeyi klasörde saklayın, aksi takdirde çalışmayacaktır. (Yüklenmesi gereken görüntüleri bulamadığı için boş işaretçi)
Bu satırı arayın:
myPort = new Serial(bu, Serial.list()[0], 9600);
Koddaki "0" sayısını "Serial.list()[0]"-> Seri Bağlantı Noktasını, kullandığınız COM bağlantı noktasının eşdeğeriyle değiştirmeniz gerekir.
COM bağlantı noktasının seri bağlantı noktası/işleme bağlantı noktası eşdeğerini belirlemek için ekteki "Serial.pde" dosyasını kullanabilirsiniz.
Bunu yapmamızın nedeni, Processing yazılımının doğrudan COM portu ile çalışmamasıdır. Bu adımı geçtikten sonra, sensörden toplanan seri veriler İşleme çizim dosyasına ulaşabilmelidir. Bu verileri Rick ve Morty'nin oturduğu UFO'yu hareket ettirmek için kullanacağız.
Müzik ve Metin
Lütfen işleme yazılımında işlem sesi ve controlp5 kitaplıklarını kurun. Bu, kodları kullanıyorsanız oyunda çalışacak çeşitli müzikler ve çeşitli ekranlardaki metinler içindir.
"Nasıl yapılır"ı burada bulabilirsiniz:
stackoverflow.com/questions/30559754/how-t…
Nasıl çalışır
Arduino Yazılımı, yalnızca sensör, üzerinde hareket eden bir nesne (bu durumda oynatıcının eli) algıladığında verileri gönderir. Bu verileri İşleme çiziminde aldığımızda, aralığı kontrol etmek ve kodda bulunan belirli kurallara göre hareket etmesini sağlamak için değerleri kullanacağız. Tüm bunlar oyun devam ederken oluyor.
Kodu anlamak için ekteki "Version 1.zip" dosyasını inceleyebilirsiniz. Her satırın ne anlama geldiğini anlamanıza yardımcı olmak için elimden geldiğince çok yorum ekledim.
Umarım bunu yaparken eğlenirsiniz! Sizin bulduğunuz farklı varyasyonları görmeyi çok isterim!
Adım 5: Gelecekte İyileştirme
Hey millet, aslında bu oyunun çekim yetenekleri olan başka bir tamamlanmamış versiyonuna sahiptim. Ancak, henüz tam olarak kodlayamıyorum.
Fikir, onu yok etmek için göktaşı ve daha zor ve ilginç hale getirmek için yeni uygulanan nesneyi vurmaktır. Giriş, Arduino kartındaki bir düğmeden veya bir fare tıklaması kadar basit olabilir.
Kodları buraya yükleyeceğim. Herhangi biriniz ilgileniyorsa.
Adım 6: Karşılaşılan Olası Sorunlar ve Çözümleri
- Kablolama, kablo şemasına göre doğru şekilde yapıldığından emin olduğunda, aksi takdirde beklendiği gibi çalışmayabilir. İpucu: Herhangi bir işlem yapmadan önce Arduino kartınızın çalışıp çalışmadığını kontrol etmek için basit bir göz kırpma testi yapın.
- Kurulumun hangi bölümünün çalışmadığından emin değilseniz, her sensör modülü için ayrı testi çalıştırın. Bunları çevrimiçi olarak kolayca test etmek için kodlar bulabilirsiniz.
- Başarılı bir şekilde derlenmiş ve yüklenmiş olmasına rağmen kod beklendiği gibi çalışmıyor.
- Dijital girişin kodlarda belirtildiği gibi doğru giriş numarasına bağlı olup olmadığını kontrol edin. Arduino kartınızı yeniden takın ve Arduino yazılımını yeniden başlatın ve tekrar deneyin.
- Port Meşgul -> Arduino yazılımını yeniden başlatmayı deneyin. Sorun çözülmediyse bilgisayarınızı yeniden başlatın. Aksi takdirde programlayıcıyı ArduinoISP olarak ayarlamak isteyebilirsiniz. Araçlar>Programcı>ArduinoISP
- Müziği döngüye almak için lütfen monotona dönüştürün.
- Beraberlik işlevine müzik eklerken, yalnızca bir kez çalışması için belirli koşullarda eklemediyseniz, programın askıda kalmasına neden olacaktır.
7. Adım: Referanslar:
www.instructables.com/id/How-to-control-a-…
www.sojamo.de/libraries/controlP5/
processing.org/reference/libraries/sound/i…