Intro: Electric Labyrinth: a DIY Arcade Game
Marble mazes (or labyrinths) provide a fun challenge. Their many twists and pitfalls test the player's speed, control, and accuracy. By the end of this instructable you will have constructed a labyrinth that would have impressed Daedalus, the famous Greek inventor. To enhance the game play, I decided to use an Arduino (because everything is better with an Arduino in it). I was inspired to create my electric labyrinth after viewing Tomatoskin's awesome instructable. Here is the link to the original: https://www.instructables.com/id/Labyrinth-From-a-S... Although Tomatoskin builds his labyrinth with a single 2x4, I decided to use several different materials. Also, I thought that it was about time that the old fashioned labyrinth had some upgrades. By adding an Arduino, 555 timer IC, LEDs, and a buzzer I was able to transform the labyrinth experience.
My labyrinth is activated when the player pulls down on the lever to the left. This action pulls the ball to the beginning of the maze and communicates to the Arduino that the program must be run. Quickly, the Arduino switches on the yellow and purple lights which line the perimeter of the labyrinth. Because the LED bulbs are wired in a circuit with a 555 timer, they flash in an alternating pattern. That is, they flash yellow, purple, yellow, purple, etc. Simultaneously, the Arduino activates a passive piezo buzzer which plays an ominous and mysterious tune. If the player successfully navigates the perilous maze, they are rewarded with a victory tune. However, if they fall into a hole, the buzzer plays a song of defeat, and LEDs under the maze flash red. Also, the eyes of the Minotaurs on the front of the game glow an icy red. I included a video of the Labyrinth in action below.
Here is the Video:
Step 1: Gathering the Materials
Here is a full list of the materials used when creating the labyrinth. As with any project, it is recommended you make sure you have access the following before you start building:
- An Arduino Uno
- An updated version of the Arduino IDE
- LEDs (I used a combination of 6mm and 3mm bulbs)
- A passive piezo buzzer
- 22 or 20 gauge wire (solid core preferably)
- A breadboard for prototyping (optional)
- Perforated board
- Electrical Tape
- Zip Ties
- A 1x4" piece of pine
- Three 1/2"x2" pieces of wood
- A thin piece of plywood (mine was 3/8" thick)
- Wood screws (I used 1" screws)
- Machine screws (I used 3/4" and 2" screws)
- A 3/16" metal rod
- Aluminum foil
- Some rubber tube (the opening should be 3/16" or smaller)
- Various drill bits
- A miter saw
- A jig saw
- Saw horses (optional)
- A drill
- A hot glue gun
- Glue sticks
- 14x Athenian hostages (Just kidding)
Step 2: Start With the Foundation
The electronics and mechanics of the Labyrinth are all contained within a wooden box. To build the box I used a piece of 1"x4" pine. The box can be any size, but I made mine 13"x13" to accommodate the maze size I desired. Use a miter saw to cut the board to the proper lengths. Once you have four pieces (two long [for the front and back] and two 1 1/2" shorter [for the left and right]) I recommend setting them side by side to confirm that the sizes will fit correctly together. After this, drill pilot holes for your screws. Pilot holes are essential because they keep the wood from splitting. Next screw all four pieces together. Finally, I recommend sanding off all the rough edges.
Step 3: Adding the Bottom
Once the main part of the box is completed, a bottom is needed. To do this, simply place the box on your thin plywood and trace around the outside with a pencil. After that is done, place the plywood on some sawhorses and use a jigsaw to cut along the lines. Finally, drill pilot holes and attach the plywood to the bottom with wood screws. Again, sanding is recommended for a flush edge.
Step 4: Fasten the Arduino
After the bottom is in place, it is time to add the heart of the project, the Arduino. Loosely place the Arduino in one corner of the box with the USB and power ports on the side. Grab a pencil and mark a spot for holes on the bottom of the box. These holes will be used to attach the Arduino to the box. Machine screws will be threaded through the bottom of the box and microcontroller. Next, grab a drill and make holes in the appropriate locations. After checking to make sure the circuit board fits correctly, remove the bottom and cut a hole to grant access to the USB and power sockets. Reattach the bottom and fasten the board in place with machine screws.
Step 5: Drill Holes for the LEDs
Next drill evenly spaced holes around the labyrinth. These holes will house the 3mm LEDs that line the game box. Use a tape measure and pencil to mark the location of each hole. Holes are not needed in the back of the game. Make sure that the Arduino is placed in the front of the game. A 3mm bit will drill a hole of the perfect size. Work your way around the outside of the box until all the holes are made.
Step 6: Prototype Your Electronics
Before continuing, it is crucial to prototype all the electronics. If electronics are "Greek to you" don't worry about it. Above I have attached the schematics in three separate screenshots. Because my first schematic was somewhat chaotic, I broke it up so that it is much easier to interpret. I recommend starting with the 555 timer circuit which controls the blinking LEDs along the outside of the game. I soldered all my components onto a piece of perforated board. Once the circuit is soldered together, use alligator clips to connect the circuit to the Arduino's power source. If this section works, move on to the buzzer and LEDs. The outputs will make use of digital pins 8, 9, 10. Make sure to adjust your resistors according to your LEDs' and buzzer's voltage. After the outputs are intact, move on to the inputs. 3 digital inputs are needed for this project. They are used to sense when the game has begun, lost, and won. Use pins 2, 3, and 4 to connect the circuits to the Arduino. Once all the electronics are connected, upload the code included below to test their functionality. This is the same program I used in my completed version.
Step 7: Add Some Paint
Everything looks better in color (just watch an old black and white movie and you'll know what I'm talking about), so whip out a can of spray paint. I chose yellow and purple for my color scheme, so I painted my maze yellow. set your box on a drop cloth and wear a mask. I used about four coats before I was satisfied with the color. If you decided to use multiple coats make sure you give sufficient time for the paint to set.
Step 8: Create a Slant to Giude the Marble
In order for the game to function properly, the marble must consistently come to rest in the same location after the game is ended. This is easily accomplished with ye ol' incline plane (if it ain't broke don't fix it). Simply cut a piece of plywood so that it rests at an angle within the game box. I personally had to make a few adjustments before I was satisfied. Next, cut a smaller rectangle out of the plywood. Afterwards, split the rectangle to create two right triangles. Use a small sliver of wood to prop up both of the triangles. This will funnel the ball into the center. Now the ball bearing will consistently end in the back center.
Step 9: Drill a Hole and Build the Fall Sensor
Next drill a hole in the back of the labyrinth so that the marble can exit upon completion of the game. To achieve this, simply slide the bottom into the game box and mark the space between the two triangles. Next, drill a hole in the marked location. Make sure the hole is drilled at a slight angle. This will ensure a smooth transition when the marble exits. After that step is completed, place the bottom back in and drop a marble to test that it exits correctly. If the marble is catching on a edge, use a file or sand paper to remedy the problem. Finally, you will need a way to monitor when the marble has fallen. To do this take balsa wood and cut it into these lengths: 1"x1/4"x1/16" (you will need two of these) and 1/2"x1/2"x3/4" (only one of these is required). Break out your hot glue gun and attach the pieces as shown in the picture above. Next thread a machine screw between the two pieces of wood (refer to the third picture above). Lastly, wrap a paper clip around the machine screw so that it hangs freely.
Step 10: Add Aluminum Foil to the Bottom Piece
What's the aluminum foil used for? Likely, you have been asking yourself this since first reading it in my materials list. Well wonder no more. The aluminum foil is used to create an electrical connection when the metal ball rolls on it. Coat the bottom piece with aluminum foil as shown above. I folded my foil so that it was thicker and more durable. Next, drill a hole from the bottom up into the tin foil. After this, run red wire through the bottom and attach it to the foil, so that it forms a solid electrical connection. Add hot glue to enforce the connection when necessary.
Step 11: Attach the Fall Sensor and 555 Timer Circuits
While your glue gun is still hot, quickly attach the fall sensor so that the paper clip dangles above the hole as shown in the picture above. A wire will be attached to the screw to form an electrical connection. Now, when the ball passes it will complete a circuit between the foil and paperclip. Similarly, glue down the the perforated board with the 555 timer circuit. This will not only secure the circuit, but it will also protect it from short circuiting.
Step 12: Add a Back to the Game Box
Next, we will construct the back of the game box. This piece of the build will house the starting handle. To create the back simply cut a piece of plywood and attach it to the back of the game box. Any size will do, so you can cut this to your own personal preference.
Step 13: Create the Starting Lever
To start the game the player pulls a lever. Therefore, it is essential to construct said handle (bet you didn't see that coming). To create the handle, grab a long thin piece of balsa wood (similar to the one in the picture above). Hollow out one end so that the marble can easily fit into it. This part will pull the marble to the beginning of the game when you pull on the starting lever. Use sand paper or a file to adjust the alcove until the marble sits correctly.
Step 14: Level the Game Box
If your game box is sitting unevenly this step will correct the issue. Simply place four pieces of balsa wood on all four corners of the box. Next, use sandpaper or a file to sand the four pieces of wood. Keep making adjustments until the maze doesn't rock.
Step 15: Add a Wire to the Lever
Next, cut a section red wire about 2' long. Strip the one end so that 2" of the copper wire is exposed. Hot glue gun the wire so the the exposed section of the wire is above the section of the lever that holds the marble.This wire will be used later to create an electrical signal to start the game.
Step 16: Transfer All the Electronics Into the Box
At this point, remove the bottom and include all of the electronics. Make sure that when you transfer the electronics from the breadboard that all the connections are in the right places. Place the LEDs and buzzer off to the side for now. I will tell you where to include these in the next steps
Step 17: Conceal the Lever
Before concealing the lever, cut an additional hole in the back. This will become the entrance hole When the lever is pulled up it will pull the ball from the exit hole and deposit it in the entrance hole (refer to the picture for a clearer representation). Next, cut a piece of plywood the same size as the back of the game box. Also, cut balsa wood spacers. Place the spacers on all four corners. Drill a hole through the two pieces of plywood and fasten them all together with a machine screw. Also, place a screw directly above the exit hole. This machine screw will be connected to ground. Therefor, when the starting lever is pushed down an electrical connection will be made between the screw and lever. Drill a hole in the back of the game box, so that both the ground wire and the wire on the lever can be connected to the main circuit.
Step 18: Add Some LEDs and Notches to the Bottom
Next, add some red LEDs to the bottom. These LEDs will glow eerily when the game is lost. First, drill two holes in the bottom. Next, hot glue two 6mm bulbs in the holes. Solder them together and connect them to the main circuit. After that, make two notches in the top of the bottom piece. These two notches will allow for wires to come up from below the bottom.
Step 19: Decorations and More LED
It is time that the ruthless resident of the labyrinth, the Minotaur, made an appearance. Pull out a pencil and sketch a picture of a Minotaur on both sides of the the game box. I created a template of my design, so that the graphic was identical on both sides. Next, drill out holes in the Minotaurs' eyes. Be sure to use a 3mm bit because a 3mm LED will be placed in this hole. Once the holes are drilled, use a black sharpie marker to fill in your outline. It may take several coats of permanent marker until it is a deep black. Finally, solder the eye LEDs into the main circuit.
Step 20: Add the Piezo Buzzer
Its time to add the sound to the labyrinth. First, make sure your buzzer is a passive buzzer. An active buzzer will not do for this project because it only has one pitch. Next, drill a hole large enough for the buzzer next to the Arduino. Use hot glue to fasten the buzzer in place. Lastly, solder the buzzer into the main circuit.
Step 21: Reposition the Bottom
Next, Place the bottom piece, which is now enhanced with LEDs, back into the main box. While slowly lowering the bottom back into place, make sure that you carefully pull the appropriate wires through the two notches. I zip tied the needed wires before hand to make them more manageable. Pull the following leads through the notches: the leads for the eye LEDs, the wires from the 555 circuit, the ground wire attached to the fall sensor, and the wires supplying power to the back of the labyrinth.
Step 22: Glue and Wire the Remaining LEDs
Finally, add the LEDs that will be used with the 555 timer circuit. Glue your 3mm LEDs into the holes surrounding the perimeter of the box. Make sure you glue them in your desired order. After that is complete, wire the LEDs into the main circuit. I recommend to start soldering in one corner and working your way around to the other corner. This method makes soldering much more organized. Make sure that the positive and negative wires don't touch because this will cause the LEDs not to function.
Step 23: Add the Handles
Next, it is time to add the handles that will control the tilt of the maze. Most any knob will work for this job. Luckily, I had two wooden knobs on hand. Also, grab your 3/16" metal rod. Start by cutting your rod to the correct size. Do this by setting the rod on top of your box. If the back of the pole is lined up with the back of the box mark the rod about 1/4" away from the front. Do this twice to obtain the two lengths of rod needed. After that part is completed, use hot glue to attach the wooden knobs to the end of the rod. Finally, grab a 3/16" wood drill bit. Drill a hole all the way through the center of the front. Next, dill a shallow divot over the fall sensor. Push the handle through the front of the box and into the divot in the back. To fasten the handle in place I threaded a washer over the metal rod and pushed it against the front. Next, I cut a small section of rubber tube. Slit the piece of rubber horizontally so that it will fit over the metal bar. Lastly, secure the washer and rubber in places with zip ties (use the above image to better understand this step). Repeat these steps for a second handle. The second handle must run perpendicular to the first.
Step 24: Assemble the Inner Frame
Next create the inner frame. The frame will control horizontal tilt. First, cut four lengths of wood so that they form a square (similar to the game box two separate sizes are needed [two short and two long]). The length of these pieces of wood will vary with the size of your maze. I cut mine so that there is 1/2" between my frame and the main box. use hot glue and staples to fasten the frame together. Once the frame is completed, drill a hole in the center of the frame on two opposite sides. Next, thread a machine screw through the hole.
Step 25: Construct the Maze
Once the inner frame is built, It is time to build the maze. If I had a laser cutter I could do this in a flash, but sadly I do not. However, the job still can be accomplished the old fashioned way. First, cut a piece of plywood so that it can freely rotate within the inner frame. When I cut my plywood, I again left a 1/2" gap between the maze and inner frame. I then lined the plywood with a frame similar to the one built in the previous step. I attached this frame to the piece of plywood with a generous dose of hot glue. Next, use a pencil to trace the outline of your maze. Drill holes in the center of the left and right sides of the maze. These holes will allow the maze to pivot vertically. Next, take a large drill bit and cut out all the holes you have marked. Next, use hot glue to fasten all the walls of your maze. Finally, spray paint the maze to give it a nice finished look.
Step 26: Add the Win Sensor
Similar to the other inputs in this project, the Arduino knows when the game is won via a digital signal. Lay aluminum foil down at the end of the maze. Drill a hole through the maze and attach the foil with a machine screw. Next add a copper wire hovering slightly above the foil. Attach the copper to 5v and the foil to ground. Now, when the metal ball bearing rolls into the finish it will complete a circuit.
Step 27: Spray Paint the Rest of the Game Box
Next spray paint the remainder of the Labyrinth. Make sure no wood is left uncovered. Spray the back, handle, and newly added feet.
Step 28: Add the Inner Frame and Maze to the Game Box
To add the inner frame to the game box, start by drilling two divots on the front and back that will line up with the machine screws. Loosen one of the the screws on the frame and slide the frame into place. Next, tighten the screw to fasten the frame. It is time to add some control to the project. Rap a piece of string around the 3/16" rod twice. Attach one end to one side of the inner frame and the other to a spring. The spring will keep the string tightly wound around the metal rod. Lastly, attach the spring to the opposite side of the frame. Attach the maze in the same manner.
Step 29: Add the Slide
Finally, it is time to add a chute to channel the metal ball to the beginning. This is simply created with balsa wood. Add a grove to a small piece of wood. Next, spray paint it yellow. Lastly, fasten it to the labyrinth with hot glue.
Step 30: Add Decorations
Finally, to finish the project grab a purple sharpie. Draw a line on the intended trail of your maze. Mark a number next to every hole so that players can determine their progression through the maze. I wrote "THE LABYRINTH" in the top left corner of mine. Also, I chose to color my handles purple as well.
Step 31: Finished at Last
At long last your labyrinth marble maze is ready to play. If you enjoyed this instructable please vote for me in one of the contests I'm entered in. I would greatly appreciate it. Also, if you have any questions or feedback let me know in the comments. Lastly, If you liked my instructable check out Tomatoskin's labyrinth. His labyrinth was the inspiration for this project. Here is the link to his project one last time:
Thank you for reading my instructable and happy making.