is a microcontroller-based marionette. Each of Grover's limbs are controlled independently: he can be made to walk, wave, and of course, dance. Groovin' Grover is controlled by a Pololu Maestro 6-Channel Servo Controller. I chose this microcontroller because it is specially designed for controlling servos, is very easy to wire, has a simple programming language, has superb software for developing and debugging programs, and is inexpensive ~$20.
Mechanically, Grovin' Grover
is based on a Grover finger puppet attached to four inexpensive hobby servos. The servos are attached to each of his limbs allowing for independent movement. I built a simple "stage" for holding Grover and the servos in place. I used Velcro to attach Grover and the servos to the stage so that the parts could be easily moved and adjusted for getting Grover into proper position. Painter's tape and paper clips are used to attach threads to the servo horns: the paper clips can be bent to get proper movement and the painter's tape is easily removed if threads ever need to be replaced.
The first figure below shows how Groovin' Grover
is attached to the servos when he is in his initial position. Transparent nylon thread is used to attach his limbs to the servos. When rotated from the initial position, the servos pull up to raise his feet or hands and can be rotated back to the original position to lower his feet or hands. Programming is very simple: in the Maestro programming language the command "8000 1 servo" would cause servo 1 to rotate to the maximum position and raise his left hand. The command "4000 1 servo" would return servo 1 to the original position thus lowering his hand. If you put those commands in a loop with a small time delay after each servo command, Groovin' Grover
would appear to be waving at you. The code that Groovin' Grover
uses to dance to the videos on the first page of this instructables is explained on the last step. The Popolu documentation for the microcontroller is well written and explains how to use the software and in detail how to program the microcontroller.
The second diagram shows Groovin' Grover
and his stage. His stage is made of two platforms supported by threaded rods and hex nuts. Grover is suspended 4" from the upper platform: a piece of transparent nylon thread is threaded through the top of his head and attached to a washer. The washer is held in place on the upper platform using Velcro. Rubber feet are affixed to the bottom of the stage to prevent the washers from scratching the surface of where the stage is placed and to ensure that the stage doesn't rock back and forth when the servos are moving. A piece of white cloth hangs from the back of the stage as a backdrop. The backdrop is affixed to the bottom of the upper platform by Velcro. The backdrop hides power and USB cables and allows the transparent nylon thread to blend in with the background allowing Groovin' Grover
to appear to float.
The third diagram shows the top of the upper platform where Groovin' Grover
's electronics and servos are located. The PC-based program development and debugging software communicates with the microcontroller via the USB cable. Microcontroller power is supplied by the USB cable. The servos are powered by a 5 volt wall wart. The USB and power cables are held in place using plastic wire clamps: the wire clamps prevent the microcontroller from being accidentally pulled off the top of the platform. The microcontroller is affixed to the platform with a small piece of Velcro.
Each servo is attached to the microcontroller using standard connectors that come with the servos. Servo 0 controls the left foot; servo 1 controls the left hand; servo 2 controls the right hand; servo 3 controls the right foot. The servos need to be connected to the microcontroller exactly as shown in the diagram for Groovin' Grover to move properly. More information about the various connectors on the microcontroller can be found in the Pololu Maestro Servo Controller User's Guide
Note: Throughout this instructable when Grover's limbs are described as left or right that is his left or right as he faces you.
The process for programming Groovin' Grover
is simple. You launch the Maestro control center software and type your program into the "Script" window. You click "Apply Settings" to download the code to the microcontroller and then "Run Script". The control center includes features for debugging and manually moving servos as well as alternate way to develop scripts without using the programming language. I found the software to be very easy to use and the documentation to be well written.