Introduction: Pokemon Center Machine
This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com). In lieu of some boring elective class, I went out on a limb and took this Make Course. I was promised 3D printing, Arduino skills, and an awesome final project. This class, in fact, did deliver on all three of those!
In the first few weeks of the class I had to design a project idea that was fun and creative, doable within the constraint of the class, 3D printed, and had one moving part. My idea for the Pokemon Center Machine came the same day I preordered Pokemon Moon for the 3DS. This was my Eureka moment!
In every Pokemon game, movie and show there have been Pokemon Centers, or cute little red and white buildings to treat exhausted and fainted Pokemon. Nurse Joy who runs the Pokemon Center collects your Pokemon and puts them into a Pokemon Center Machine which heals the Pokemon. This machine is typically rectangular or circular and makes some noise and flashes white and blue lights. My rendition of this machine is a square box with rotating middle section which is where the Pokemon would be distributed. When a button is pressed, the machine rotates and plays the Pokemon Center theme song as well as displaying all of Nurse Joys phrases.
Step 1: Materials and Files
Here are the materials I used throughout my project:
Programs:
Arduino
Inventor Studio 2017
3D Printer
Laser Cutter Machine
Tools:
Soldering System
Dremel
Screwdriver
DAP Contact Cement Glue
E6000 Crafting Glue
Supplies:
3D printed parts
Acrylic "glass"
Pokemon Balls for Decoration (mine were created with styrofoam balls and paints but these could be made with clay, carving, 3D printed parts, etc)
Electrical Tape
Electronics:
Arduino
Stepper Motor
Adafruit Soundboard Fx
Speaker
LCD display
Breadboard, buttons and wires
Files:
Attached are my .stl files for the 3D printed parts and the sketched used for the Arduino
Step 2: The Arduino Sketch
The video above can be used to follow along with either the sketch (under files in the material section) or with this description below:
The needed libraries for this sketch are the Wire, Liquid Crystal, and Stepper. The Software Serial and Adafruit are optional if you want to expand on this sketch using other functions of the Soundboard.
At the beginning of the sketch, I define the button, the speed and gear ratio of the stepper motor, and the LCD display address. This is followed by the void setup in which myDisplay.init is used to initialize the LCD and myDisplay.backlight is used to turn the backlight of the LCD on. The stepper speed is then set up and the button state is set up as well.
The void loop is organized by a while loop and then 6 sections that are fundamentally the same. The while loop states that while the button is HIGH or not pressed then the section within the parenthesis should happen. In this case, that would be nothing "while(digitalRead(buttonPin)==HIGH){}". However, when the button is LOW or pressed, then the rest of the sketch should continue to completion.
The six sections that makeup the rest of the sketch include the command to rotate the receptor using myStepper.step (stepsPerRevolution) and the myDisplay.setCursor (0,0) which starts the phrase on the first line of the LCD display followed by the command myDisplay.print ("Welcome to our") which is the phrase to be displayed on the first line. This is followed with myDisplay.setCursor (0,1) which starts the phrase on the second line of the LCD display and the command myDisplay.print ("Pokemon Center!") which is displayed on the second line. The last command is myDisplay.clear which resets the screen for the next bundle of code for the next rotation and phrase.
Step 3: Designing the Machine
I used Inventor to design my 3D printed parts for the Pokemon Center Machine. Many other programs could be used as long as they are able to be converted into .stl files for printing. I designed my machine using a total of 4 parts: The base, the receptor, the dome base, and the dome.
The base is a hollowed out box with a bridge in the middle that allows for the wires of the Arduino to be fed through while creating a section for the Stepper motor to rest on. The base is colored yellow in attached video.
The red receptor which is located inside of the base is where the Pokeballs would be distributed and healed as this part rotates around.
The green dome base is situated on top of the base and acts as a platform for the dome to rest on top of so it does not interfere with the rotating receptor.
The blue dome rests on the dome base and has a peep hole to look in on the receptor as it rotates. This hole is covered with laser cut acrylic later on in the project for a clear viewing space.
Step 4: The Arduino Circuit and Control Board
The Pokemon Center Machine control board can be divided into two sections: the Arduino and the Soundboard.
The Arduino :
The Arduino is attached to a a stepper motor, a button, and LCD display through the use of a breadboard, and it is powered by an external battery pack. The stepper motor rotates the receptor, the LCD display shows the common phrases of Nurse Joy, and the use of the button is what controls if the system is actively running or waiting.
The Soundboard:
The Adafruit Soundboard FX is attached to a speaker, the Arduino, and the button. The speaker plays the song that was uploaded, the Arduino is used merely as a power source, and the button is once again what controls if the system is actively running or waiting.
The circuit of the breadboard and Arduino is shown in the attached image. The Arduino has the stepper, LCD and button inputs through the pins available and the breadboard transfers the currents between the Arduino and those pieces (LCD and motor). The Adafruit soundboard is attached to the breadboard and draws power through the Arduino. The soundboard music is played through a speaker attached by an auxiliary cord and the Arduino is powered by a portable battery pack.
Step 5: Setting It All Up!
The Arduino, Adafruit and Breadboard system:
Download the provided sketch and upload it to your Arduino so that it will have the code needed to perform properly. Additionally, the Adafruit Soundboard FX needs to be setup. I only uploaded the music file to the Soundboard since the board is already programmed up to 10 triggers or buttons. I used the basic settings but more advanced settings can be found here: https://learn.adafruit.com/adafruit-audio-fx-sound-board/overview
The Arduino, Adafruit and Breadboard were placed inside a provided box that was required for this class project which keeps the electronics safe and secure. If desired, a 3D printed box could be created for more diversity in shape and sharper lines in the cut sections. By using a dremel, I created a viewing spot for the LCD screen, a hole for the button, and a section for the auxiliary cord and the USB cord.
The 3D printed parts were assembled as follows:
Base, Stepper Motor, Receptor, Dome Base, and then the Dome.
The Stepper was drilled and secured to the bridge on the base and the Receptor had a hole drilled in to to fit the Stepper piston. Make sure to check that the receptor can rotate smoothly before drilling in the Stepper. If not, adjust the position until it can. The Dome Base is glued to the Base and then the Dome is glued to the Dome Base. The acrylic viewing window was cut using a laser cutting machine to ensure a perfect fit. If that is not available, a dremel would work just as well.
Decoration:
Any decoration can be used on your Pokemon Center Machine. I created mini pokeballs to decorate the outside of the base. Other ideas could include creating balls to go inside of the machine, painting the base, or attaching small pokemon figurines. Just have fun!