İçindekiler:

Arduino Video Oyun Denetleyicisi: 4 Adım
Arduino Video Oyun Denetleyicisi: 4 Adım

Video: Arduino Video Oyun Denetleyicisi: 4 Adım

Video: Arduino Video Oyun Denetleyicisi: 4 Adım
Video: Arduino Nedir? Nasıl Kurulur ve Neler Yapılabilir? #1 2024, Temmuz
Anonim
Arduino Video Oyun Denetleyicisi
Arduino Video Oyun Denetleyicisi

Etrafta bir Arduino kitiniz var ama onunla ne yapacağınıza dair hiçbir fikriniz yok mu? Belki değil, ama bu Eğitilebilir Kitapta size adım adım Arduino'yu nasıl oluşturacağınızı, kodlayacağınızı ve projenize nasıl entegre edeceğinizi göstereceğim. Şu anda bu kılavuz yalnızca Clickteam Fusion Developer 2.5 ile test edilmiştir, ancak derleme ve Arduino kod adımları evrensel olarak kullanılabilir. Bu kılavuz gelecekte Unreal ve Unity için güncellenebilir.

1. Adım: Alışveriş Listesi

  • Arduino Uno veya benzeri
  • USB kablosu
  • (400 puan) Breadboard veya 1 x mükemmel/şerit tahtası
  • Arduino uyumlu teller.
  • Çeşitli Sensörler. Örnek projemde aşağıdakileri kullandım:
  • Panel montajlı Potansiyometre 10K breadboard dostu
  • Fotodirenç
  • Kuvvet duyarlı direnç

2. Adım: Bağlantılar

Bağlantılar
Bağlantılar

Not: Bunlar yalnızca projem için kişisel olarak kullandığım sensörlerdir. Bu, orada çok daha fazla seçenek olduğu anlamına gelir. Bunların nasıl kablolanacağına ilişkin adım adım talimatlar, sensöre bağlı olarak çeşitli sitelerde bulunabilir.

Adım 3: Arduino Kodu

Benimle aynı tür sensörleri kullanmak istiyorsanız bu kodu kopyalayıp Arduino'nuza yükleyin. Aksi takdirde sensörleriniz için kendi kodunuzu kullanabilirsiniz. Gerekli olan tek global önemli şey, oyun motorunuzda kullanmak istediğiniz değişkenlerin seri monitöre yazdırılması veya başka bir şekilde okunabilmesidir.

//Bunlar başlangıçta ayarlanır ve program çalışırken değiştirilmez. Pin'in kullandığı ANALOG gibi.

const int potPin = A0; const int fsrAnalogPin = 5; const int fotoselPin = 2; //Değişkenler: //IŞIK SENSÖRÜ: //Işık miktarı değişkeni: int fotoselOkuma; //POTANSİYOMETRE //Potansiyometre değeri int değeri; //BASINÇ SENSÖRÜ //Bu, basınç sensöründen gelen ham veri değişkenidir. int fsrReading; // fsrReading değişkeninin eşlenmiş versiyonu int basıncı; void setup() { // bir kez çalıştırmak için kurulum kodunuzu buraya koyun: pinMode(potPin, INPUT); Seri.başla(9600); } void loop() { // BASINÇ SENSÖRÜ //Burada o pinden veri okumak için belirtilen fsrAnalogPin'i kullanıyoruz. fsrReading = analogRead(fsrAnalogPin); // 0-1023 değerini 0-255 ile eşleştirin. basınç = harita(fsrReading, 0, 1023, 0, 255); //İkisinden birini yazdırarak basıncın belirli bir miktarın altında veya üzerinde olup olmadığını kontrol edin. Bu yazdırılan değişken daha sonra oyun motorunda kullanılır. if (basınç 70) { Serial.print("6"); } // POTANSİYOMETRE değeri = analogRead(potPin); //Potansiyometre değerinden analog değeri oku ve kaydet = map(value, 0, 1023, 0, 360); //0-1023 ile 0-360 arasındaki değeri eşleştir //Burada 360'ı altı farklı segmente ayırıyoruz. //Segment miktarını daha yüksek bir miktarla değiştirebilirsiniz. Her segment daha sonra daha küçük bir aralığa sahip olacaktır. Örneğin, 8 segmentin her biri 45'lik bir aralığa sahip olacaktır.(360 / segment miktarı) //Mevcut değer bir segmente düşerse, o segmentin adını yazdıracaktır. if (60 değeri ve 120 değeri ve 180 değeri ve 240 değeri ve 300 değeri ve değeri < 375) Serial.print("Altı"); // IŞIK SENSÖRÜ // Burada bir kez daha bir değişkeni okuyup ayarlıyoruz, bu durumda fotoselOkuma. fotoselOkuma = analogOkuma(fotoselPin); //Işık miktarını kontrol ediyoruz, koyu ve çok koyu baskı ile a 3 ve normal ışık değerleri 4. baskı ile if (photocellReading < 10) { Serial.println(" - 3"); } else if (photocellReading < 200) { Serial.println(" - 3 -"); } else if (photocellReading < 500) { Serial.println(" - 4 -"); } //Serideki sayılar: //İlk sayı basınç sensörüdür, 5'e basılmaz ve 6'ya basılır. //Bundan sonra Potansiyometrenin şu anda hangi segmentte olduğu. //Ve son sayı ya 3 = karanlık ya da 4 = açık.

Adım 4: Oyun Motorunda: Takım 2.5'e tıklayın

Extension Manager'da Seri Nesneyi bulun ve bunu yükleyin.

Seri Nesneyi, bir sayacı ve bir ipi çerçevenize yerleştirin. (Çerçeveye sağ tıklayın - nesne ekleyin)

Olay Düzenleyicisi'nde bir olay oluşturun: Veri bekliyorsa: Değiştirilebilir Dize'yi GetData("Seri Nesne") olarak ayarlayın

Bu, diziyi Arduino tarafından gönderilen herhangi bir veriye ayarlayacaktır, dizi artık Seri Monitöre benzer görünmelidir.

Başka bir etkinlik oluştur Her Zaman: Sayacı şuna ayarlayın: Find(string$("String"), "4", 0)

Bu örnek, Arduino Kodunda görüldüğü gibi ışığa eşit olan 4'ü bulmaya çalışacaktır.

4'ü bulursa sayacı 4'e ayarlar, 4'ü bulamazsa sayaç -1 olur.

Şimdi bu sonuçla bir şeyler yapmak için yeni bir etkinlik ekleyebilirsiniz:

If counter = -1: Burada, bir lambanın kapalı olduğu bir Animasyonun olması gibi, yanlışsa ne olması gerektiğini yazabilirsiniz.

Eğer sayaç = -1: Bu, değişkeni bulduğu ve sayacın bu değişken ne olursa olsun ayarlandığı anlamına gelir (-1 olmadığı sürece), burada lamba animasyonunun açık olmasını sağlayabilirsiniz.

Temel olarak, yanlış olan -1 veya doğru olan -1 olarak ayarlanmış sayaçları kullanarak olayları gerçekleştirebilirsiniz.

Önerilen: