Sommario:

Controller per videogiochi Arduino: 4 passaggi
Controller per videogiochi Arduino: 4 passaggi

Video: Controller per videogiochi Arduino: 4 passaggi

Video: Controller per videogiochi Arduino: 4 passaggi
Video: Servo Motors with N64 Controller and Arduino 2024, Dicembre
Anonim
Controller per videogiochi Arduino
Controller per videogiochi Arduino

Hai un kit Arduino in giro ma non hai idea di cosa farne? Forse no, ma in questo Instructable ti mostrerò passo dopo passo come costruire, codificare e integrare Arduino nel tuo progetto. Al momento questa guida è testata solo con Clickteam Fusion Developer 2.5 ma i passaggi del codice di build e Arduino possono essere utilizzati universalmente. Questa guida potrebbe essere aggiornata per Unreal e Unity in futuro.

Passaggio 1: lista della spesa

  • Arduino Uno o simili
  • Cavo USB
  • (400 punti) tagliere o 1 x perf/strip board
  • Cavi compatibili con Arduino.
  • Vari sensori. Ho usato quanto segue nel mio progetto di esempio:
  • Potenziometro da pannello 10K compatibile con breadboard
  • Fotoresistenza
  • Resistenza sensibile alla forza

Passaggio 2: connessioni

Connessioni
Connessioni

Nota: questi sono solo i sensori che ho utilizzato personalmente per il mio progetto. Ciò significa che ci sono molte più opzioni là fuori. Le istruzioni passo passo su come cablarli possono essere trovate su vari siti a seconda del sensore.

Passaggio 3: codice Arduino

Copia e carica questo codice sul tuo Arduino se desideri utilizzare il mio stesso tipo di sensori. Altrimenti puoi usare il tuo codice per i tuoi sensori. L'unica cosa importante a livello globale che è richiesta è che le variabili che vuoi usare nel tuo motore di gioco vengano stampate sul monitor seriale o possano essere lette in qualche altro modo.

//Questi vengono impostati all'inizio e non vengono modificati quando il programma è in esecuzione. Come quale ANALOG IN utilizza il pin.

const int potPin = A0; const int fsrAnalogPin = 5; const int Pin fotocellula = 2; //Variabili: //LIGHT SENSOR: //Variabile quantità luce: int photocellReading; //POTENZIOMETRO //Valore del Potenziometro int value; //SENSORE DI PRESSIONE //Questa è la variabile dei dati grezzi dal sensore di pressione. int fsrLettura; //Versione mappata della variabile fsrReading int pressure; void setup() { // inserisci qui il tuo codice di configurazione, da eseguire una volta: pinMode(potPin, INPUT); Serial.begin(9600); } void loop() { // PRESSURE SENSOR // Qui usiamo il fsrAnalogPin specificato per leggere i dati da quel pin. fsrReading = analogRead(fsrAnalogPin); //Mappa il valore da 0-1023 a 0-255. pressione = map(fsrReading, 0, 1023, 0, 255); //Controlla se la pressione è inferiore o superiore a una certa quantità stampando una delle due. Questa variabile stampata viene utilizzata successivamente nel motore di gioco. if (pressione 70) { Serial.print("6"); } // POTENZIOMETRO value = analogRead(potPin); //Leggi e salva il valore analogico dal potenziometro value = map(value, 0, 1023, 0, 360); //Mappa il valore da 0-1023 a 0-360 //Qui dividiamo il 360 in sei diversi segmenti. //Puoi modificare la quantità di segmenti in una quantità maggiore. Ogni segmento avrebbe quindi un intervallo più piccolo. Ad esempio, 8 segmenti avrebbero un intervallo di 45 ciascuno. (360 / quantità di segmenti) //Se il valore corrente cade in un segmento, stamperà il nome di quel segmento. if (valore 60 e valore 120 e valore 180 e valore 240 e valore 300 e valore < 375) Serial.print("Sei"); // LIGHT SENSOR //Qui leggiamo e impostiamo ancora una variabile, in questo caso photocellReading. photocellReading = analogRead(photocellPin); //Controlliamo la quantità di luce, con stampa scura e molto scura una stampa 3 e valori di luce normale 4. if (photocellReading < 10) { Serial.println(" - 3"); } else if (lettura fotocellula < 200) { Serial.println(" - 3 -"); } else if (lettura fotocellula < 500) { Serial.println(" - 4 -"); } //I numeri nel Serial: //Il primo numero è il sensore di pressione, 5 non viene premuto e 6 viene premuto. //Dopo questo è il segmento in cui si trova attualmente il potenziometro. //E l'ultimo numero è 3 = scuro o 4 = chiaro.

Passaggio 4: nel motore di gioco: fai clic su Team 2.5

In Extension Manager trova Serial Object e installalo.

Posiziona l'oggetto seriale, un contatore e una stringa nella cornice. (Fare clic con il tasto destro nel riquadro - inserire oggetto)

Nell'editor degli eventi creare un evento: Se i dati sono in attesa: impostare la stringa alterabile su GetData ("Oggetto seriale")

Questo imposterà la stringa su qualsiasi dato inviato da Arduino, la stringa dovrebbe ora essere simile al monitor seriale.

Crea un altro evento Sempre: imposta il contatore su: Find(string$("String"), "4", 0)

Questo esempio proverà a trovare il 4 che è uguale alla luce come si può vedere nel codice Arduino.

Se trova il 4 imposterà il contatore a 4, se non trova il 4 il contatore sarà -1.

Ora puoi aggiungere un nuovo evento per fare qualcosa con questo risultato:

If counter = -1: qui puoi mettere cosa dovrebbe succedere se è falso, come avere un'animazione di una lampada spenta.

Se contatore = -1: questo significa che ha trovato la variabile e il contatore è stato impostato su qualunque cosa possa essere quella variabile (a patto che non sia -1), qui puoi fare in modo che l'animazione della lampada si accenda.

Fondamentalmente, usando contatori impostati su -1 che è falso o -1 che è vero, puoi far accadere gli eventi.

Consigliato: