Wednesday, January 22, 2014

Project#1 Toy Hacking

 

     For our first project, we were to select a toy and hack it. I chose the holiday edition of Big Mouth Billy Bass. Before his operation, he sang two different Christmas songs while his mouth moved along with the words. His tail also moved with the music, but unfortunately the motor that was supposed to turn his head to look at you had some issues and never seemed to work. The red pushbutton switch that can be seen on the front also never worked, so he seemed like a perfect candidate for dissecting. These things are ridiculous anyway.
     This is a picture of the circuits I constructed in order to get Billy to move under the microcontroller. In total there are three circuits. One is a simple circuit which connects the speaker in series with a 100 ohm resistor to pin 8 of the Arduino. The second circuit is a Darlington arrangement which consists of a 2N3904 transistor, a MPSA42 transistor, a 3.3K ohm resistor, and a 1N4001 back EMF suppression diode which is in parallel to the motor that controls Billy's mouth. The 3.3K ohm resistor which is connected to the base of the 2N3904 transistor is connected to pin 10 of the Arduino. The last circuit uses the TIP 120 power Darlington transistor. A 1N4001 diode is also used and is in parallel with the motor that controls Billy's tail. The 2.2K ohm resistor connected to the base of this transistor is connected to pin 9 of the Arduino. The 5V power supply that we constructed on the first day of class is also used to power the transistor circuits.
     Initially, I wanted Billy to sing different songs and have his mouth and tail in sync with whatever song I chose for him to sing. However, I was limited by my lack of knowledge and skill (especially in coding). I got the motors that control his mouth and tail to work quite easily under control of the Arduino, but I still wanted to add some element of sound. I managed to find a code that could the Arduino to play the Super Mario Bros. theme song, but it was beyond my scope of understanding. I did however use the tones to insert into a code very similar to that in the Music and Advanced Programming packet. I set up the program to initiate upon engaging a switch I have wired to my breadboard. Once the switch is engaged, Billy appears to swim not so gracefully along with the tune. I wish I could have done more with Billy, but all I could do is work with what I had. Maybe someday he'll sing.