Over the past months, I brought K-9 to two cons and he was very well received. Children and Adults alike flocked to see him and pet him (still not sure why they wanted to pet him). During my time at these events, it became clear that some upgrades were required.
1. Louder Voice
In my home workshop, K-9’s speech playback is loud and clear. However, the large crowds and bad acoustics in the event halls of the cons I attended easily drowned out K-9. Kids were practically pressing their ears up to his mouth to hear him clearly.
I was already using an Adafruit 3.7W Class D Audio Amplifier to boost the signal from the MDFly MP3 module, but it was not enough. So, I added a second one inline. I mounted this one in the head so I could have easier access to the jumpers to adjust the volume later if needed.
Next, I realized that the speaker in the mouth was downward facing and even with the boosted volume, it might be hard to hear. Since the amp is a stereo amp, I decided to use the 2nd channel to add another speaker into the top of the head. I drilled 5 tiny holes into the top of the head in order to let the sound through. This way, as people are huddled around him, the sound will be projected upward toward them to make him easier to hear.
2. Battery Life
At the first con, K-9 lasted about 4 hours before his battery was so low he could barely move. I brought a charger, and found a wall plug to recharge the battery. Unfortunately, the 12V sealed Lead-Acid battery I’m using takes a really long time to charge. So, K-9 missed half the con as he was charging.
For the second con, I invested in 2 more batteries and pre-charged them. During the con, when his first battery died, I was able to quickly and easily swap out the dead one with a new fresh one. He was back up and running without much fuss. Well worth the investment for the spares.
K-9’s ears have been a source of frustration for me from the start. My goal was to use a single servo with a Y push-rod to move both ears at the same time. This worked ok in the workshop, but after an hour of running continuously, I had issues. The push rod bent, or the servo slowed. Poor K-9 spent most of the time at the con without moving ears.
To fix this, I got to work on a project where I used one servo for each ear. I purchased a pair of Hitec HS-225BB Servos (mini-sized, 180 degree rotation) and a pair of Hitec (24T) Servo Set Screw Shaft Couplers (1/4 inch). I attempted to minimize the need for additional screw holes in K-9’s head by fabricating a harness for both servos and using 1-inch stand-offs to support the servos from the top of the head.
In order to get the servos into the head properly, I had to adjust the mini-servo I use to extend the eye sensor. I ended up just using the same mounting holes and flipping it around so the arm passes between the two new ear servos. It took some tuning to get the eye sensor to extend properly again, but it looks great.
Next, I got the idea of making them more interactive by using microphones to listen for sound and automatically pointing the ears toward the sound. I purchased a pair of Electret Microphone Amplifers (MAX9814) with auto gain control. I drilled holes in the side of K-9’s head and hot-glued them into place. I put foam over top of them to insulate them from the servo noises inside the head. The foam has the added benefit of dampening the servo sounds for others to hear also.
I wired the Servos and Microphones to a Arduino Uno using a custom connector set built on a Prototype Shield from Sparkfun. After some testing, I realized the auto gain control of the microphones was not enough, so I also wired in a rotary 10K potentiometer to allow me to adjust the sensitivity manually. I think this will be handy for tuning the ears to work at the con. Finally, I realized that these servos really needed a separate power source to work properly. I bought a 6xAA battery holder and ran them through a latching switch and 6V voltage regulator on the prototype shield. I exposed both the potentiometer and on/off switch on the base of K-9’s head so they are not easily visible, but still easy to get to without opening his head. In doing so, I realized I’ve diverged from the original K-9 head design, but I think the extra controls enhance the robotic look and feel.
I am really happy with the result. See the video below for the improved ears in action:
Up until now, I was so focused on the function of K-9, that I overlooked some minor cosmetic issue. The average person might not have seen them, but there were obvious to me and a constant reminder that I needed to do something to make it look better. I figured now was a good time to address them. The plastic shell was overlapping in some places, and there were ugly gaps that detracted from the overall look & feel.
To fix this, I purchased some DAP “Alex Fast Dry” acrylic latex caulk from a local hardware store. I used some duct tape to cover the inside of the gaps and spread the caulk into the gaps using a knife to smooth the caulk. The key think about this caulk is that it is paintable within 20 minutes. After drying and curing, I painted over it using left-over paint from the initial build. Even if I’m the only one who notices, I’m pleased with the result
Looking forward to the next con!