As a final project for my CSE 474 class “Introduction to Embedded Systems”, we were tasked to create a model solution to a problem
using task schedulers in arduino. Using a preemptive scheduler provided by FREERTOS, which can be quickly incorporated with arduino,
my lab partner and I were able to create what could be considered a air conditioner, or automated fan.
^Final Product!
The project was a culmination of all I had learned about embedded systems up to that point, using built in timer hardware from the arduino which I taught myself by reading the hardware specifications, 7 segment display pinouts, and learning how to use the other devices such as the temperature/humidity sensor on the fly.
I required of this project was to include some interactability for a user that would change how the system functions, for us, a user is able to turn a potentiometer, changing a value on the 7-segment LED displays. This value is then used to decide when the fan
should turn on. If the temperature read by the sensor is higher than the one set by the user, the arduino is signalled to activate
the fan. Essentially, this device is a cooling device that could be incorporated in a computer to cool a cpu. I call this my arduino AC!
This project uses a majority of the available memory that can be used by arduino and resembles the limits that I can currently push
arduino. I hope to make more projects in the future!
The code and report for this project can be found in my github at the following links:
Code Report
(The report includes the project as well as a few other enbeedded systems related procedures, such as playing music, and performing fast fourier transform calculations on a randomized number dataset)
The included video shows me adjusting the temperature below the current temperature that is read on the LCD display. The fan then subsequently turns on (with a little help to start it since it seems the arduino supplied voltage is not enough for the fan).