After playing around with some battery operated drill motors I felt that they were too long to fit inside K-9’s body side by side
I instead used 2 electric window up/down motors from a car.
The H-bridge worked fine however the weight of the body and the wheels being slightly misaligned made the wheels rub on the frame. When I powered it up the first 3 or 4 times K-9 shot across the floor proudly.
As they rubbed it got worse until the fuses started blowing. I gave up trying to fix this because it because I had made the motors very inaccessible. Lifting the body made its just too difficult to access the motors each time.
I did not really consider things being accessible
For the ‘computer’ that sits on K-9’s back I purchased a large calculator that was the correct dimension and modified it to look somewhat authentic.
The lights that flash are LED’s controlled by a Pic16F84A programmed with JAL.
Basically it is the ‘Knight Rider style’ sample program that comes with JAL but with some slight modifications and some fancy wiring.
The head was assembled last,
The TV K-9 has a gun that comes out just below his nose. I had the gun moving back and forth but no way to actually fit it in the head, plus the motor driver IC was getting hot, so I glued it in place and it is non movable.
K-9’s ears are two radar dishes that oscillate back and forth. I purchased some surplus stepper motors which would fit side by side inside the head. I then created a circuit to make them oscillate back and forth. Once powered up, the circuit worked marvellously, almost totally silent, and the ears rotated back and forth very smoothly. I noticed current consumption of the stepper motors was quite high.
Here are the ears moving
I had someone do the K-9 voice and modified the files with Audacity, which then I burned to a CD. I had a CD player that was controlled by a Pic16F84A IC for Play, Stop, FF, etc.
Here is where timing became an issue (and thus the down side of using this method).
As the CD does not provide feedback on what is happening, you cannot tell if it is playing or not or even which track is playing. I so everything had to restart from a reference point for each track, each track was exactly the same length and every thing was based on timing and then, when finished playing, back to that reference point.
Overall this is not the best way to control speech or music.