-
Notifications
You must be signed in to change notification settings - Fork 0
Home
There is nothing funnier than watching a Big Mouth Billy Bass narrate Richard Nixon's "Checkers Speech."
But man - this project is more complex than I anticipated. I'll record my efforts on this wiki as I link a big mouth billy bass to a Raspberry Pi.
This is a robotics project with three main parts:
- Physical Parts (the fish, camera and box)
- Control electronics
- Control software
I'm not an expert on any of these three elements, so this continues to be a huge learning experience for me. You'll see things that are naive and amateurish. Please chime in with corrections - I appreciate the lessons.
<img src="https://github.com/mnr/rubberfish/wiki/images/fishOnStand.jpg" width=500px">
The Big Mouth Billy Bass I'm using has three motors. Other versions of the bass have two motors. Chose wisely. The first part of the project is cutting away the unnecessary parts, leaving the fish and motors accessible. I originally intended to leave the fish mounted on the base, but power became an issue and I had to use a larger box. Because of the way the top of the box slides off of the bottom of the box, I needed to be able to disconnect the fish from the circuits in the box. To do this, I've used a surplus DB9 connector. The 3 sets of fish wires are attached to the cable, which then threads down the middle of the pyramid and through a hole in the lid.
Likewise, the webcam USB cable threads down through the same hole.
The front panel has a salvaged switch plate from a bathroom heater. It has switches for "Vent", "Light" and "Heat". The front panel also has a voltage meter able to show from zero to fifteen volts.
On the left side is a speaker grill. Behind the grill is a small speaker, powered by a 5 watt amplifier.
On the back is a cable port and access to the ATX power supply.
Obviously, this entire project is built around a Raspberry Pi and the RPi GPIO. However, the Raspberry Pi doesn't have any analog outputs or inputs, it isn't able to directly drive a motor and it isn't a good choice for real-time response. Any one of these three capabilities are going to require external electronics.
- The Fish Mouth is driven by feeding audio from one channel of the amplifier to a TL082 Op Amp to an L293 Half-H driver.
- The Raspberry Pi GPIO can tell if the fish is speaking.
- The Fish Head and Tail motors are controlled by the Raspberry Pi GPIO and an L293 Half-H driver
- Reading the front panel switches is pretty basic.
- The voltage meter is controlled with a PCF8591 A2D module
- The webcam is standard USB.
- Text to Speech
- Speech to Text