Hello. My name is Fahima C. I am a rising Senior at MLK Law Advocacy Community and Justice. For my starter project I made a Mini Gram Piano because I was fascinated by how only a little circuit board can let me do variety of things, like play eight keys with three octave. For my main project, I built a voice controlled robot because of endless amount of reason. One of the biggest was that I always wanted to know, how can a robot that has no life can listen to me and response to my command. Then, I always wanted to learn how to code, and this was one of the project that interested me and was mostly about coding. Therefore, I thought this would be the best option and most interesting thing to spend my three weeks on.
DOCUMENTATION:
Build Plan:
https://docs.google.com/document/d/1V0t4xYYWrwn2z6zGhtXFpO0BnJpRlJh9njSOvrSXVqU/edit
Final Milestone
In the past six weeks in BlueStamp, I have had the best experience I can ever wish for. I finally finished my voice controlled robot. With the short amount of time and tons of struggle, I finally got to the finish line. Since my first milestone, I have made a lot of progress with my robot. I got all the commands working and completely built the robot
While coming near the finish line, I face tremendous amount of obstacles. One of the first problem, was that the other commands (left, right, forward, and backward) were not working. From the first milestone, only two of the commands, start and stop, worked. The other commands were not working because my commands were being recognized by the serial monitor but it was not getting transfer to the robot. Then I thought of taking step by step, so I thought of fixing left and right first. While fixing left and right, I realized, in the software, Arduino, I have to turn off one of the wheels, in order for the robot to turn. After I turned off one of the wheels, I thought it worked, but it wasn’t because only one of the wheels were working, which was making the robot take 360 rounds. Then, I placed one second delay, and connected both wheels again. Finally, both commands, left and right, were working. I did the same to make forward and backward work. I had to connect both servos in the software, before every command. After the commands were ready, I quickly started to design my project. I designed my robot from scratch; in order to design my project, I had to use a software, called Google Sketchup. This software gave me the hardest time of all. I never used google sketchup before, and I didn’t know what I was doing. I was just making random, huge shapes, and huge holes. I had no ideas of what I was doing, until one of my instructor, Joao, helped me how to measure the shapes I was making. Even though I did finish designing my project, and the parts were laser cut and I received it; I couldn’t believe what I did. I made tremendously big holes. My screws were not fitting, instead, it was going through the holes. Then I had no other choice but to use huge screws to fit through the holes. Because I used really big screws, my screw mounts were bented, which made my servos go sideways, instead of being straight. However, it was not a problem because the wheels were still rolling. After I completely finished with everything, when I connected all the wires to test if it’s working. I misplaced the position of power and ground, which fried one of my motors. I had to unscrew everything to replace the motor, it was kind of annoying. Also, I made the same mistake previously as well, which fried one of my motors before. Then in order for my robot to stand I had to add a third wheel and after my third wheel came, I realized, it was too small; therefore, I had to 3D print a round shape block. This helped and my robot was looking the way I wanted it to look. For two days the robot was listening to my commands and going to the direction I am telling it to go to. But later I realized that the robot was taking a long time to catch my commands, specially left, right, and forward.; therefore, I shorten my commands as L, R, and F. This worked and finally my robot was working consistently, without any conflicts.
First Milestone
For my main project, I am making a voice controlled robot and for my first milestone, I figured out how to start and stop my motors. When I first started doing my main project, I was using an Axon II board, it’s another type of microcontroller, and I was facing a lot of difficulty compiling the code. In order to generate the code in Axon II board, I had to use a software name Project Designer. This board required a lot of things to be downloaded in my computer and I was using a netbook computer, which was not able to function properly, due to it’s limited amount of holding capacity. Therefore, my generous instructor, Darshan, allowed me to use his computer, but, it still did not work because there was something wrong with Project Designer itself. The codes the project designer generated were not functioning. Then, my other instructor, Rei, tried to do the same in his computer, but there were still errors, which I couldn’t solve. Therefore, I had to change my materials. I was given to use an Arduino Uno board, which is another microcontroller that serves as the brain as well. Uno is specifically a different type of Arduino board. I learned how to do the basic things in an arduino board and got the hang of it very quickly. Some of the basic things were how to blink an LED on and off. I was able to start and stop my motors by using two softwares, Arduino and EasyVR commander. At first I downloaded the EasyVR commander to train the six commands, (start, stop, right, left , forward, backward), after my commands were trained without any conflicts, I generated the code. After the code was generated, I opened the file in Arduino, and the Arduino software opened with the code. However, I had to make adjustments to add the two servos in the code. Servos are a small device that allows you to connect to any type of microcontroller you’re using, and allows the code to control it. However, even after making adjustments it did not work, I struggled with this for about two to three days. However, with the help of one of my instructor, Kristin, it finally worked. The problem was that the commander was not understanding my codes, and the commands were not moving from group 0 to group 1. Before I generated the code I had to train my commands. This training means you speak in the microphone of the EasyVR shield, so it can recognize what are you telling it to do. When I trained my commands in EasyVR commander, I placed my commands in two groups, group 0 and 1. I had to place the commands in two groups instead of one because group 0 allows only one command to be added. Later I understood the problem, the problem was that I was supposed to place group 1 right below group 0. After I did this, two of my commands, start and stop, were working.
Mini Gram Piano
Hello. I am Fahima and for my starter project, I built a Gram Mini Piano. A Gram Piano is a through-hole soldering kit that transforms a pile of hardware into a mini piano, ready for the playing. This kit provides you with the ability to play an octave worth of notes using the capacitive touch keys. The materials required for this project can be found in sparkfun. https://www.sparkfun.com/products/11835 This project consists of thirty-three parts to be soldered. For the most part, the parts are very small. The tiniest parts are the capacitors placed in the middle of the board . Capacitors stores charge and it releases charge when it’s needed. Charge is what flows during an electric current. The capacitor is used by the microprocessor. The orientation of this capacitor does not matter because it’s not polarized. Non-Polarized means it’s symmetrical and the charges are equally distributed. Next I placed the resistors; the function of a resistor is to limit the flow of the electric current. There are three types of resistors used in this project, 2M Ohm, 10K Ohm, and 330 Ohm. You have to pay attention with the colors in the rings. The 2M ohm has a green band in the middle, 10K ohm has an orange band in the middle and the 330 ohm has a brown band. The color serves as an indicator and different color represents different rate of tolerance. The value of the resistors are on the kit, so it is not a problem to know where the resistors are placed. The orientation does matter because these are polarized and polarized means it asymmetrical and the charges are not equally distributed. There are three different types of resistor because they all have different multipliers and tolerance. The circuit with the higher resistance will allow less charge to flow, meaning the circuit with higher resistance has less current flowing through it. Another important component is the potentiometer; potentiometer is a variable resistor, simply, it is another type of resistor; it’s a resistor for regulating current. However, for this device, the potentiometer serves as an octave select. As you turn the arrow, three different octave can be played. Moreover, another significant part is the microprocessor, which acts like the brain in our body. It gives and receives instructions from other components of this device. The biggest parts involved in this project are the batteries. The batteries stores chemical energy but when it’s connected to a circuit, the chemical energy is converted to electrical energy, which is sent around the other components, in order for the piano to work. However, just be careful with the battery holders, don’t bend them. My battery holders were bent, therefore, I had to place a band under the battery to make it work. And that’s it, turn on the switch and you can start playing the keys right after you finished building it because there is a microcontroller included with the Gram Piano that comes with the pre-installed program, which allows you to play octave notes.