Introduction: Cooperative Arduino Game

In this instructable we will explain how we designed and built the cooperation game ‘FUN’.

We used an Arduino Uno and a NeoPixel LED strip, among other things.

Play the video for a demonstration of FUN.

Step 1: What Do We Need?

Requirements:

- Arduino

- Wires + solder material

- 3 buttons

- 1 POT-meter

- 1 LDR

- A multicolored led-strip (in this instructable we used a strip with 30 leds)

- Breadboard (Only for testing the code or parts)

- Wood (30x50cm)

- Laser cutter (optional, if not available a normal saw will also do the job)

- Laptop + arduino software

- Wood glue

- Sandpaper

- Plexiglass (20x5cm)

NOTE: We used a NeoPixel RGB 30 LEDs strip. The code has been written with the Fastled library. Be sure your LED strip works with the Fastled library like ours, otherwise you need to modify the code to work with your led strip.

Step 2: Soldering the Parts -- Part 1

Now that we have everything, we can start soldering the wires to the parts.

Buttons:
We start with the buttons.
We need three buttons, two for the game itself and one will be our reset button.
These three can be soldered the same way.
Because we only have 3 ground pins, we will combine the three ground wires from the buttons into one.

Start with soldering two wires to the legs of one of the buttons.
We need to be careful to which leg we solder them.
An easy reminder for this could be to always solder in a diagonal pattern.
So solder the first wire for example on the left top leg and after that solder the second wire on the right bottom leg.
Then the button will always be soldered correctly.

Do this for all the three buttons.

Connecting the Ground WIres:

When all the buttons have two wires soldered on them we can connect the ground wires together.
First put some solder on all three of them. Then decide which one will be the middle wire. The middle wire will be the one we put into the ground pin of the Arduino.
Make sure the middle wire will connect properly into the Arduino pin. After that solder the other two wires to the middle one, so that it still fits into the Arduino.

Step 3: Soldering the Parts -- Part 2

Pot Meter:

Now we do the Pot Meter. This has three pins we need to solder wires to. Go ahead and do this.

Then simply put some solder on the other ends of the wire so we can stick them in the Arduino's pins.

See the schematic for the pin number. The pin in the middle is the data pin.

Step 4: Soldering the Parts -- Part 3

LDR:
This one is very simple. Like before, just solder wires to the pins.

After that connect the wires like shown on the schematic.

Step 5: Soldering the Parts -- Part 4

NeoPixel:

Last but not least, we need to solder the NeoPixel (30 leds) LED strip.
It's very like the Pot Meter. It has three pins with the middle one being the data pin.
But with this LED strip it is noted which pin is the 5V+ and which is the GND(Ground) pin.
After that just look at the schematic for the correct pins on the Arduino.

Step 6: Uploading the Code

Now that everything is put together we can test it with the code.

Code:
Download the attached .ino file and open it with the Arduino IDE.
Set the correct port for your Arduino if you haven't done that yet.
Then upload the code and try the game by pressing the buttons. After some seconds the lights should come on.

Step 7: Making the Box

Laser Cutting:

Now that we have everything ready we can start with building the box. We downloaded a laser cutter file from the website "makercase.com". On this website you can design your own box and download a html file. Then you can import this file in Adobe Illustrator to convert it to a .dfx file, which works with the laser cutter. In Adobe Illustrator you can also finetune everything you’ve added into your file using the website. Once everything is all done you can laser cut this file onto a wooden plate of 30x50cm. Once this is all done you have a puzzle that you can glue together, and the box is made. If it doesn’t fit well you can use sandpaper to make it fit. If you don’t have access to a laser cutter you can use a normal saw, but this won’t fit as precisely. In this case you will need sandpaper to make it fit perfectly. Don’t forget to leave at least one side of the cube unglued, to be able to put the arduino and controllers into the box.

Step 8: Assembly

As we have everything we need, we can start assembling the box.
It's not that hard, as long as you did a good job soldering.

The walls:
There are multiple ways you can assemble it, but what we did was first glueing two side of the box and put them against the bottom. This way we knew for sure they were glued perfectly and would always fit. Then we did the other two walls of the box and also put it against the bottom. After letting it dry for about an hour we decided to clue the two pieces together. Also glue the bottom to it.
We let this dry overnight, but 2 or 3 hours could also be enough to continue the process.

The Parts:
When the glue is dry, we can start putting the parts in. Just be sure the wires aren't all tangled up. Fit all the parts in the desired holes, except the reset button on the top. We secured everything with tape and afterwards we also used some hard plastic glue to secure the buttons and pot meter. If you don't do this, the buttons will not be able to be pressed.

LED Strip:
The last part we should tape in place is the LED strip. Make sure it fits nicely inside. We used sandblasted plexiglas for the viewer window. Otherwise the LEDs were to bright for the eyes. Just glue it in place.

Reset button:
When finished, make sure you don't forget to glue the reset button on the top plate and let the whole unit dry for some hours. The best thing is to let it dry overnight for the glue to really harden. The top plate should not be glued, this is the door to access the guts inside when needed (like charging the batteries).

After that your game box is finished an you can test it out!

Step 9: Conclusion

Finished!

This is how you make an Arduino game where you intensively cooperate with friends! In this instructable we haven’t paid attention to how you explain to the players how they need to play the game in a simple way. We’ve added text to the box which explains the goal of the game, it’s the most direct way to explain it to the players. You could also add a little ‘story’ to the design, for example a bomb that has to be prevented from going off or a battery that has to be charged.

Feel free to change the code for your desire and try out new things with this setup.

Have fun!

Team FUN

Microcontroller Contest

Participated in the
Microcontroller Contest