Turinys:

„Arduino“vaizdo žaidimų valdiklis: 4 žingsniai
„Arduino“vaizdo žaidimų valdiklis: 4 žingsniai

Video: „Arduino“vaizdo žaidimų valdiklis: 4 žingsniai

Video: „Arduino“vaizdo žaidimų valdiklis: 4 žingsniai
Video: STC-3028 Thermostat with Heat and Humidity Fully Explained and demonstrated 2024, Lapkritis
Anonim
„Arduino“vaizdo žaidimų valdiklis
„Arduino“vaizdo žaidimų valdiklis

Ar turite „Arduino“rinkinį, bet nežinote, ką su juo daryti? Galbūt ne, bet šioje instrukcijoje aš žingsnis po žingsnio parodysiu, kaip sukurti, koduoti ir integruoti „Arduino“į jūsų projektą. Šiuo metu šis vadovas yra tikrinamas tik naudojant „Clickteam Fusion Developer 2.5“, tačiau kūrimo ir „Arduino“kodo veiksmus galima naudoti visuotinai. Šis vadovas ateityje gali būti atnaujintas „Unreal“ir „Unity“.

1 žingsnis: pirkinių sąrašas

  • „Arduino Uno“ar panašiai
  • USB kabelis
  • (400 taškų) Duonos lenta arba 1 x perforuota/juostelinė lenta
  • „Arduino“suderinami laidai.
  • Įvairūs jutikliai. Savo pavyzdiniame projekte naudojau šiuos dalykus:
  • Prie skydo tvirtinamas potenciometras 10K duonos lenta
  • Fotorezistorius
  • Jėgai jautrus rezistorius

2 žingsnis: jungtys

Sujungimai
Sujungimai

Pastaba: tai tik jutikliai, kuriuos aš asmeniškai naudoju savo projektui. Tai reiškia, kad yra daug daugiau galimybių. Žingsnis po žingsnio instrukcijas, kaip jas prijungti, rasite įvairiose svetainėse, priklausomai nuo jutiklio.

3 žingsnis: „Arduino“kodas

Nukopijuokite ir įkelkite šį kodą į „Arduino“, jei norite naudoti tokio paties tipo jutiklius kaip aš. Priešingu atveju jutikliams galite naudoti savo kodą. Vienintelis svarbus pasaulinis dalykas, kurio reikia, yra tas, kad kintamieji, kuriuos norite naudoti savo žaidimų variklyje, būtų atspausdinti serijiniame monitoriuje arba juos būtų galima nuskaityti kitu būdu.

// Jie yra nustatyti pradžioje ir nekeičiami, kai programa veikia. Kaip ir tai, ką naudoja kaištis ANALOG IN.

const int potPin = A0; const int fsrAnalogPin = 5; const int fotoelementasPin = 2; // Kintamieji: // LIGHT SENSOR: // Šviesos kiekio kintamasis: int photocellReading; // POTENTIOMETER // Potenciometro vertė int vertė; // Slėgio jutiklis // Tai neapdorotų duomenų kintamasis iš slėgio jutiklio. int fsrReading; // Susietos fsrReading kintamosios int spaudos versija; void setup () {// įdėkite čia savo sąrankos kodą, kad paleistumėte vieną kartą: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// PRESSURE JUTIKLIS // Čia mes naudojame nurodytą fsrAnalogPin, norėdami nuskaityti duomenis iš to kaiščio. fsrReading = analogRead (fsrAnalogPin); // Žemėlapio vertė nuo 0-1023 iki 0-255. slėgis = žemėlapis (fsrReading, 0, 1023, 0, 255); // Patikrinkite, ar slėgis yra mažesnis arba didesnis už tam tikrą kiekį, spausdinant vieną iš dviejų. Šis atspausdintas kintamasis vėliau naudojamas žaidimo variklyje. jei (slėgis 70) {Serijinis atspaudas („6“); } // POTENTIOMETER reikšmė = analogRead (potPin); // Skaitykite ir išsaugokite analoginę vertę iš potenciometro vertė = žemėlapis (vertė, 0, 1023, 0, 360); // Žemėlapio vertė nuo 0-1023 iki 0-360 // Čia 360 padalijame į šešis skirtingus segmentus. // Galite pakeisti segmentų kiekį į didesnę sumą. Tada kiekvienas segmentas turėtų mažesnį diapazoną. Pavyzdžiui, 8 segmentų diapazonas yra 45. (360 /segmentų kiekis) // Jei dabartinė vertė patenka į segmentą, ji atspausdins to segmento pavadinimą. jei (60 vertė ir 120 vertė ir 180 vertė ir 240 vertė ir 300 vertė ir vertė <375) Serial.print („Šeši“); // ŠVIESOS JUTIKLIS // Čia mes dar kartą perskaitėme ir nustatėme kintamąjį, šiuo atveju fotoelementąReading. photocellReading = analogRead (photocellPin); // Tikriname šviesos kiekį, spausdinant tamsiai ir labai tamsiai, spausdinama 3, o spausdinamos normalios šviesos vertės 4. if (photocellReading <10) {Serial.println (" - 3"); } else if (fotoelementasReading <200) {Serial.println (" - 3 -"); } else if (fotoelementasReading <500) {Serial.println (" - 4 -"); } // Skaičiai serijoje: // Pirmasis skaičius yra slėgio jutiklis, 5 nepaspaudžiami, o 6 - paspaudžiami. // Po to šiuo metu veikia potenciometras. // Ir paskutinis skaičius yra 3 = tamsus arba 4 = šviesus.

4 žingsnis: „Game Engine“: spustelėkite „Komanda 2.5“

Plėtinių tvarkytuvėje raskite serijos objektą ir įdiekite jį.

Įdėkite serijos objektą, skaitiklį ir eilutę į savo rėmą. (Dešiniuoju pelės mygtuku spustelėkite rėmelį - įterpkite objektą)

Įvykių redaktoriuje sukurkite įvykį: jei duomenys laukia: nustatykite keičiamą eilutę į „GetData“(„Serijos objektas“)

Tai nustatys eilutę į visus „Arduino“siunčiamus duomenis, o eilutė dabar turėtų atrodyti panaši į serijinį monitorių.

Visada sukurkite kitą įvykį: nustatykite skaitiklį į: Rasti (eilutė $ ("String"), "4", 0)

Šiame pavyzdyje bus bandoma rasti 4, kurie yra lygūs šviesai, kaip matyti Arduino kodekse.

Jei jis ras 4, jis nustatys skaitiklį į 4, jei nepavyks rasti 4, skaitiklis bus -1.

Dabar galite pridėti naują įvykį, kad padarytumėte ką nors su šiuo rezultatu:

Jei skaitiklis = -1: čia galite įdėti, kas turėtų įvykti, jei jis klaidingas, pvz., Lemputės animacija.

Jei skaitiklis = -1: tai reiškia, kad jis rado kintamąjį ir skaitiklis buvo nustatytas kaip bet koks kintamasis (jei jis nėra -1), čia galite padaryti taip, kad lempos animacija būtų įjungta.

Iš esmės, naudodami skaitiklius, nustatytus į -1, kuris yra klaidingas, arba -1, kuris yra teisingas, galite įvykti.

Rekomenduojamas: