The Embedded Systems Robot was a class long project for a class called Intro to Embedded Systems. The premise of this class was to learn about embedded systems primarily through the semester long project of assembling and programming our own robots which had to perform pre-determined tasks. More specifically, this course introduced designing microcontroller-based embedded computer systems using assembly and C programs to control input/output peripherals. This course uses the MSP430FR2355 microcontroller by TI because it is a good teaching tool for learning about peripherals while also being versatile for real world projects.
I enjoyed this class because it was challenging, but also pushed me to learn more practical application of engineering than I had learned from any other class. I had to learn how to troubleshoot software and hardware at the same time, which really pushed me to gain a deeper understanding of the entire system and how the code I was writing translated into component operation.
The project began with receiving an MSP430FR2355 microcontroller, and several custon circuit board designed by my professor. We began the project by soldering on several components and busses that were not placed on the board by a pick-in-place machine. Then we were responsible for testing the boards for defects as they had not been tested after their original assembly.
The image on the right shows one of our first projects, which was to get the LCD backlight to turn on, which would only happen if we had correctly configured the microcontroller ports.
IR Sensor Test and Black Line Interception
Black Line Following
Serial Communication Hardware Test
Bot Connects to Wifi
DAC Troubleshooting
Part of the embedded systems course included creating write ups to document our troubleshooting process. The following documents are the write ups for Project 6 (black line detection), Project 8 (serial communication), and Project 10 (combining all previous projects into a functioning car)
Project 6 Write Up "Black Line Detection"
Project 8 Write Up "Serial Communication"
Project 10 Write Up "Putting it All Together"
The following are code samples from some of the embedded projects. The code sample on the left is the piece of code that controls the IOT module start up, and the code on the right is the bulk of my black line following algorithm.