Hello my name is Kenji and I am a rising freshman to Leland High School in Almaden. I chose the Useless Machine for my starter project because it looked really interesting and how it was able to teach me how to solder wires which will be very important. I also chose the RC Robot Tank for my main project which has a good combination of coding and engineering and will also fit into my 2 weeks time frame.
In my time during BlueStamp, I have learned the most about engineering than any thing I had done previously. I have only done an engineering course provided by my school and went to some coding class during the summer so going to BlueStamp really helped me out a lot. During this time, I learned how to code with an Arduino and build a robot with circuits and wires that I had never done before. I also learned many other important aspects and robotics that will help me greatly in the future.
During the camp, my main project was the RC Robot Tank in which I had built the chassis and had done the mechanical and coding aspects to let the robot work. After the camp, I decided to add a cannon onto the top of the robot which was a lot harder than I had expected it to be. In adding this modification to the robot, some of the bigger changes that were needed were: the chassis for the cannon; changing the motor driver to fit extra servos and adding a bigger power supply.
The first change that I had to make was to make the chassis of the cannon:
The first step of this change was to make the overall design of the cannon and after doing some research I came up with an idea. Looking at the previous projects that other students had made and also the projects that people have made online, I realized that the biggest problem that they face was that it is unable to fire more than one bullet. To combat this, I used a rubber band which is a much more versatile projectile that still hurts quite a lot and tied it to a long metal piece for support and a servo to allow it to shoot with my controller. As you can see at the servo on the back of the robot there are many hinges that are used for additional rubber bands to be able to fire up to three rounds. The assembly of the chassis was much easier than expected since the process was really similar to the tank itself and the materials needed were nearly identical. One problem that I faced was to angle the cannon with the controller which is the purpose of the servo at the front of the tank. However a problem occurred with the servo pins on the driver motor for that servo which prohibited the servo from receiving commands from the controller. I could replace the driver motor with newer one but I had already soldered the DC motors onto it since this happened really late into the project. Thus I had to give up on that idea since it would mess all of the other already completed stuff up and would take too much time.
The second change that I had to make was to change the driver motor to add extra servos and bigger power supply:
The driver motor that I had used during the camp was the L298 driver motor which allows allows me to connect, up to only 2 DC motors; to the Arduino; and an external power supply. This left no room for the additional two servos, which is why I switched to the L293D Adafruit driver motor that allowed me to do just that. However, this created three new problems: the new driver motor needed soldering and I had to buy one since I was out of the camp; add an entire new library for the driver motor; learn all the new code that is only compatible for the driver motor and the new library imported. While changing the motor driver I also found that I needed a bigger power supply to be able to power the stronger driver motor and the extra servos on top of the 2 DC motors controller and Arduino itself. I realized that individual batteries will be too hard to fit onto the complex tank and had to get power banks which were a more compact, lightweight and made better voltage and current. Overall other than the coding which took really long the rest were quite easy.
Main Project: RC Robot Tank
Hello my name is Kenji and I am a rising freshman to Leland highschool. For my main project I chose the RC Robot Tank and I have reached my final milestone and have finally completed the tank. From my second milestone, I added the PS2 controller and the wireless receiver that receives the instructions from the controller then transmits it to the Arduino and to the motor controller to turn the motors and drive the robot. During this time, I had to learn a lot of functions involved such as the if and else functions that helps to send the information appropriately without running into too many bugs. Some problems that I ran into was the wiring of the receiver, as you can see I have 6 wires from the receiver to the Arduino and they are labeled the Data, Command, Attention, Clock, 3.3V to power the receiver and Ground. After some research I found the proper connections and put Data to pin 10, Command to pin 11, Attention to pin 12, Clock to pin 13, 3.3v to the output power pin, and Ground to a ground pin. Another problem was importing the library from the Arduino website into my receiver and interface the controller with instructions, this part took me over 3 days to figure out and was very frustrating. I was able to finish the final milestone even though I hoped to finish much sooner, also since I am only doing only 2 weeks I do not have enough time to do modifications and hope to make some in the future.
I chose the Remote Controlled Robot Tank for my main project and I have reached my second milestone in completing this project. In my first milestone, I built the chassis and the structure of the robot while this milestone focused more on the programming and wiring of the robot. As you can see there is a lot of wiring between the arduino, motor driver, batteries and the gears which helps to send information to decide when to turn the gears. As of now, I am using the serial monitor within the arduino code to move the robot, forward, backwards, left and right. This will be switched to a PS2 controller in my third milestone. During this time, I had to learn a lot of the coding involved, the most important fact being that low with digitalWrite is the same as 0 in analogWrite and high in digitalWrite is the same as 255 in analogWrite. With this in mind, I would be able to make it move forward or backwards and also depending on the value of high, I would be able to make it move slower but with only the analogWrite since digitalWrite only allows the high or low and nothing else in between. Using the difference in speed I was able to make it turn left or right by allowing one wheel to rotate slower and thus turn the robot tank. I ran into many coding problems during this milestone and was also confused on many occasions on where the wires are supposed to go. As you can see all the wires are in a mess right now and I am going to solder them when I am confident in where they are supposed to go. I was able to finish the second milestone on time even though I hoped that I was able to finish this part earlier and I am very excited to move onto the third milestone and finish the project entirely.
My main project is the Remote Controlled Robot Tank and I have reached my first milestone in completing this project. For my first milestone, my goal is to complete the chassis of the robot and the gears to turn the wheels and track as well as the overall structure of the robot. As you can see, the gear in the center of the universal plate turns the wheels as I move the robot back and forth. However, I would not need to manually move this robot once I set up the motor and the remote control which will be my next milestone. During this time, I learned that the gear ratio in my gearbox helps it to speed up the rotation as well as synchronizing the tracks together. For my gearbox, it has a 114.7:1 gear ratio and I would be able to find the Wheel Torque when I multiply the motor torque with this ratio. Some challenges that I ran into while building this was the assembly of the double gearbox which consisted of many tiny parts that were very frustrating to keep track of and assemble into the final product. Another challenge was fitting the wheels and the gearbox into the universal plate, during this phase I did not have many instructions so I had to figure out the assembly myself as well as learn how to use a dremel to cut out the correct spaces. I was able to finish this milestone within the time limit which I had set my goal for and I would move onto my next milestone which is the Arduino and coding part of this project.
Starter Project: Useless Machine
For my starter project I chose the Useless Machine and basically what it does is that once I push the button, an arm will rise and push the button again to return itself to its original position. Some notable parts in this project is the walls that make up its structure and keep the machinery in the box, the switch that keeps everything moving, the battery, the LED light and the arm that pushes the switch. The switch is the most important part of this machine since it turns everything on and tells the motor to operates the machine when all the wires are in place. Some problems that I faced when making this machine is the walls and that I had to learn how to use a power drill just to keep the nails in place and hold onto the structure. Another big problem was the switch itself, I was unable to solder this part on correctly which lead to the arm not moving correctly and at the wrong time. This also lead to the LED light short-circuiting, making it flicker and turn on when not supposed to. All in all I was able to solve these problems fairly easily with the help of my instructors and I am excited to begin my main project the RC Robot Tank.