Mundarija:

Arduino video o'yin boshqaruvchisi: 4 qadam
Arduino video o'yin boshqaruvchisi: 4 qadam

Video: Arduino video o'yin boshqaruvchisi: 4 qadam

Video: Arduino video o'yin boshqaruvchisi: 4 qadam
Video: 🤑 Ko'p pul to'lanadigan dasturlash sohalari! 2024, Noyabr
Anonim
Arduino video o'yinlar boshqaruvchisi
Arduino video o'yinlar boshqaruvchisi

Sizda Arduino to'plami bor, lekin nima qilishni bilmayapsizmi? Balki unday emas, lekin men bu ko'rsatmada Arduino -ni loyihangizga qanday qurish, kodlash va integratsiyalashni bosqichma -bosqich ko'rsataman. Hozirgi vaqtda ushbu qo'llanma faqat Clickteam Fusion Developer 2.5 bilan sinovdan o'tkazilgan, ammo tuzilish va Arduino kodli qadamlarni hamma joyda ishlatish mumkin. Ushbu qo'llanma kelajakda Unreal va Unity uchun yangilanishi mumkin.

1 -qadam: xaridlar ro'yxati

  • Arduino Uno yoki shunga o'xshash
  • USB kabeli
  • (400 ball) Breadboard yoki 1 x perf/strip taxtasi
  • Arduino bilan mos keladigan simlar.
  • Har xil sensorlar. Men o'z namunaviy loyihamda quyidagilarni qo'lladim:
  • Panelga o'rnatiladigan Potentiometr 10K paneli
  • Fotoresistor
  • Kuch sezgir qarshilik

2 -qadam: ulanishlar

Ulanishlar
Ulanishlar

Eslatma: Bu faqat men loyiha uchun shaxsan ishlatgan sensorlar. Bu shuni anglatadiki, boshqa variantlar juda ko'p. Sensorga qarab, ularni turli joylardan simlarni ulash bo'yicha bosqichma -bosqich ko'rsatmalarni topish mumkin.

3 -qadam: Arduino kodi

Agar siz men kabi sensorlardan foydalanmoqchi bo'lsangiz, ushbu kodni Arduino -ga nusxalash va yuklash. Aks holda sensorlar uchun o'z kodingizdan foydalanishingiz mumkin. Siz talab qiladigan yagona global muhim narsa shundaki, siz o'yin dvigatelida ishlatmoqchi bo'lgan o'zgaruvchilar ketma -ket monitorga chop etilishi yoki boshqa yo'l bilan o'qilishi mumkin.

// Ular boshida o'rnatiladi va dastur ishlayotganda o'zgarmaydi. PIN -koddan foydalanadigan ANALOG.

const int potPin = A0; const int fsrAnalogPin = 5; const int photocellPin = 2; // O'zgaruvchilar: // LIGHT SENSOR: // Nur miqdori o'zgaruvchisi: int photocellReading; // POTENTIOMETER // Potentsiometr int qiymati qiymati; // PRESSURE SENSOR // Bu bosim sensori ma'lumotlarining o'zgaruvchisi. int fsrReading; // fsrReading o'zgaruvchan int bosimining xaritali versiyasi; void setup () {// bir marta ishga tushirish uchun sozlash kodini bu erga qo'ying: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// PRESSURE SENSOR // Bu erda biz ko'rsatilgan fsrAnalogPin -dan foydalanib, bu pin ma'lumotlarini o'qiymiz. fsrReading = analogRead (fsrAnalogPin); // Xarita qiymati 0-1023 dan 0-255 gacha. bosim = xarita (fsrReading, 0, 1023, 0, 255); // Bosim ma'lum miqdordan past yoki yuqoriroq ekanligini tekshiring, bittasini bosib chiqaring. Bu bosma o'zgaruvchi keyinchalik o'yin dvigatelida ishlatiladi. if (bosim 70) {Serial.print ("6"); } // POTENTIOMETER qiymati = analogRead (potPin); // Potentsiometr qiymati = xaritadan analog qiymatni o'qing va saqlang (qiymat, 0, 1023, 0, 360); // 0-1023 dan 0-360 gacha xaritaning qiymati // Bu erda biz 360ni oltita turli segmentlarga ajratamiz. // Siz segmentlar miqdorini yuqori miqdorga o'zgartirishingiz mumkin. Keyin har bir segment kichikroq diapazonga ega bo'ladi. Masalan, 8 segmentning har birida 45 ta diapazon bo'ladi. (360 /segmentlar miqdori) // Agar joriy qiymat segmentga tushib qolsa, u segmentning nomini chop etadi. if (qiymati 60 va qiymati 120 va qiymati 180 va qiymati 240 va qiymati 300 va qiymati <375) Serial.print ("Olti"); // LIGHT SENSOR // Bu erda biz yana bir bor o'zgaruvchini o'qiymiz va o'rnatamiz, bu holda photocellReading. photocellReading = analogRead (photocellPin); // Biz yorug'lik miqdorini tekshiramiz, qorong'i va juda qorong'i bosma bilan 3 va oddiy yorug'lik qiymatlarini bosib chiqaramiz 4. if (photocellReading <10) {Serial.println (" - 3"); } if if (photocellReading <200) {Serial.println (" - 3 -"); } if if (photocellReading <500) {Serial.println (" - 4 -"); } // Seriyadagi raqamlar: // Birinchi raqam bosim sensori, 5 bosilmaydi va 6 bosiladi. // Shundan so'ng, potentsiometr hozirda qaysi segmentda. // Va oxirgi raqam 3 = qorong'i yoki 4 = yorug'lik.

4 -qadam: O'yin mexanizmida: Jamoa 2.5 -ni bosing

Kengaytma menejerida Serial ob'ektini toping va uni o'rnating.

Seriyali ob'ektni, hisoblagichni va chiziqni ramkaga joylashtiring. (Sichqonchaning o'ng tugmachasini bosing - ob'ektni kiriting)

Voqealar tahrirlovchisida voqea yarating: agar ma'lumotlar kutayotgan bo'lsa: o'zgaruvchan satrni GetData -ga o'rnating ("Serial ob'ekt")

Bu mag'lubiyatni Arduino tomonidan yuboriladigan har qanday ma'lumotga o'rnatadi, endi u ketma -ket monitorga o'xshash bo'lishi kerak.

Har doim boshqa hodisani yarating: Hisoblagichni quyidagicha o'rnating: Toping ($ ("String"), "4", 0)

Bu misol, Arduino kodida ko'rinib turganidek, nurga teng bo'lgan 4 ni topishga harakat qiladi.

Agar u 4 ni topsa, hisoblagichni 4 ga o'rnatadi, agar 4 ni topa olmasa hisoblagich -1 bo'ladi.

Endi siz ushbu natija bilan biror narsa qilish uchun yangi hodisani qo'shishingiz mumkin:

Agar hisoblagich = -1 bo'lsa: bu erda nima bo'lishi kerakligini qo'yish mumkin, agar u noto'g'ri bo'lsa, masalan, chiroqning o'chishi.

Agar hisoblagich = -1 bo'lsa: bu o'zgaruvchini topdi va hisoblagich bu o'zgaruvchi qanday bo'lishidan qat'i nazar o'rnatildi degan ma'noni anglatadi (agar -1 bo'lmasa), bu erda siz chiroq animatsiyasi yoqilgan bo'lishi mumkin.

Asosan -1 ga noto'g'ri yoki -1 ga o'rnatilgan hisoblagichlar yordamida siz voqealarni amalga oshirishingiz mumkin.

Tavsiya: