
This Robot was Programmed using an Arduino and the Arduino IDE to be able to recognize a black line on a white surface and follow it on a number of different tracks as demonstrated in the videos below. Our team of 4 put together this robot using our skills and knowledge of 3D design, circuitry, and programming.
The robot uses a photoresistor array and an LED to illuminate the track and measure the intensity of the light reflected back so our program could monitor where the black line was relative to the front of the robot. We included a motor shield to control the output speed of our motor and used PID (proportional integral derivative) control implemented through our code to make the two motors on the different wheels spin at different speeds, allowing the robot to turn. The 3D printed frame was what held everything together, and we made ours extendable so it was possible to see how the distance between the photoresistor sensors and the back wheels could possibly benefit our performance. We went through numerous iterations of our design (as can be seen in the CAD gallery below) and finally settled on one we were proud to call our own. Scroll down to see more details on the design process.
You can see all of the electronics of the robot in this gallery below. Click the images to find out more details on them!

Diagram of PID control circuit

Actual PID control circuit

Diagram of photoresistor sensor array cuircuit

Actual photoresistor sensor array circuit

Motor shield circuit (to control motors with precision)

Mapping of all of the electronics on the frame of the robot
The gallery below contains images of all of the CAD prototypes for the frame of the robot. The final frame we used is the one in the last picture in this gallery. Please Click on the images to find out more about them!

Wheel hub for original prototype

3D printed bearing for back wheel of original prototype

Frame for original prototype
Printout of original prototype frame

Prototype #2 which was more simplistic and focused on essentials

Printout of prototype #2
