Skip to content

mcigliola/Embedded_Systems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Embedded_Systems

The goal of this project was to program a microprocessor unit (MCU) to function as a thermostat. The program involves a task scheduler algorithm and utilizes a number of peripherals of the MCU, including GPIO, I2C, UART, and a built-in ambient temperature sensor. Using the GPIO buttons, the user can raise or lower the set-point temperature. Regular readings from the temperature sensor, via I2C, are compared with the set-point temperature to determine whether the heat should be activated (represented by the GPIO LED). Communication with a central server is represented by output from the UART.

In completing this project, I am proud of my overall code structure and organization, making it easy to follow. The program functions as expected and is free from bugs. The task scheduler handles coordination of continuous updates from peripherals seamlessly. If I had more time to spend on this project, I would like to work on more robust error-handling and further streamlining. While everything works well as is, I imagine there are additional opportunities for simplifying my code. However, I was able to make my code maintainable, readable, and adaptable by keeping it modular whenever possible. For example, I have separate functions for the initialization of the different system functionalities. I also implemented clear state machines and callbacks, and was careful to document the code with comments.

This was a very fun project to work on and provided a platform for building some additional skills that I can use in the future. Prior to this course I knew nothing of microprocessor architecture or state machines and now feel like I have a good foundation for continued learning in this area. I was also able to solidify my coding in C and use some new tools, such as Code Composer Studio.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors