Mündəricat:

Arduino Video Oyun Nəzarətçisi: 4 addım
Arduino Video Oyun Nəzarətçisi: 4 addım

Video: Arduino Video Oyun Nəzarətçisi: 4 addım

Video: Arduino Video Oyun Nəzarətçisi: 4 addım
Video: DIY Arcade Controller for Tekken 7! 2024, Noyabr
Anonim
Arduino Video Oyun Nəzarətçisi
Arduino Video Oyun Nəzarətçisi

Arduino dəstiniz var, amma nə edəcəyinizi bilmirsiniz? Bəlkə də yox, amma bu Təlimatlandırmada Arduinonu necə quracağınızı, kodlaşdıracağınızı və layihənizə necə inteqrasiya edəcəyinizi addım -addım göstərəcəyəm. Hal -hazırda bu təlimat yalnız Clickteam Fusion Developer 2.5 ilə sınaqdan keçirilir, lakin quruluş və Arduino kod addımları universal olaraq istifadə edilə bilər. Bu təlimat gələcəkdə Unreal və Unity üçün yenilənə bilər.

Addım 1: Alış -veriş siyahısı

  • Arduino Uno və ya bənzəri
  • USB Kabel
  • (400 nöqtə) Çörək taxtası və ya 1 x perf/strip board
  • Arduino uyğun tellər.
  • Müxtəlif sensorlar. Nümunə layihəmdə aşağıdakılardan istifadə etdim:
  • Panel montajı Potentiometer 10K çörək taxtası dostu
  • Fotoresistor
  • Güc həssas rezistor

Addım 2: Bağlantılar

Əlaqələr
Əlaqələr

Qeyd: Bunlar yalnız layihəm üçün şəxsən istifadə etdiyim sensorlardır. Bu o deməkdir ki, orada daha çox seçim var. Sensordan asılı olaraq müxtəlif saytlarda telləri necə çəkmək barədə addım -addım təlimatlar tapa bilərsiniz.

Addım 3: Arduino Kodu

Mənimlə eyni növ sensorlar istifadə etmək istəyirsinizsə bu kodu kopyalayın və Arduino -ya yükləyin. Əks halda sensorlar üçün öz kodunuzdan istifadə edə bilərsiniz. Tələb olunan yeganə qlobal əhəmiyyətli şey, oyun mühərrikinizdə istifadə etmək istədiyiniz dəyişənlərin serial monitorda çap edilməsi və ya başqa bir şəkildə oxunmasıdır.

// Bunlar əvvəlində təyin olunur və proqram işləyərkən dəyişdirilmir. Pinin istifadə etdiyi ANALOG kimi.

const int potPin = A0; const int fsrAnalogPin = 5; const int photocellPin = 2; // Dəyişənlər: // İŞIQ SENSORU: // İşıq miqdarı dəyişən: int photocellReading; // POTENTIOMETER // Potentiometer int dəyərinin dəyəri; // BASINÇ SENSORU // Bu, təzyiq sensorundan alınan xam məlumat dəyişicisidir. int fsrReading; // fsrReading dəyişən int təzyiqinin xəritələnmiş versiyası; void setup () {// bir dəfə işlətmək üçün quraşdırma kodunuzu bura qoyun: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// PRESSURE SENSOR // Burada o pindən məlumatları oxumaq üçün göstərilən fsrAnalogPin istifadə edirik. fsrReading = analogRead (fsrAnalogPin); // Xəritə dəyəri 0-1023-0-255. təzyiq = xəritə (fsrReading, 0, 1023, 0, 255); // Təzyiqin müəyyən bir miqdardan aşağı və ya çox olub olmadığını yoxlayın. Bu çap edilmiş dəyişən daha sonra oyun motorunda istifadə olunur. əgər (təzyiq 70) {Serial.print ("6"); } // POTENTIOMETER dəyəri = analogRead (potPin); // Oxumaq və potensialiometr dəyərindən analoji dəyəri saxla = map (dəyər, 0, 1023, 0, 360); // Xəritə dəyəri 0-1023-dən 0-360-a qədər // Burada 360-ı altı fərqli seqmentə ayırırıq. // Segmentlərin miqdarını daha yüksək bir məbləğə dəyişə bilərsiniz. Hər bir seqment daha kiçik bir aralığa sahib olardı. Məsələn, 8 seqmentin hər birinin 45 diapazonu olardı. (360 /seqmentlərin miqdarı) // Cari dəyər bir seqmentə düşərsə, həmin seqmentin adını çap edəcək. əgər (dəyər 60 və dəyər 120 və dəyər 180 və dəyər 240 və dəyər 300 və dəyər <375) Serial.print ("Altı"); // İŞIQ SENSÖRÜ // Burada bir dəfə oxuyub bir dəyişən təyin edirik, bu halda fotosel oxu. photocellReading = analogRead (photocellPin); // İşıq miqdarını yoxlayırıq, qaranlıq və çox qaranlıq çap 3 və normal işıq dəyərləri çap 4 4. if (photocellReading <10) {Serial.println (" - 3"); } if if (photocellReading <200) {Serial.println (" - 3 -"); } else if (photocellReading <500) {Serial.println (" - 4 -"); } // Serialdakı nömrələr: // İlk nömrə təzyiq sensorudur, 5 -ə basılmır və 6 -ya basılır. // Bundan sonra Potansiometr hazırda hansı seqmentdədir. // Və son rəqəm ya 3 = qaranlıq, ya da 4 = işıqdır.

Addım 4: Oyun Mühərrikində: Komanda 2.5 -ə vurun

Genişləndirmə menecerində Serial Obyektini tapın və quraşdırın.

Çərçivəyə Serial Obyekt, sayğac və sim qoyun. (Çərçivəyə sağ vurun - obyekt daxil edin)

Hadisə Redaktorunda bir hadisə yaradın: Məlumat gözləyirsə: GetData ("Serial Obyekt") olaraq dəyişdirilə bilən String qurun.

Bu simli Arduino tərəfindən göndərilən hər hansı bir məlumat üçün təyin edəcək, simli indi Serial Monitora bənzəməlidir.

Həmişə başqa bir hadisə yaradın: Sayaç təyin edin: Tapın ($ ("String"), "4", 0)

Bu nümunə, Arduino Kodunda göründüyü kimi işığa bərabər olan 4 -ü tapmağa çalışacaq.

4 -ü taparsa sayacı 4 -ə qoyar, 4 -ü tapa bilməsə sayaç -1 olar.

İndi bu nəticə ilə bir şey etmək üçün yeni bir hadisə əlavə edə bilərsiniz:

Sayaç = -1 olarsa: Yanlış olarsa, məsələn, sönən lampanın Animasiyasına sahib olmaq lazım olanı bura qoya bilərsiniz.

Sayaç = -1: Bu, dəyişəni tapdığını və sayğacın bu dəyişən ola biləcəyi hər şeyə (-1 olmadığı müddətində) qurulduğunu bildirir, burada lampa animasiyasının işə keçməsini təmin edə bilərsiniz.

Əsasən ya yanlış olan -1 və ya doğru olan -1 olan sayğaclardan istifadə edərək hadisələri həyata keçirə bilərsiniz.

Tövsiyə: