Hi! My name is Vijay and I am an incoming sophomore at Lynbrook High School. I heard about BlueStamp through my school and decided to try it out. Over the past 6 weeks, I have build my starter project which is the gram piano kit and my main/intensive project which is my 3 -- wheeled omni directional robot. When I first entered this camp, I had very little experience about engineering. This camp has allowed me to gain experience in various fields of engineering such as electrical, modeling, and software. In addition, this camp has taught me about perseverance. At many times in this camp, I have been stuck on a certain problem for long periods of time which made me very frustrated and at times wanting to give up. However, I am glad that I stuck through since I now have two very successful projects. Read on to learn about my projects and my overall experience!
BOM(Bill of Materials) : https://docs.google.com/spreadsheets/d/1wBHqpmoWqw9DfUNmO7W57KX9CbBHreLi hVA6OYm4fZE/edit#gid=0
I have finally finished my final milestone! I finished writing the code for my robot and connecting my ps2 receiver to my robot and interfacing it with my ps2 controller. This was one of the most challenging parts for me while building my robot because I had only limited coding experience and no experience interfacing my ps2 receiver with the ps2 controller. It was very interesting for me because it was my first time writing code for hardware. I learned many new skills such as learning how to use libraries within Arduino and how to connect the wires for the ps2 receiver.
I first worked on connecting the wires to my ps2 receiver by looking the instructions on the Arduino ps2x library. This by far was the easiest portion of this milestone for me since all I had to do was follow the instructions in the library.
Finally, I worked on the coding side of things. At first, coding seemed very difficult to learn. This was because of the many aspects of writing a functional program such as correct syntax, logical statements, etc. However, with the some help from my instructors, I was able to see that code isn’t so hard. Especially the code I was writing was actually very simple and logical. For example, the code to make my motors run by pressing a button on my ps2 controller was actually pretty simple. It just comprised of a couple “if and else” statements.
After camp, I hope to cut another hexagonal wood base out and mount it skew to my original base. The purpose of this is so I can place objects on it and if I am far away from the object, I can just control my robot to bring it to me.
My main project at BlueStamp is the 3 wheeled omni -- directional robot. The main components of my robot will be a wooden hexagonal base, 3 motor controllers, 3 servo motors, 3 omni wheels, 1 breadboard, 1 arduino, and a 7.4 volt lipo battery. Code will be uploaded into my arduino to rotate my wheels. In addition, I will be controlling my robot with a ps2 controller. To go more into detail, I will have a ps2 receiver attached onto my robot that will be receiving data from my ps2 every time I push the buttons on it.
For this milestone, I have accomplished a few different tasks. First, I finished machining my hexagonal base by sketching a hexagonal shape onto my wood and using a power saw to cut it out. In addition, I finished connecting all the wires on my robot. Through the process of wiring, I gained some new knowledge. I learned what power and ground are. Power is a red wire, and as the name suggests, supplies power to whatever object it is connected to. Ground is a black wire which gives a “reference” for how much power is supplied. For example, a power wire will supply 5 volts of power in reference to the ground wire which is 0 volts. Finally, I wrote some code and uploaded it to my arduino to test if my motors are receiving data correctly from it. Through this process I learned about some of the basic functions in the Arduino Servo library.
To get to this milestone, I faced many challenges along the way. For example, when I was trying to tighten my collar shafts, a tool used to keep my wheels in place, I was trying to tighten them with a screw driver. After many hours of trying to tighten them, I wasn’t making any progress. After much time, I reexamined the collars and realized that I was suppose to use a hexagonal drive. Another challenge I faced was with the code. At first, I just created 3 servo variables and “attached” them to digital pins on the arduino. I was wondering why nothing was happening. Later I realized that I had to add in some functionality to actually make my wheels do something. I later added in some for loops and my wheels started rotating.
To get to my next milestone, I will need to rewrite the software to make my robot move in the way that is suppose to move. In addition, I will need to connect and add in my ps2 receiver onto my robot and interface it with my ps2 controller. I still have some work left but I am confident that things will finish successfully.
I chose the Gram Piano Kit to be my starter project because I found its concept interesting. It took me about 2 days to finish building it. While working on my starter project, I found that reading the resistor values were hard for me since it was my first time doing it. I enjoyed soldering in all the components to the printed circuit board. In addition, there is a potentiometer on my circuit board. The potentiometer controls the amount of current that flows. In my case, this allows me to vary the pitch of the notes on my gram piano. All in all, this project is great for anyone who would like to gain experience of how to solder and have lots of fun.