Cuprins:

Controler de jocuri video Arduino: 4 pași
Controler de jocuri video Arduino: 4 pași

Video: Controler de jocuri video Arduino: 4 pași

Video: Controler de jocuri video Arduino: 4 pași
Video: 3D printed Arduino PC controller 2024, Iulie
Anonim
Controler de jocuri video Arduino
Controler de jocuri video Arduino

Aveți un kit Arduino așezat, dar nu aveți nicio idee despre ce să faceți? Poate că nu, dar în acest Instructable vă voi arăta pas cu pas cum să construiți, să codificați și să integrați Arduino în proiectul dvs. În acest moment, acest ghid este testat numai cu Clickteam Fusion Developer 2.5, dar pașii de construire și cod Arduino pot fi utilizați universal. Acest ghid ar putea fi actualizat pentru Unreal și Unity în viitor.

Pasul 1: Lista de cumpărături

  • Arduino Uno sau similar
  • Cablu USB
  • (400 puncte) Panou sau 1 x panou perf / strip
  • Sârme compatibile Arduino.
  • Diversi senzori. Am folosit următoarele în exemplul meu de proiect:
  • Potențiometru montat pe panou 10K prietenos
  • Fotorezistor
  • Rezistor sensibil la forță

Pasul 2: Conexiuni

Conexiuni
Conexiuni

Notă: Acestea sunt doar senzorii pe care i-am folosit personal pentru proiectul meu. Aceasta înseamnă că există mult mai multe opțiuni acolo. Instrucțiuni pas cu pas despre cum să le conectați pot fi găsite pe diferite site-uri, în funcție de senzor.

Pasul 3: Cod Arduino

Copiați și încărcați acest cod pe Arduino dacă doriți să utilizați același tip de senzori ca mine. În caz contrar, puteți utiliza propriul cod pentru senzori. Singurul lucru important la nivel global care este necesar este ca variabilele pe care doriți să le utilizați în motorul dvs. de joc să fie tipărite pe monitorul serial sau pot fi citite în alt mod.

// Acestea sunt setate la început și nu se modifică când rulează programul. Ca pe care se folosește PIN-ul ANALOG IN.

const int potPin = A0; const int fsrAnalogPin = 5; const int fotocelulaPin = 2; // Variabile: // SENSOR DE LUMINĂ: // Variabilă de cantitate de lumină: int fotocelulaReading; // POTENȚIOMETRU // Valoarea valorii int a potențiometrului; // SENZOR DE PRESIUNE // Aceasta este variabila de date brute de la senzorul de presiune. int fsrCitirea; // Versiune mapată a variabilei fsrReading int press; void setup () {// puneți codul de configurare aici, pentru a rula o dată: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// PRESSURE SENSOR // Aici folosim fsrAnalogPin specificat pentru a citi datele din acel pin. fsrReading = analogRead (fsrAnalogPin); // Valoarea hărții de la 0-1023 la 0-255. presiune = hartă (fsrReading, 0, 1023, 0, 255); // Verificați dacă presiunea este sub sau peste o anumită cantitate imprimând una dintre cele două. Această variabilă tipărită este utilizată ulterior în motorul de joc. if (presiunea 70) {Serial.print ("6"); } // valoare POTENȚIOMETRU = analogRead (potPin); // Citiți și salvați valoarea analogică din valoarea potențiometrului = hartă (valoare, 0, 1023, 0, 360); // Valoarea hărții de la 0-1023 la 0-360 // Aici împărțim 360 în șase segmente diferite. // Puteți schimba cantitatea de segmente la o sumă mai mare. Fiecare segment ar avea apoi un interval mai mic. De exemplu, 8 segmente ar avea un interval de 45 fiecare (360 / cantitatea de segmente) // Dacă valoarea curentă se încadrează într-un segment, acesta va imprima numele segmentului respectiv. if (valoarea 60 și valoarea 120 și valoarea 180 și valoarea 240 și valoarea 300 și valoarea <375) Serial.print ("Șase"); // LIGHT SENSOR // Aici citim și setăm încă o dată o variabilă, în acest caz photocellReading. photocellReading = analogRead (fotocelulaPin); // Verificăm cantitatea de lumină, cu imprimarea întunecată și foarte întunecată o imprimare cu 3 și valori luminoase normale 4. if (photocellReading <10) {Serial.println ("- 3"); } else if (photocellReading <200) {Serial.println ("- 3 -"); } else if (photocellReading <500) {Serial.println ("- 4 -"); } // Numerele din seria: // Primul număr este senzorul de presiune, 5 nu este apăsat și 6 este apăsat. // După aceea, este segmentul pe care este în prezent Potentiometrul. // Și ultimul număr este fie 3 = întuneric, fie 4 = luminos.

Pasul 4: În motorul de joc: Faceți clic pe Echipa 2.5

În Extension Manager găsiți Serial Object și instalați acest lucru.

Așezați obiectul serial, un contor și un șir în cadrul dvs. (Faceți clic dreapta în cadru - introduceți obiectul)

În Editorul de evenimente creați un eveniment: Dacă datele așteaptă: setați șir modificabil la GetData („Obiect serial”)

Aceasta va seta șirul la orice date care sunt trimise de Arduino, șirul ar trebui să arate acum similar cu Serial Monitor.

Creați alt eveniment Întotdeauna: setați contorul la: Găsiți (șirul $ („Șir”), „4”, 0)

Acest exemplu va încerca să găsească 4 care este egal cu lumina așa cum se poate vedea în Codul Arduino.

Dacă găsește 4 va seta contorul la 4, dacă nu reușește să găsească 4, contorul va fi -1.

Acum puteți adăuga un nou eveniment pentru a face ceva cu acest rezultat:

If counter = -1: Aici puteți pune ceea ce ar trebui să se întâmple dacă este fals, cum ar fi să aveți o animație a unei lămpi stinsă.

Dacă contorul = -1: Aceasta înseamnă că a găsit variabila, iar contorul a fost setat la orice variabilă ar putea fi (atâta timp cât nu este -1), aici o puteți face astfel încât animația lămpii să fie pornită.

Practic, folosind contoare care sunt setate fie la -1, care este fals, fie la -1, care este adevărat, puteți face evenimente.

Recomandat: