The Robot Car will work traditionally as any other car. However, important modifications were made: An arm will be attached to the car to function as an intake mechanism, and the Robot Car will have an autonomous program as well as a remote control function.
Area of Interest
Computer Science/Electrical Engineering
George W. Hewlett High School
Robot Car Chassis
My First Milestone for the RC Robot Car is building the car chassis and powering the motors. There were significant challenges along the way: Originally, my first milestone was setting up a Bluetooth connection between my HC-05 module and my kindle. However, after a whole session and office-hour session of debugging, I was not able to get it to work. Transitioning to the car chassis seemed to be the best option for me. Building the car chassis was a simple task. The important part was powering the motors. To power the motor, it must be hooked to the screw terminals of the L298N module. This module will be connected to a 5-12V battery, as well as to the Arduino Uno. Finally, a potentiometerm, or a variable resistor, will be set up to control how quickly the motor moves the wheels on the car.
Particle Photon LED
Because my HC-05 module was not functioning, my instructor and I decided to use the Particle Photon, which is basically the same as the HC-05 but instead of bluetooth, it uses Wi-Fi connectivity. I got lucky and my Photon connected to my 5Ghz Wi-Fi network (which it is not supposed to do, it only connects to 2.4 Ghz) and I created an access token, so all the work with Particle CLI is done. All that was left was working with the app. I basically uploaded the aia file from the github repository provided by a tutorial and made sure everything was there. Then, I added the URL, the device id and the access token. At first, I was not able to turn the LED on the Photon on but that was only because I neglected the first sentence of the tutorial where it said to use example code, of which was provided in the Particle Web IDE. Once I did that and uploaded the example code onto the Particle, the app worked and I was able to turn my LED on and off. Because this is basically analogous to what I would have done last week had my HC-05 worked, my instructor and I decided that this would be my second milestone.
Robot Arm Control
Third Milestone Video
My third milestone is a completed Robot arm that will attach to the car, and the car will be able to be controlled through bluetooth connection (MIT APP inventor). Furthermore, the Robot arm will also be remote-controlled (it also functions based on a bluetooth connection). While I was working on my third milestone, I received a new bluetooth module, the HC-06. It worked well, and I was able to first get the HC-06 to control the DC motors in my car. That was when I started to work on the Robot arm. After a couple of days of assembling the parts of the arm, I finished it and I moved on to testing each servo on the Robot arm to see if they worked. To test them, I used a potentiometer, read the analog input so that I could also adjust the open/close positions of the servos (especially for the claw). This took a bit of time because of how the servo.write() function works in Arduino. The servo.write() function takes in an integer as a formal parameter from 0 to 180. Thus, the orientations are fixed, and I need to find the correct orientation that will make the closed position a closed claw. Once I was done with that, I worked on controlling all of the servos simultaneously. To do this, I needed to order a breakout board to support my power bank since it has a micro USB cable. The breakout board worked as it was supposed to, and I was able to power one servo and a potentiometer using the power bank given in the kit. Unfortunately, the power bank could not supply enough current for all of my servos (three), and not even two of them. Thus, my instructor and I had to discuss purchasing a new power supply that could supply enough current for my three servo motors and my two DC motors. In the meantime, I worked on controlling one servo at a time using MIT app inventor through Bluetooth connection. I found a tutorial online that provided instructions for an app that could send data to the Arduino that would then control the servo. Here is the tutorial: https://www.youtube.com/watch?v=gL7b8E_5aYs. I downloaded the sketch they used. I was able to control all three servo motors individually using MIT app inventor swimmingly. What I am doing with the Bluetooth is first establishing a connection to my kindle. The app reads the data when the user interacts with the app and it sends it through Bluetooth to the HC-06. The Arduino reads the data and I am able to store it through the Software Serial library, and using an object, I am able to read through the values and use them to write on the servo. Then, I worked on attaching the arm to the car chassis. I simply used Velcro to accomplish this. With that accomplished, I started working on programming the Robot arm and car chassis using MIT app inventor with a functional app.