This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com).
This is the Mr. Meeseeks Box as seen on Rick and Morty, the animated series on Adult Swim. When the button is pressed, a Mr. Meeseeks is summoned to complete a single task. Once the Mr. Meeseeks completes this task, it will disappear. These tasks must be simple because the for the Mr. Meeseeks, prolonged existence is painful. In this instructable, you will learn how to make the Mr. Meeseeks box.
Step 1: Printing
Using the files in the ZIP folder above, print all STL components. Included are pictures of the SolidWorks Model as well as the assembly file with all components included to help determine which components go where.
Step 2: Circuit
First, we will connect the ground pin on the Arduino to the negative power bar on the breadboard, then then connect both of the negative power bars to each other.
Second, we go from pin 2 to the button using a male to male connector, and then to ground with another male to male connector.
Next, a male to male connector will be wrapped around one end of a resistor, who's other end will be wrapped around the input terminal to the LED light, who's other end will be wrapped around another male to male connector which will be connected to ground. This is repeated using pins 3-5 and the 3 blue LED lights.
(NOTE: The next step includes parts not shown in the diagram, please read carefully)
Next, we will connect the stepper motor connection board to the Arduino using pins 8-11. we will use a male to male and a female to female connector to connect the positive power terminal on tho stepper motor connection board to the 5V on the Arduino board and the negative ground terminal on the stepper motor connection board to one of of the negative power bars on the breadboard. Finally, we will connect the stepper motor to the stepper motor connection board.
Finally, we will connect the 9V battery to the Arduino power adapter and plug it into the Arduino.
Now we can load the code onto the Arduino and verify that everything is functional. See "Part 4: Arduino Sketch" for the functionality of the code.
Step 3: Arduino Sketch
In the Arduino sketch, we will be dealing with 3 LED lights, a digital button, and the stepper motor.
The first part of the code sets up all preliminary variables and includes the necessary libraries. First, we define the LED lights as pins 3-5, the button as pin 2, and the stepper motor pins as 8-11. We then define important variables for the stepper motor such as StepsPerRev and RPM. We then include the StepperAK.h library to optimize use of the stepper motor. Finally, we define variables that deal directly with the code functionality, such as counters and category variables.
The second part of the code it the set up, where we initialize the pins and counter variables. First we define the LED pins as OUTPUTS and set them to LOW (off). Then we define the button as an INPUT and set it to HIGH (unpressed). We then use a for loop to set up the stepper motor pins as OUTPUTS and set them to LOW (off). Finally, we set up our counter to its maximum value for use later in the code.
The last part of the code is the loop where all of the code functionality is written. The methodology here is that when the button is pressed, a category counter will be initialized that tells which section of the code to run, and is progressively moved as the code runs. The first conditional loop will set the category to 1 when the button is presed. The second conditional loop activated when the category is 1 and tells the lights to turn on and the motor to run forwards until the counter is depleted. Once the counter is depleted, the loop increases the category to 2, which stops this loop from running any further, and resets the counter. The next conditional loop activates when the category is 2, and reverses the direction of the motor until the counter is depleted again, where the code will then change the category to 3, which also stops this section of the code. the final conditional loop is activated when the category is 3, and it turns all of the LED lights off, resets the counter, and also resets the category back to 0, which will activate no sections of the code. The process is repeated only when the button is pressed again.
Step 4: Construction
For construction, you will need to following materials:
- All 3-D printed parts (refer to Step 1: Printing)
- 1x Arduino Uno Board
- 1x Breadboard
- 11x Male to male connectors (misc sizes)
- 2x Female to female connectors (misc sizes)
- 3x blue LED lights
- 3x 20 kohm resistors
- 1x Digital button
- 1x Stepper motor
- 1x Stepper motor connector board
- 1x 9V battery adapter for Arduino
- 1x 9V battery
- Duct tape
- Super glue
The first step to construction to to make sure that the cover plate and the button fit nicely into their specific locations. If they do not, you must sand them down until they do. The button is a very loose fit, while the cover plate should slide in and out easily but also stay in without any help. Once the fits are nice, we will place the motor. Using a 100mm x 100mm piece of cardboard, we will center the stepper motor on the cardboard and cut out a trace of the motor where it can slide into the cardboard. We then use duct tape on the facedown side of the cardboard to secure the motor into place. Once the motor is secured to the cardboard, we can attach the rotator print to the motor shaft and center the Mr. Meeseeks print on top of it, securing it with super glue applied to the base. Now we can place the cardboard into the 4 sided section of the box so that the Mr. Meeseeks is facing out of the open section of the box.
Next, we will use duct tape to secure the breadboard with everything attach the breadboard to the underside of the print of the top of the box so that the button is centered with the circle in the top. You will need to bend the wires once they are secured into the breadboard to that we have as much clearance in the interior of the box as we can get. Once this is done, we will use the duct tape to created a double sided layer to lay between the digital button and the button print. Make sure that the printed button is centered with the larger hole in the top plate. Check to see that when the button is pressed, you hear the click of the digital button activating.
Now that we have the 4 sided section of the box and the top of the box completed, we will attach them using thin double-sided strips of duct tape on the chamfered edge of the top plate. Press them lightly together so you cannot see the duct tape between the cracks. Now we will tape the arduino to the inside back surface of the box and make sure everything is connected. Neatly tape the led lights and any loose chords to the inside surface of the box so that there are no freely hanging wires. Once everything is hooked up, connect the 9V battery and run the code. If everything is operating properly, you can tape the missing side of the box on using tape in the same way that we attached the top. Test that everything is still working properly, and then you're done!
Note: Refer to the pictures and files from "Step 1: Printing" to clarify where all parts go with respect to each other.
Note: Refer to "Step 2: Circuit" for instructions on setting up your circuit.