RC Boat

Python • Networking

Summary

After winning a Raspberry PI in a class Programming Competition I decided to make good use of it. At the time I was learning Python programming language and I wanted to learn about networking. This was my project which combined my knowledge of Programming and Circuit Design.

Methodology

The boat itself was a bit of a hassle to put together. For the main body, I used a plastic cookie box which did not provide enough buoyancy with the raspberry pi in it. I had to use 2 empty water bottles to help keep the boat up. I used 2 wooden steaks that I cross-binded to hold the 2 plastic bottles and just taped the whole bottom portion to the main body. The 2 DC motors are held by a piece of card board. I wrapped it in tape to make sure the cardboard wouldn't become wet. Since the Raspberry Pi doesn't give off constant voltage off of its pins I had to use a motor controller with an additional power supply. This helped with the distribution of voltage to the 2 motors on the boat. The Raspberry Pi just had to give off enough voltage to enable or disable the motor controller. I wired the motors so that they could be engaged both in the clockwise and counterclockwise direction. This makes turning more responsive. I used python as the programming language for this project. I had to program 2 different applications. The receiver application is located and ran on the Raspberry Pi and a Transmitter application is located and ran on my laptop. The transmitter application waits for user key input and once a key is pressed a message is sent over Wi-Fi to the receiver. The reciever then activates whatever pins are needed to execute an action (such as forwards, backward, left, and right).

Conclusion

I always wanted to learn about networking and this was a fun way to introduce myself to it. I like projects that are fun and teach me something. This was one of those projects because I was able to see the boat working right in front of me as I was making different changes in the code.