Indholdsfortegnelse:

Arduino videospilcontroller: 4 trin
Arduino videospilcontroller: 4 trin

Video: Arduino videospilcontroller: 4 trin

Video: Arduino videospilcontroller: 4 trin
Video: Уроки Ардуино #0 - что такое Arduino, куда подключаются датчики и как питать Ардуино 2024, Juli
Anonim
Arduino videospilcontroller
Arduino videospilcontroller

Har du et Arduino -kit liggende, men du aner ikke, hvad du skal gøre med det? Måske ikke, men i denne Instructable vil jeg vise dig trin for trin, hvordan du bygger, koder og integrerer Arduino i dit projekt. I øjeblikket testes denne vejledning kun med Clickteam Fusion Developer 2.5, men build- og Arduino -kodetrinnene kan bruges universelt. Denne vejledning kan blive opdateret til Unreal og Unity i fremtiden.

Trin 1: Indkøbsliste

  • Arduino Uno eller lignende
  • USB -kabel
  • (400 point) Breadboard eller 1 x perf/strip board
  • Arduino kompatible ledninger.
  • Forskellige sensorer. Jeg brugte følgende i mit eksempelprojekt:
  • Panelmonteret Potentiometer 10K brødbræt venligt
  • Fotoresistor
  • Kraftfølsom modstand

Trin 2: Forbindelser

Forbindelser
Forbindelser

Bemærk: Dette er kun de sensorer, jeg personligt har brugt til mit projekt. Det betyder, at der er mange flere muligheder derude. Trin for trin instruktioner om, hvordan du kabler dem, kan findes på forskellige steder afhængigt af sensoren.

Trin 3: Arduino -kode

Kopier og upload denne kode til din Arduino, hvis du ønsker at bruge den samme slags sensorer som mig. Ellers kan du bruge din egen kode til dine sensorer. Den eneste globale vigtige ting, der kræves, er, at de variabler, du vil bruge i din spilmotor, udskrives på den serielle skærm eller kan læses på en anden måde.

// Disse indstilles i begyndelsen og ændres ikke, når programmet kører. Som hvilken ANALOG I stiften bruger.

const int potPin = A0; const int fsrAnalogPin = 5; const int photocellPin = 2; // Variabler: // LYSSENSOR: // Variabel lysmængde: int photocellReading; // POTENTIOMETER // Værdi Potentiometer int værdi; // PRESSURE SENSOR // Dette er rådata -variablen fra trykføleren. int fsrReading; // Kortlagt version af fsrReading variabel int tryk; void setup () {// sæt din opsætningskode her for at køre en gang: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// PRESSURE SENSOR // Her bruger vi den angivne fsrAnalogPin til at læse data fra denne pin. fsrReading = analogRead (fsrAnalogPin); // Kortværdi 0-1023 til 0-255. tryk = kort (fsrReading, 0, 1023, 0, 255); // Kontroller, om trykket er under eller over en vis mængde ved at udskrive en af de to. Denne udskrevne variabel bruges senere i spilmotoren. hvis (tryk 70) {Serial.print ("6"); } // POTENTIOMETER værdi = analogRead (potPin); // Læs og gem analog værdi fra potentiometerværdi = map (værdi, 0, 1023, 0, 360); // Kortværdi 0-1023 til 0-360 // Her opdeler vi 360 i seks forskellige segmenter. // Du kan ændre mængden af segmenter til et højere beløb. Hvert segment ville derefter have et mindre område. For eksempel ville 8 segmenter have et område på 45 hver. (360 /antal segmenter) // Hvis den aktuelle værdi falder ind i et segment, udskrives navnet på det segment. if (værdi 60 og værdi 120 og værdi 180 og værdi 240 og værdi 300 og værdi <375) Serial.print ("Six"); // LYSSENSOR // Her læser og sætter vi igen en variabel, i dette tilfælde photocellReading. photocellReading = analogRead (photocellPin); // Vi kontrollerer mængden af lys, med mørk og meget mørk udskrivning en 3 og normale lysværdier udskriver 4. if (photocellReading <10) {Serial.println (" - 3"); } ellers if (photocellReading <200) {Serial.println (" - 3 -"); } ellers if (photocellReading <500) {Serial.println (" - 4 -"); } // Tallene i serien: // Det første tal er tryksensoren, der trykkes ikke på 5, og der trykkes på 6. // Efter det er det segment, Potentiometeret er i øjeblikket på. // Og det sidste tal er enten en 3 = mørk eller 4 = lys.

Trin 4: I Game Engine: Klik på Team 2.5

Find Serial Object i Extension Manager, og installer dette.

Placer det serielle objekt, en tæller og en snor i din ramme. (Højreklik i rammen - indsæt objekt)

I begivenhedseditoren skal du oprette en begivenhed: Hvis data venter: Indstil den ændrede streng til GetData ("Serielt objekt")

Dette vil indstille strengen til alle data, der sendes af Arduino, strengen skal nu ligne Serial Monitor.

Opret altid en anden begivenhed: Indstil tæller til: Find (string $ ("String"), "4", 0)

Dette eksempel vil forsøge at finde de 4, der er lig med lys, som det kan ses i Arduino -koden.

Hvis den finder 4'eren, sætter den tælleren til 4, hvis den ikke finder 4'eren, vil tælleren være -1.

Nu kan du tilføje en ny begivenhed for at gøre noget med dette resultat:

Hvis tæller = -1: Her kan du sætte, hvad der skal ske, hvis det er falsk, som at have en animation af en lampe slukket.

Hvis tæller = -1: Det betyder, at den har fundet variablen, og tælleren er blevet indstillet til, hvad variablen måtte være (så længe den ikke er -1), her kunne du lave den, så lampens animation skifter til at være tændt.

Grundlæggende ved at bruge tællere, der er indstillet til enten -1, som er falsk eller -1, hvilket er sandt, kan du få begivenheder til at ske.

Anbefalede: