Taula de continguts:

Controlador de videojocs Arduino: 4 passos
Controlador de videojocs Arduino: 4 passos

Vídeo: Controlador de videojocs Arduino: 4 passos

Vídeo: Controlador de videojocs Arduino: 4 passos
Vídeo: Factory programming PS4 controller hall effect joystick #ps4controller #halleffect #drift #robotics 2024, De novembre
Anonim
Controlador de videojocs Arduino
Controlador de videojocs Arduino

Tens un kit Arduino instal·lat, però no tens idea de què fer-ne? Potser no, però en aquest instructiu us mostraré pas a pas com construir, codificar i integrar Arduino al vostre projecte. De moment, aquesta guia només es prova amb Clickteam Fusion Developer 2.5, però els passos de compilació i codi Arduino es poden utilitzar universalment. Aquesta guia pot actualitzar-se per a Unreal i Unity en el futur.

Pas 1: llista de la compra

  • Arduino Uno o similar
  • Cable USB
  • (400 punts) Tauler de pa o 1 x tauler de perf / strip
  • Cables compatibles amb Arduino.
  • Diversos sensors. He utilitzat el següent al meu exemple de projecte:
  • Potenciómetre de 10 K amb muntatge en panell
  • Fotoresistor
  • Resistència sensible a la força

Pas 2: connexions

Connexions
Connexions

Nota: Aquests són només els sensors que he utilitzat personalment per al meu projecte. Això significa que hi ha moltes més opcions. Les instruccions pas a pas sobre com connectar-les es poden trobar a diversos llocs en funció del sensor.

Pas 3: Codi Arduino

Copieu i pengeu aquest codi al vostre Arduino si voleu utilitzar el mateix tipus de sensors que jo. En cas contrari, podeu utilitzar el vostre propi codi per als vostres sensors. L’únic que cal fer a nivell mundial és que les variables que voleu utilitzar al vostre motor de joc s’imprimeixin al monitor sèrie o es puguin llegir d’una altra manera.

// Es defineixen al principi i no es canvien quan s’executa el programa. Com el que fa servir ANALOG IN IN el pin.

const int potPin = A0; const int fsrAnalogPin = 5; const int fotocèl·lulaPin = 2; // Variables: // SENSOR DE LLUM: // Variable de quantitat de llum: int fotocel·lulaLectura; // POTENTIOMETER // Valor del valor int del Potenciómetre; // SENSOR DE PRESSIÓ // Aquesta és la variable de dades brutes del sensor de pressió. int fsrLectura; // Versió assignada de la variable fsrReading int pressure; void setup () {// poseu aquí el vostre codi de configuració per executar-lo una vegada: pinMode (potPin, INPUT); Serial.begin (9600); } void loop () {// SENSOR DE PRESSIÓ // Aquí fem servir el fsrAnalogPin especificat per llegir les dades d’aquest pin. fsrReading = analogRead (fsrAnalogPin); // Valor del mapa del 0-1023 al 0-255. pressió = mapa (fsrReading, 0, 1023, 0, 255); // Comproveu si la pressió és inferior o superior a una quantitat determinada imprimint un dels dos. Aquesta variable impresa s'utilitzarà més endavant al motor del joc. if (pressió 70) {Serial.print ("6"); } // valor POTENTIOMETER = analogRead (potPin); // Llegiu i deseu el valor analògic del valor del potenciòmetre = mapa (valor, 0, 1023, 0, 360); // Valor del mapa del 0-1023 al 0-360 // Aquí dividim el 360 en sis segments diferents. // Podeu canviar la quantitat de segments a una quantitat superior. Aleshores, cada segment tindria un abast més petit. Per exemple, 8 segments tindrien un interval de 45 cadascun. (360 / quantitat de segments) // Si el valor actual cau en un segment, s'imprimirà el nom d'aquest segment. if (valor 60 i valor 120 i valor 180 i valor 240 i valor 300 i valor <375) Serial.print ("Sis"); // SENSOR DE LLUM // Aquí tornem a llegir i establir una variable, en aquest cas fotocel·lulaReading. photocellReading = analogRead (fotocel·lularPin); // Comprovem la quantitat de llum, amb una impressió fosca i molt fosca amb una impressió de 3 i valors de llum normals 4. if (fotocel·lulaReading <10) {Serial.println ("- 3"); } else if (fotocel·lulaReading <200) {Serial.println ("- 3 -"); } else if (fotocel·lulaReading <500) {Serial.println ("- 4 -"); } // Els números de la sèrie: // El primer número és el sensor de pressió, 5 no es prem i 6 es prem. // Després d'això és quin segment es troba actualment el potenciòmetre. // I l’últim número és un 3 = fosc o un 4 = clar.

Pas 4: al motor del joc: feu clic a Equip 2.5

Al Gestor d'extensions, cerqueu Serial Object i instal·leu-lo.

Col·loqueu l'objecte de sèrie, un comptador i una cadena al marc. (Feu clic amb el botó dret al marc: inseriu l'objecte)

A l'Editor d'esdeveniments, creeu un esdeveniment: si les dades estan esperant: definiu la cadena modificable a GetData ("Objecte de sèrie")

Això configurarà la cadena a qualsevol dada que estigui enviant l'Arduino; ara la cadena hauria de tenir un aspecte similar al monitor sèrie.

Crea un altre esdeveniment Sempre: defineix el comptador a: Cerca (cadena $ ("Cadena"), "4", 0)

Aquest exemple intentarà trobar el 4 que és igual a la llum, tal com es pot veure al codi Arduino.

Si troba el 4, posarà el comptador a 4, si no troba el 4, el comptador serà -1.

Ara podeu afegir un esdeveniment nou per fer alguna cosa amb aquest resultat:

Si el comptador = -1: aquí podeu posar el que hauria de passar si és fals, com si tingués una Animació d'una làmpada apagada.

Si comptador = -1: vol dir que ha trobat la variable i que el comptador s'ha definit a qualsevol que sigui aquesta variable (sempre que no sigui -1), aquí podríeu fer-ho perquè l'animació de la làmpada canviï a estar encesa.

Bàsicament, utilitzant comptadors que es defineixen a -1, que és fals o a -1, que és cert, es poden fer esdeveniments.

Recomanat: