RedesignAfter some serious thinking on the direction and cost of the submarine, I though it would make sense to consolidate the motor control functions into a raspberry pi. I have used the adafruit 16 channel server driver board to control the ESC (http://www.adafruit.com/products/815). This takes that responsibility away from the Arduino which was the original sub concept. Furthermore, with the release of the raspberry pi camera now on the pi I can also consolidate the streaming video capabilities. This gets rid of the necessity to buy an IP camera and have 2 network connections on the submarine. As the frame goes no serious water testing as occur as of yet but as soon the motor is completed there will be some redesign as well. Below you can see a video of the raspberry pi controlling the ESC of the current sub.
Getting ESC with raspberry Pi and adafruit servo controller working. Excuse the desk mess. from Jose Hernandez on Vimeo.
First you must get I2C installed on the PI by running:
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install python-smbus i2c-tools
Make sure that I2C is working by running:
- sudo i2cdetect -y 1
Then get the adafruit PWM libraries:
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
cd into the Adafruit-Raspberry-Pi-Python-Code/Adafruit_PWM_Servo_Driver/ directory andthe example code I use to get this running on the PI:
The wiring Schematics:
Pulled from AdafruitIf you run into any issues I recommend going through the Adafruit guide: http://learn.adafruit.com/adafruit-16-channel-servo-driver-with-raspberry-pi/overview
I will be uploading to github the driver code in python for the submarine.