İçindekiler:

Arduino İle Basit Bir İşleme Oyunu Nasıl Kontrol Edilir: 6 Adım
Arduino İle Basit Bir İşleme Oyunu Nasıl Kontrol Edilir: 6 Adım

Video: Arduino İle Basit Bir İşleme Oyunu Nasıl Kontrol Edilir: 6 Adım

Video: Arduino İle Basit Bir İşleme Oyunu Nasıl Kontrol Edilir: 6 Adım
Video: Arduino Nedir? Nasıl Kurulur ve Neler Yapılabilir? #1 2024, Temmuz
Anonim
Arduino ile Basit Bir İşleme Oyunu Nasıl Kontrol Edilir
Arduino ile Basit Bir İşleme Oyunu Nasıl Kontrol Edilir
Arduino ile Basit Bir İşleme Oyunu Nasıl Kontrol Edilir
Arduino ile Basit Bir İşleme Oyunu Nasıl Kontrol Edilir

Herkese selam, Bu Eğitilebilir Kitapta, bir İşleme çizimi ile bir Arduino kartı arasında nasıl bir "bağ" oluşturulacağını göreceğiz. Bu örnekte, basit bir oyunda bir uçağı kontrol etmek için ultrasonik bir modül kullanılacaktır. Yine, bu eğitim sadece bir örnektir, onu başka bir şey, başka bir oyun veya başka bir eğlenceli proje yaratmak için kullanabilirsiniz! Arduino tarafından desteklenen farklı sensör türlerine bir göz atın ve ne tür projeler yapabileceğinizi hayal edin! Oyunun amacı basittir: bir uçağın yüksekliğini kontrol etmek ve bulutlardan kaçınmaya çalışmak. Uçağın yüksekliği elinizle verilmiştir. Her zaman olduğu gibi, İngilizce hataları bulursanız lütfen bana söyleyin! Soru sormaktan çekinmeyin.

Adım 1: Malzeme Listesi

Malzeme listesi
Malzeme listesi

Tamam, şunlara ihtiyacınız olacak:• bir Arduino kartı (bu örnekte UNO)• ultrasonik ölçüm modülü• devre tahtası kabloları• Bilgisayarda kurulu Arduino yazılımı (buraya bağlantı)• İşleme yazılımı (buraya bağlantı)• Arduino ve İşleme çizimleri (bkz. sonraki adımlar)

Adım 2: Arduino Kablolama

Arduino Kablolama
Arduino Kablolama
Arduino Kablolama
Arduino Kablolama
Arduino Kablolama
Arduino Kablolama

Tamam, lütfen ekteki çizimi Arduino IDE'ye yükleyin. Ultrasonik modül kablolaması basittir:

  • Vcc -> Arduino 5v'ye
  • Tetik -> Arduino pin 3
  • Yankı -> Arduino pin 2
  • GND -> Arduino GND'ye

Bu modül nasıl çalışır? İki ultrasonik yayıcı ve alıcı (gri silindirler) içerir. Yayıcı bir ses titreşimi gönderir, titreşim en yakın nesneye (elinize) yansır ve sinyal modül tarafından alınır. Modül, emisyon ve alım arasındaki süreyi hesaplayarak, onunla eliniz arasındaki mesafeyi çıkaracaktır. Kablolamayı kontrol edin ve kodu Arduino'ya yükleyin. Ardından Seri Monitörü açın ve elinizi modülün üzerine getirin. Seri monitör bir numara listesi göstermelidir… Onunla eliniz arasındaki cm cinsinden mesafe. Hala bu pencerede seri port numarasını alın. Benim durumumda, COM16. (pencerenin sağ alt tarafı)

Adım 3: Konfigürasyonu İşleme

İşleme Yapılandırması
İşleme Yapılandırması
İşleme Yapılandırması
İşleme Yapılandırması

Tamam, İşleme'yi açın ve ekli zip dosyasını açın. Kaynak taslağı ve bazı resimleri içerir. Lütfen onları aynı klasörde bırakın.

Kodda 52 satırını kontrol edin. Seri port numaramızı buraya koyacağız.

Tamam, garip, İşleme doğrudan COM bağlantı noktası numarasıyla değil, başka bir numaralandırmayla çalışır. Seri portunuz 1 ise İşlem numarası 0'dır. COM 2 -> İşlem numarası 1, … Benim durumumda COM16 2 numaradır (Sorun olması durumunda, sadece ekteki "serial_ports.pde" taslağını yükleyin ve çalıştırın. Mevcut seri bağlantı noktalarını aramak için İşleniyor'da.)

İşleme çizim oyunu Arduino tarafından sağlanan seri verileri alacak ve değerler uçağı hareket ettirmek için kullanılacaktır.

Nasıl çalışır ?

Arduino kartı, yalnızca oyuncu elini hareket ettirdiğinde veri gönderir. Veri alınır alınmaz, işleme kodunda özel bir olay etkinleştirilir:

Böylece oyuncu elini hareket ettirdiğinde yeni bir mesafe değeri gönderilir. İşleme çizimi değeri alır, aralığı kontrol eder ve yeni değeri yükseklik değişkenine uygular. Bu arada oyun devam ediyor…

Hata ayıklama sorunları için gelen mesafe İşleme konsoluna yazdırılır.

Adım 4: Oynat

Oynamak !
Oynamak !
Oynamak !
Oynamak !

Tamam, her şey yolundaysa, ana araç çubuğunda Çalıştır'ı seçin. Yayıcıyı bir masanın üzerine yatay olarak koyun ve başlamak için elinizi yaklaşık 20 cm yukarıya koyun. Elinizi hareket ettirirken uçak hareket etmelidir… Yükseklik değerleri İşleme konsolunda görüntülenir. Bu oyunun sadece bir örnek olduğunu unutmayın, kaybedemez veya kazanamazsınız… (ama çok zor görünüyor?) Hepsi bu, basit bir yol Bu durumda Processing'de yazılmış bir oyunu sürmek için Arduino sensörlerini kullanmak. Ama diğer sensörlerle neler yapabileceğinizi hayal edin: bir ivmeölçer (wiimote oyunlarını düşünerek), dijital düğmeler, jiroskop sensörü, ses dedektörleri, piezzo sensörleri… Ne tür oyunlar yaratacaksınız? Okuduğunuz için teşekkürler!

GÜNCELLEME: Uçak çizimini güzel bir resimle nasıl değiştireceğinizi öğrenmek için bir sonraki yeni adımı kontrol edin.

Adım 5: İsteğe Bağlı Adım: Düzlem Bir Resimle Nasıl Değiştirilir

İsteğe Bağlı Adım: Düzlem Bir Resimle Nasıl Değiştirilir
İsteğe Bağlı Adım: Düzlem Bir Resimle Nasıl Değiştirilir

Bu proje hakkında çok fazla geri bildirim aldım. Herkese teşekkürler, her zaman bir zevktir.

Bazıları bana (çirkin) uçak modelini bulutlar gibi bir resimle nasıl değiştireceğimi soruyor. (Doğru, ilk model gerçekten güzel değildi…)

Bir resimle değiştirmek için, hat koordinatlarını bir resim aramasıyla değiştirmeniz yeterlidir. Bu yüzden önce onu yüklemeniz ve resmin iyi çevrildiğinden ve döndüğünden emin olmanız gerekir.

Ekli ZIP dosyasını kontrol edin. Yeni uçak resmiyle birlikte yeni proje dosyasını içerir. Daha fazla açıklama programdadır. Sadece ek sorularınız olup olmadığını sorun.

okuduğunuz için teşekkürler !!

Adım 6: Bir Puan Sistemi

Bir Puan Sistemi
Bir Puan Sistemi

GÜNCELLEME 07/12/15:

Merhaba okuyucular, Bir çok insan, kuşa vurduğunuzda (biraz şiddetli hayır ?) puan sisteminin nasıl ekleneceğini soruyordu.

Bunu başarmanın basit bir yolu, uçak ile kuş arasındaki mesafeyi hesaplamaktır. Bu mesafe belirli bir değerin altına düştüğünde (benim kodumda 40 piksel), puan bir artırılır ve kuş pozisyonu ekranın sağ tarafına sıfırlanır.

Skor da ekranda görüntülenir.

Bu yöntemin tek dezavantajı, uçağın konumuyla gerçekten ilgilenmemesidir. Ama işe yarıyor.

Daha sert bir şey istiyorsanız, eşik mesafesini azaltın, 20 piksel deneyin.

Ekli kodu kontrol edin. Dosyayı açın ve resimleri aynı klasörde tuttuğunuzdan emin olun.

Önerilen: