“Hello. I am Baymax, your personal healthcare companion.” - Baymax
At my local pediatrician's office, they have adopted an interesting strategy in an attempt to make the medical environment less stressful and more fun for kids. They have filled the entire office with movie posters and movie standees. The most popular display is a life sized inflatable Baymax from the movie Big Hero 6. Baymax is a perfect fit for a doctor's office because in the movie Baymax is both a lovable non-threatening nurse robot and a super hero. I thought that this was awesome. The only thing that could make it better is if Baymax could talk to the kids. I mentioned this to the pediatrician and he loved the idea. So we set out to make Baymax talk. Here is how I did it.
Step 1: Materials
Here are the materials and tools that you will need to complete this project.
Insulated Project Enclosure
Large Button (normally open momentary)
Header Pin Connector Wires (or other jumper wires)
Resistor (1 kohm or larger)
Power Supply (7V to 12V with a DC barrel connector)
Micro SD Card
External Powered Speakers
Heat Shrink Tubing
10 feet of wire
Soldering Iron and Solder
Step 2: Assemble the Music Maker Shield (if Necessary)
If you have purchased your shield pre-assembled, skip this step. If your kit is disassembled had over to the Adafruit website where they have a very detailed tutorial on how to put it together.
Step 3: Connect the Button
Next you need to connect the button. The button needs to be a normally-open momentary switch. That means that the switch has the terminals connected only while the button is being pressed. Connect one wire to each terminal on the switch.
Then on the other end of the wire, solder one wire to 5V pin hold on the shield. Before you can connect the second wire, you need to attach the resistor. Solder one end of the resistor to the GND hole and solder the other end of the resistor to pin hole 2. Once the resistor is in place, solder the second wire to the end of the resistor that is connected to pin 2. You can now attach the shield to you Arduino.
This resistor will act as a "pull-down resistor." This means that whenever the button is not being pressed the resistor will pull the input pin LOW. Then when the button is pressed the switch will connect the input pin directly to 5V making input register as HIGH. Without the resistor, the input would be "floating" and static electricity might cause false triggering.
Step 4: Install the Library
Once your shield is assembled, you need to download and set up the library for the shield. I have attached the most recent version of the library file at the time of this posting. But you can also download it here.
Instructions from the Adafruit website:
"Uncompress the zip file and remove the folder inside. Rename it Adafruit_VS1053 and make sure you see Adafruit_VS1053.cpp and Adafruit_VS1053.h inside. Copy the folder to the Libraries folder inside your Arduino Sketchbook folder. For more details on how to install Arduino libraries, check out our detailed tutorial using the link below:"
Step 5: Load Sound Files Onto the MicroSD Card
To see an example of how to use music files with this shield you can check out the Adafruit tutorial here:
I have attached the audio files that I used for this project. Just un-zip these and copy the individual files to the SD card.
I created multiple audio tracks so that Baymax can say different things to different kids. Each track starts with a generic greeting of "Hello. I am Baymax your personal healthcare companion." Then as the kids press the button Baymax will say different lines from the movie.
Step 6: Upload the Code
Next you need to upload the code to your Arduino. I have attached a copy of the code that I used for this project.
Step 7: Connect a Pair of Powered Speakers
It is possible to connect a pair of small speakers directly to the music maker shield. But I wanted to make sure that the kids could properly hear the audio tracks. So I decided to add a set of powered computer speakers. These can plug directly into the audio jack on the Music Maker shield.
Step 8: Add an Insulated Project Enclosure
The last thing that we need to add is an insulated project enclosure to help protect the boards. You can use any random plastic box that you can find. The only modification that you will need to make is cutting some holes for the wires. To help keep the boards in place, I stuck the Arduino to the bottom of the enclosure with a large drop of hot glue.
Step 9: Set Up the Equipment Around the Standee
First talk to the pediatricians and nurses to find the best location for Baymax. You want it to be accessible for the kids but not in the way.
The speakers should be positioned as close as possible to Baymax so it seems more like he is talking. The button should be positioned somewhere close in front of Baymax so that he is talking to the person who pressed the button. Lastly find a nearby outlet to plug in the power cords for the Arduino and the speakers.
Step 10: Make Baymax Talk!
Now when kids press the button, Baymax will talk them. I was really happy with how it turned out. My son thought that this was awesome. Now whenever he goes to the doctor, he always has to stop by and see Baymax first. And the pediatrician told us that lots of other kids were enjoying it too.
This project is really easy to adapt to different applications. You can make an interactive audio track for just about anything. You could use it with props at a haunted house. It could be used as part of a display for a science museum. Use your imagination.