In this project we must make a remote-controlled fan. For this we will be using an AVR processor, the ATMAGE328p. This will manage the speed of the fan with PWM. The command for how fast the fan shall run is being controlled by a master controller, a Raspberry Pi. This communication will be over USART. The AVR will get a command with a value from 0-255, based on how fast the fan should be. The AVR should then response is a fitting response.
In this post, we will go though the main points of the code and look at some of the techniques and methods used in the code. The code is written in C/C++. It is required that you have a basic knowledge of the C/C++ programming language.