Innholdsfortegnelse:

Arduino videospillkontroller: 4 trinn
Arduino videospillkontroller: 4 trinn

Video: Arduino videospillkontroller: 4 trinn

Video: Arduino videospillkontroller: 4 trinn
Video: Arduino megaADK + Dual sense #arduino #ps5 2024, November
Anonim
Arduino videospillkontroller
Arduino videospillkontroller

Har du et Arduino -sett som ligger, men du aner ikke hva du skal gjøre med det? Kanskje ikke, men i denne Instructable vil jeg vise deg trinn for trinn hvordan du bygger, koder og integrerer Arduino i prosjektet ditt. For øyeblikket er denne guiden bare testet med Clickteam Fusion Developer 2.5, men build- og Arduino -kodetrinnene kan brukes universelt. Denne guiden kan bli oppdatert for Unreal og Unity i fremtiden.

Trinn 1: Handleliste

  • Arduino Uno eller lignende
  • USB-kabel
  • (400 poeng) Brødbrett eller 1 x perf/stripebrett
  • Arduino -kompatible ledninger.
  • Ulike sensorer. Jeg brukte følgende i mitt eksempelprosjekt:
  • Panelmontert potensiometer 10K brødbrett vennlig
  • Fotoresistor
  • Kraftfølsom motstand

Trinn 2: Tilkoblinger

Tilkoblinger
Tilkoblinger

Merk: Dette er bare sensorene jeg personlig har brukt til prosjektet mitt. Dette betyr at det er mange flere alternativer der ute. Avhengig av sensoren kan du finne trinnvise instruksjoner om hvordan du kobler dem.

Trinn 3: Arduino -kode

Kopier og last opp denne koden til Arduino hvis du ønsker å bruke samme type sensorer som meg. Ellers kan du bruke din egen kode for sensorene dine. Det eneste globale viktige som kreves er at variablene du vil bruke i spillmotoren, skrives ut på den serielle skjermen eller kan leses på annen måte.

// Disse er satt i begynnelsen og endres ikke når programmet kjører. Som hvilken ANALOG I pinnen bruker.

const int potPin = A0; const int fsrAnalogPin = 5; const int photocellPin = 2; // Variabler: // LYSSENSOR: // Variabel lysmengde: int photocellReading; // POTENTIOMETER // Verdi av potensiometer int verdi; // TRYKKSENSOR // Dette er rådata -variabelen fra trykksensoren. int fsrReading; // Kartlagt versjon av variabelen fsrReading int press; void setup () {// legg oppsettskoden her for å kjøre en gang: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// TRYKKSENSOR // Her bruker vi den angitte fsrAnalogPin for å lese data fra den pinnen. fsrReading = analogRead (fsrAnalogPin); // Kartverdi 0-1023 til 0-255. trykk = kart (fsrReading, 0, 1023, 0, 255); // Kontroller om trykket er under eller over en viss mengde ved å skrive ut en av de to. Denne trykte variabelen brukes senere i spillmotoren. if (trykk 70) {Serial.print ("6"); } // POTENTIOMETER verdi = analogRead (potPin); // Les og lagre analog verdi fra potensiometerverdi = map (verdi, 0, 1023, 0, 360); // Kartverdi 0-1023 til 0-360 // Her deler vi 360 i seks forskjellige segmenter. // Du kan endre mengden segmenter til et høyere beløp. Hvert segment ville da ha et mindre område. For eksempel vil 8 segmenter ha et område på 45 hver. (360 /antall segmenter) // Hvis den nåværende verdien faller inn i et segment, skrives navnet på det segmentet ut. if (verdi 60 og verdi 120 og verdi 180 og verdi 240 og verdi 300 og verdi <375) Serial.print ("Six"); // LYSSENSOR // Her leser og setter vi igjen en variabel, i dette tilfellet photocellReading. photocellReading = analogRead (photocellPin); // Vi sjekker mengden lys, med mørk og veldig mørk utskrift, 3 og normal lysverdi utskrift 4. if (photocellReading <10) {Serial.println (" - 3"); } annet hvis (photocellReading <200) {Serial.println (" - 3 -"); } annet hvis (photocellReading <500) {Serial.println (" - 4 -"); } // Tallene i serien: // Det første tallet er trykksensoren, 5 trykkes ikke og 6 trykkes. // Etter det er hvilket segment potensiometeret er på. // Og det siste tallet er enten en 3 = mørk eller 4 = lys.

Trinn 4: I spillmotoren: Klikk på Team 2.5

Finn Serial Object i Extension Manager og installer dette.

Legg det serielle objektet, en teller og en streng inn i rammen. (Høyreklikk i rammen - sett inn objekt)

I hendelsesredigereren oppretter du en hendelse: Hvis data venter: Sett endringsbar streng til GetData ("Serial Object")

Dette vil sette strengen til alle data som sendes av Arduino, strengen skal nå se ut som Serial Monitor.

Lag en ny hendelse Alltid: Sett teller til: Finn (streng $ ("String"), "4", 0)

Dette eksemplet vil prøve å finne de 4 som er lik lys som kan sees i Arduino -koden.

Hvis den finner 4 vil den sette telleren til 4, hvis den ikke finner 4 vil telleren være -1.

Nå kan du legge til en ny hendelse for å gjøre noe med dette resultatet:

Hvis teller = -1: Her kan du sette det som skal skje hvis det er falskt, som å ha en animasjon av en lampe slukket.

Hvis teller = -1: Dette betyr at den har funnet variabelen og telleren er satt til hva variabelen måtte være (så lenge den ikke er -1), her kan du gjøre det slik at lampeanimasjonen går over til å være på.

I utgangspunktet ved å bruke tellere som er satt til enten -1 som er usant eller -1 som er sant, kan du få hendelser til å skje.

Anbefalt: