| Create an engaging interaction
using only a potentiometer and a servo.
James Beam was just a one week project to demonstrate my knowledge
of basic programming and electronics.
Physically speaking it is a balance board, made from two sheets of
plywood & a dowel... and a paper shadow puppet on the end of a stick
attached to a servo. Although not set up for the video, the shadow puppet
would be used to cast a 1/2 scale shadow a few feet in front of the
user.
As the puppet leans to one side after perhaps a night of too much Jim
Beam the user has to counter his movements in order to keep him upright.
The puppet recovers, but then over corrects and so the user has to guide
him back to a vertical position.
This continues to get more and more difficult until the motion of the
puppet is just too fast and he falls all the way over. The game then
resets for the next player.
Some details of the project
The intent was to use a servo motor which rotates to a specific position
based on the length of a pulse it recieves. A short pulse would cause
it to rotate to 9 o'clock (if you picture it like a hand on a watch)
and a long pulse would rotate it around to 3 o'clock. This allows the
microcontroller to send a pulse to the servo and then ignore it as it
goes off to complete other tasks.
As it turns out the servo I found was actually just a DC motor and
a potentiometer so I ended up coding a custom servo subroutine that
acted as a sort of analog servo mechanism. It was more work in the long
run, but gave me more control over the behavior of the mechanism, and
in this case the microcontroller didn't have all that much to do.
Conclusions
In a future version I would probably use a tilt sensor instead of the
potentiometer. And using a real servo might make the piece more stable.
The documentation video is also a bit dark.
|