My name is Daniel and I am currently studying VCE Year 12 Systems Engineering. 50% of the subjects final mark is based on the project and folio (I wish to get at an A). Currently, my idea is to build an autonomous/ ps4 controlled robotic tank (Devastator Tank Mobile) with a robotic arm positioned on the top. I was thinking about adding many sensors onto it: ultrasonic, fingerprint and voice commands with Google Assistant. To avoid overloading an Arduino or Raspberry, how should I set out each sensor and the connections to the board.
I am also wondering if it is possible if I was able to control the robotic arm and tank with the same ps4 controller. How else could I possibly enhance my project and get a high mark?
G’day Daniel. That’s an impressive sounding project. To answer your last question first, you have so many controls on a PS4 controller you should be able to control everything on your 'bot from there. You only need to decide which button/pad/stick controls which function and program it accordingly.
I’d recommend you start with an MVP (minimum viable project ) and build up from there. It’s easy to dream big and run out of time. You also need to make sure you keep track of all the resources you’ve used along the way, for your portfolio.
I’d suggest you get the Devastator running first, using:
You’ll need a DC power supply that outputs 5-6V and about 2A. Hopefully you’ve got a plug-pack somewhere already. With that working I hope you’ll feel empowered to go further. Adding the PS4 controller, USB host shield and a battery will let your 'bot roam free. Then add more based on the time you have available.
Thanks heaps for your reply.
If I were to start with an MVP and build up from there, would I be able to keep adding components and sensors onto the robot without affecting the already complete parts of the project? And could I use a simple L298n Dual h bridge rather than the motor speed control?
the L298n Dual H Bridge is designed for controlling stepper motors. The Devastator Tank Kit has gear motors that come with it. You could use stepper motors but it will add to the complexity of your project, and I cant promise that we will have some that will mount into the tank chassis.
You can add components one at a time and it wont effect the overall operation. If you try to connect lots of things at once you can quickly end up in over your head. Its good to get every part working individually first.
Thanks for the feedback, I’ve bought the Arduino Motor Shield V2 to operate the tank.
Your advice is much appreciated, I’ll try to complete mini tasks one at a time to ensure I can finish project. Should choosing the way to control the tank be the final step? i.e. bluetooth mobile app, remote controlled etc
If you want to have manual control over your robot then I think that creating the control system should be your first priority. You will need a control board, and a way to interface with it. There are some great projects on the web that show how to turn your Android phone into a controller for a robot. This one looks pretty good to me: https://www.intorobotics.com/bluetooth-controlled-robot-using-arduino-and-android/
You already have some of the parts!
Thanks once again for your guidance.
I’m quite unfamiliar with bluetooth modules but I’ve been doing some research and I’ve read from numerous sources the HC-05 is better than the HC-06 as it can be both the master and the slave. Even though the project linked above used the HC-06, could I be able to use the exact same code for the HC-05?
You will likely need to use different code of the HC-05 unfortunately, but it should be very similar!
Thanks for the reply, for safety, I just went ahead and bought the HC-06 sensor.
Furthermore, my teacher said that he wants me to push hard and add the robotic arm that I intended to make but I am uncertain if this goal is obtainable due to time constraints and the complexity of controlling both the robotic tank and robotic arm. (I have exactly 3 months till the due date).
I am almost finished the tank, just needing to add the bluetooth sensor and an ultrasonic sensor and I’ll be done. If I were to decide to complete the robotic arm, is it possible that I could control both tank and arm with the same android application? What would be the first step in terms of coding?
It is theoretically possible to control all kinds of things through an android app. I’m not sure about the app in the tutorial I recommended, but it appears to have 10 buttons, so you should be able to control some additional hardware on your tank. My first suggestion is to get your Bluetooth communicating, then move on to the controlling the motors. Like Chris said, definitively take the project one step at a time and add a new element only when everything else is working. It can be very easy to get buried under a bunch of small problems with a complicated project like this one.
I’ll try to get the Bluetooth communicating and the motors running as soon and as possible and I’ll work from there.
I’ve finally been able to control the robotic tank via bluetooth! I have approximately 1 month left to complete my project, do you think I should begin with the robotic arm or some other fun device to add onto the tank?
Nice! If it was me I would add some sensors for a type of data collection. What is going to be the purpose of your robot for the sake of your project? You could make it into a disaster response robot, something that can drive into a damaged building to make sure its safe for people. I’m thinking you’d be more likely to get a higher mark the more useful your final robot can be. There are great sensors like this one:
Or there are air particle sensors that detect dust in the air, maybe a sound level sensor, or a temperature sensor? these would all be pretty easy to integrate and add a lot to your robot without being too much work to add since you have limited time. I think the robot arm is perfectly doable as well. Just use servos for the motors, you should be able to control them through the same controller. Just don’t use up your month making an arm and then run out of time for anything else!
Hi Stephen, thanks for your ideas. Initially, I wanted to build an military bomb disposal robot but your ideas sound so interesting and I also think this disaster response robot is quite relevant in modern day society.
I’m quickly running out of space on my robotic tank but I discovered the ‘Natural Disaster Sensor with Circuit Playground Express’ which perfectly fits into the Disaster Response function. It looks like a really cool nifty project. Do you think I could successfully integrate this into my project?
Sure! what board are you using to control your tank? It might make more sense to connect sensors to that board. You wont be able to easily transmit your data from the Circuit Playground Express, unless you connect the two boards via a serial connection and then send the data to your controller over Bluetooth. The Circuit Playground Express doesn’t have wireless built in. It is capable of interfacing with wireless devices though. If you decide to make a bomb disposal or disaster response robot, then it would make sense to be able to check your readings from a safe distance.
I’m using the Adafruit Motor Shield V2 stacked on top of an Arduino Uno. I was thinking of adding in an LCD display and a heart rate sensor to this robot, will these be good additions?
Sure! I’d encourage you to pick a purpose and stick with additions that are relevant to that purpose though. If your robot is a bomb disposal bot, then what would the LCD screen be used for? What would it display? If its an emergency response robot, a heart rate monitor would be useful, but how would the robot use it? Can you drive up to someone and check their heart rate to see if they are alive?
I’ve spoken with my teacher and he recommended me to keep up with my original idea of the bomb disposal robot. For now, I am focusing on my folio and building and coding the robotic arm. I have a spare ultrasonic sensor and I wanted to create a radar system with it, but so far, I have only seen projects where the board must be connected to a serial port to display the function, is there way around this? If not, what could I do to with the ultrasonic sensor?
All that data going to the serial monitor is usable info that you can write into your code. If your ultrasonic sensor is returning a number that represents distance, then you could write some logic into your code that’s roughly like “If the distance is less than 100, then turn warning light on”
The serial port is only used to display the readings that the sensor is making. If your not connected it will still be taking those same readings.
Thanks Stephen for the info. I’ve decided to use the ultrasonic sensor to avoid obstacles. For my robotic arm to be able to be controlled by the same android app, would I have to connect a servo shield to the same Arduino board with the bluetooth sensor? Or could I use a new Arduino Uno board and stack the shield on top of it and then connect the arm to it?