User:Mbroemme5783/enes100/robotcar

Write problem/project Goal
The goal of our project is to program a robot to be able to drive itself without cashing or running into obstacles.

My First Task
My first task will be reviewing the tutorials and next steps given to us by the first team.

Week1 Activities
I mistakenly made the connection wires too short to the sensor, so I need to resolder the wires to add length. I got the arduino to be recognized by my computer and I learned some basic commands, but when I inputted the code for the sensor, the arduino did not seem to recognize it. I'm going to find out how to program the sensor for the arduino.

Week1 Narrative
We subdivided the team into individual properties of the car to focus on. I chose to focus on getting the car to follow a line autonomously. The best way to do this was by using a QRX1113 sensor and I found a program on line that interfaces with an Arduino with the sensor. In class on Thursday, I soldered wires into the output of the sensor and then plugged the wires into the Arduino via the motor shield.





My Second Task
Get a robot car to follow a pre-programmed path along a set line.

Summary of actual work over second weekend
I reattached the connection the wiring makes with the solder header. This removed the excess solder that clumped on the tips of the header connection. I found a different program that tests the sensor and uploaded the program to the Arduino. The outputs started to read different values, so I think that while the connection was not perfect, the program was at fault. I started to experiment witht he programming using simple delay commands and am getting a hang of applicable language for the Arduino software.



Week2 Narrative
Over Week 2, I improved the QRE1113 sensor that was attached to an input on the Arduino's motor shield. The sensor needed a more permanent attachment to the car and I soldered the sensor to a set of female and male headers that secure it to the Arduino's inputs. Also, I constructed a program that uses basic C++ commands that take sensor reading from the Arduino board. I got the sensor to begin talking with the program, but the reading only outputted a constant number over and over again, which means the connections or the sensor might be broken/faulty.





My Third task
Over the second weekend, I will attempt to make the sensor responsive to changes and will investigate whether the program used is the problem by trying out different, already published, programs for the QRE1113.

Summary of actual work over third weekend
While finding line following codes already posted, I noticed that many line detection devices have as many as 10 detectors for a rc car. I was able to edit out the other inputs from their codes (Line Follower), but it looks like the car would have trouble with just two detectors. By analyzing the code, I determined that two outputs must be assigned that correspond to the steering and stepper motor. Then, it is only a matter of plugging in the inputs and arranging them to correspond to their respective positions in front of the car. Also, the looping functions seem to need a value of 1 or 0, corresponding to black or white. The line follower program automatically calibrates its values for black or white, but with only 1 sensor working, I might have to input the values directly.

Week3 Narrative
Over this week, I worked primarily on the connections between the Infrared line detector and the Arduino board. I made a test surface for the QRE1113 that consisted of covering a white piece of paper covered in black electrical tape, with a small white line left in the middle. I tested the new wired connection and the software did not detect any difference between the black and white surface. I tested directly plugging a QRE1113 into the board without a solder header and it was able to successfully differentiate detect the white line on the test surface.





My Fourth task
My next task will involve relating the information provided by the line detector to other Arduino programs by inputting the values directly from the QRE1113 into the software.

Summary of actual work over fourth weekend
Over the weekend, I split the functions of a simple line following program into manageable pieces. That way, the next group can take these pieces and manipulate them as the stepper functions begin to interface with the line detection program. The original file can be found at http://nakkaya.com/2009/12/09/poor-mans-arduino-line-follower/





Week4 Narrative
I analyzed the methods of other arduino line followers and discovered that the line following program works much better with more sensors. Also, the minimum number of sensors for a successful line follower was determined to be 3, because it needs a center value to be compared with a left and right value. Furthermore, I obtained a code that can be used without a stepper function for the steering or motor of the rc car, so we can test the program before we figure out the technical details on stepper functions. I tested out how adding multiple inputs to the Arduino works by using a breadboard. The breadboard allowed me to use the same ground and 5V power system for each QRE1113 I put into the inputs. I got the Arduino software to serial output both readings at once from the sensors. This will be helpful later on when the next group adds more sensors.



Complete Team Page
Team Page