WeeNS

74

4

WeeNS is a controller that tracks your movement and makes the game follow the directions you are giving to him. In this case we are doing it with a Frogger we made in Processing.

Step 1: Materials

- (x1) Arduino Nano

- (x1) Accelerometer

- (x1) Led

- (x1) Resistance

- Jumper wires

Step 2: Arduino to Processing

So that the result of our movement is shown on the screen or the game first we need to connect arduino with procesing and we will print the movement that we make with the function of println () as shown below:

#include
#include MMA8452Q accel;

const int ledPin = 5;

void setup(){

Serial.begin(9600);

Serial.println("MMA8452Q Test Code!");

accel.init();

pinMode(ledPin, OUTPUT);

}

void loop(){

digitalWrite(ledPin, HIGH);

if (accel.available()){

accel.read();

printOrientation();

Serial.println();

}

}

void printOrientation(){

byte pl = accel.readPL();

switch (pl){

case PORTRAIT_U:

Serial.print("s");

delay(250);

break;

case PORTRAIT_D:

Serial.print("w");

delay(250);

break;

case LANDSCAPE_R:

Serial.print("a");

delay(250);

break;

case LANDSCAPE_L:

Serial.print("d");

delay(250);

break;

case LOCKOUT:

Serial.print("Flat");

delay(250);

break;

}

}

Step 3: Controlls

In order to move the pj in the game what we will do is tell it to interpret the println () that we are sending from arduino to processing as if we were pressing the keys of the game.

You can do this with every game you want, but remember that the accelerometer needs to be calibrated in order to have the correct information sended, if you want to go forward we recommend you to first look in which direction you places your accelerometer.

void draw()
{

//Arduino Link

if ( myPort.available() > 0){

println(val);

val = myPort.readStringUntil('\n');

if (val!=null) {

if (val.substring(0,1).equals("w")){

Frogger.Y -= 80; //print it out in the console

}

else if (val.substring(0,1).equals("s")){

Frogger.Y += 80; //print it out in the console

}

else if (val.substring(0,1).equals("a")){

Frogger.X -= 80; //print it out in the console

}

else if (val.substring(0,1).equals("d")){

Frogger.X += 80; //print it out in the console

}

Step 4: Controller

We recommend that you use a box that you have at home or anything you can use to move the command of the game with ease, in our case we printed the case of a console controller similar to the command of NES.

Step 5: Enjoy !

Share

    Recommendations

    • Tape Contest

      Tape Contest
    • Pocket Sized Contest

      Pocket Sized Contest
    • Leather Challenge

      Leather Challenge

    4 Discussions

    0
    None
    mimiv30

    Question 2 months ago on Step 2

    Hola! el primer codi és d'arduino i el segon de processing? i s'enganxen tal cual?, esque no ho veig clar i m'agradaria saber com funciona perque no me'n surto!

    2 answers
    0
    None
    Joan6mimiv30

    Answer 2 months ago

    El primer codi es arduino, suposo que depèn de quin acceleròmetre facis
    servir, no recordo quin model exacte teniem nodsaltres, si realment ho necessites fesm-ho saber hi ho mirare. Per les llibreries de l’acceleròmetre les vam buscar per la marca del mateix accelerometre i a la mateixa pagina web dels fabricants sortia.

    El segon es Processing, el joc en si el vaig fer jo i el que
    hi ha aquí es l'explicació de com fem que es mogui la granota, nomes la part de
    codi dels comandaments que vam crear, això depèn de com hagis programat tu el
    teu joc, nosaltres vàrem fer una quadricula, així que per cada ordre que rebia
    la granota, es movia una casella.

    El que fem es que arduino amb l’acceleròmetre actuï com si
    fos un teclat, si es mou cap endavant, que marqui la lletra w, costats a i d i
    enrere la s. El Processing ho interpreta com si fossin tecles normals, així que
    es com si literalment juguessis des de l'ordinador mateix.



    Si enganxes el codi així tal qual, nomes et funcionaria la
    part del arduino ja que et manca el codi del joc, si necessites ajuda avisa i
    intento fer-hi un cop d'ull per ajustar el codi al que necessitis.

    Salutacions

    0
    None
    mimiv30Joan6

    Reply 2 months ago

    Perfectee!! M'has resolt molts dubtes i crec que així ja ho podré fer tot. Qualsevol cosa et comento. Moltes gràcies!!