Introduction:

The idea evolved as we went along, but what first gave me the idea was a video we saw. They had put a robot frame that could move around and dance inside a stuffed monkey animal, and made the robot frame move around, so it looked like it was dancing. We thought, 'We can make this', and off we went.

The electronics(and physical robot):

So at first, we didn't have a stuffed animal handy (we threw those things away years ago), so we decided to make a frame out of lego at first. We built a square with feet at the bottom, then moved onto the electronics. We attached two servo motors to an arduino and breadboard, and made sure we could control them. Then we took the arduino and breadboard and stuffed them inside the robot to see if it would fit, which it did. Then we build kind of shoulder holes(?) around the servo motors to allow them to poke through, but we didn't glue it in at this stage.

The next stage was to attach some kind of sensor so that it could see. We used a ultrasonic distance sensor for this. It looks like two eyes, which was ideal, as it gave the a kind of personality. It works by shooting ultrasonic (light?) out of one 'eye' and measuring the time it takes to bounce back off an object and reach the other eye. We planned to add that on the head once we had assembled it properly(it was just an ugly mass of wires at this point).

Anyway, we attached that, and went to glue it with a hot glue gun. At the last minute, we remembered we had wanted to add another servo motor to move the head around, so we wired it up, programmed it to check it could move, then started gluing it.

We first glued he first two servo motors to the arm holes, then attached a small lego baseplate to cover the top and act as a sort of neck. Next, we glued the third servo motor onto that, and glued the ultrasonic distance sensor onto the arm of the servo motor. Then, we glued cardboard onto the first two servo motors to act as arms, and finished it off by adding a little more cardboard on the head to make is more asthecically appealing.

Above: Before and After I glued it

The programming:

First, we programmed the eyes(ultrasonic distance sensor) to look forward, and to sense if something was in front of it. If there was something in front of it, we made it so that the servo motor would move to the side, check if there was something in front of it at that point, then either move back or quickly move from side to side, giving the effect of it vibrating. We also made the arms move when that happened.

We added sounds, to make it even cooler, and made so that if you put your hand around 15 cm in front of it's face and waved, it would wave. Then it was about finished.

You can get the code on github I also made a new file called 'musical_notes.h' and pasted in code that I found elsewhere from github (It's not my own)