ECE434 Project - RC Tank
Embedded Linux Class by Mark A. Yoder
Team members: Connor Mattox and Eric Fast
Contents
Grading Template
I'm using the following template to grade. Each slot is 10 points. 0 = Missing, 5=OK, 10=Wow!
00 Executive Summary 00 Installation Instructions 00 User Instructions 00 Highlights 00 Theory of Operation 00 Work Breakdown 00 Future Work 00 Conclusions 00 Demo 00 Late Comments: I'm looking forward to seeing this. Score: 10/100
(Inline Comment)
Executive Summary
A picture of the tank can be seen to the right. The blynk app is also shown in the picture along with the batteries that we are using to power the system.
We will be 3D printing an RC tank and using a Raspberry Pi 3 to interface with it. The tank will be remote controlled over WiFi and have a camera on it for FPV (first-person view).
As of right now, we have all of the parts ordered and the tank is in the process of being 3D printed.
Right now we are running into issues where the tank stops responding to the commands sent over blynk. We think that this issue is caused by the low battery state. If the tank stops responding frequently please charge the batteries.
This was a really cool project to work on as we were able to sit in B200 and drive the tank out into the hall using the camera to see where we were going. We were also able to connect the tank to RHIT-OPEN so we should be able to drive it around anywhere on campus. It was also very cool to see the progress we have made since we made a similar tank for the ECE230 final project.
Packaging
If you have hardware, consider Small Build, Big Execuition for ideas on the final packaging.
Installation Instructions
The link below is to the github where we kept all the files for this project. The readme.md has instructions for what to download and should be followed before trying to run any of the other provided code. The github also includes the code that we have written that can be used to run the tank.
https://github.com/mattoxcw/ECE434
The website that is shown in the link below was used for all the 3d printed parts as well as the suggested hardware.
https://www.thingiverse.com/thing:3671909
In place of the suggested mx1616 dual h bridge we used the L293d dual h bridge as this was previously used in ECE230 and is sold at the parts room. We also used a 5V regulator to control the power input into the raspberry pi which was likewise sold in the parts room. Additionally we used a camera attachment for the raspberry pi which can be found at the link below.
https://www.amazon.com/Raspberry-Pi-Camera-Module-Megapixel/dp/B01ER2SKFS?ref_=fsclp_pl_dp_1
User Instructions
Once everything is installed create an App on blynk that has five buttons arranged in a cross pattern. The top button should be attached to virtual pin five, the middle should be attached to virtual pin nine, the bottom should be attached to virtual pin six. The button on the left of the cross should be attached to virtual pin seven while the button on the right should be attached to virtual pin eight. A picture of this layout can be seen to the right.
After making the blynk app, run the file motortesing.py in one terminal while in another terminal run the following command.
sh fpvTank.sh
This will start a video feed from the camera that will play on your screen and show you what the tank sees.
Once running the blynk app use the buttons to drive the tank around being careful not to bump into things to hard.
Highlights
Here is where you brag about what your project can do.
Include a YouTube demo the audio description.
Theory of Operation
Give a high level overview of the structure of your software. Are you using GStreamer? Show a diagram of the pipeline. Are you running multiple tasks? Show what they do and how they interact.
Work Breakdown
List the major tasks in your project and who did what.
Also list here what doesn't work yet and when you think it will be finished and who is finishing it.
Future Work
Suggest addition things that could be done with this project.
Conclusions
Give some concluding thoughts about the project. Suggest some future additions that could make it even more interesting.
Embedded Linux Class by Mark A. Yoder