The goal of this project was to have a introduction to Embedded Systems and the programming language C. We used our acquired knowledge to write low level code to implement software that would allow the MSP430 to guide the robot around the track.
To achieve this, I learned about registers, General Purpose inputs and outputs, motors, the protocol I2C and SPI, Finite State Machines and various types of sensors such as reflectance sensors, light sensors and bump sensors.
Reflectance Sensor - it allows the robot to different an object that will reflect light(white background) from an object that won't(black racetrack). This helped the microcontroller keep track of where the black line was located.
Light Sensor - I used the light sensor to alert the MSP430 of how illuminated the area around the robot is. I programmed the robot to change movement speed based on the available light.
Bump Sensors- These sensors alerted the microcontroller when the robot's path was obstructed so that it knows to stop the motors.
The robot successfully passed all necessary criteria and a video of it navigating the racetrack as well as some other difficult tasks can be seen to the right.