0marAmr / Fan-Control-System

[MCU]: AVR atmega32

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fan-Control_System_AVR

Implemented via AVR atmega32 MCU with 1 MHz internal clock frequency.

Project Description:

  • The fan is automatically turned OFF or ON with variable speed according to the temperature.
  • Based on the temperature read from the LM35 sensor, the MCU sets the fan speed as follows:
    i. If the temperature is less than 30C, the fan is turned off.
      ii. If the temperature is greater than or equal 30C, the fan is turned on with 25% of its maximum speed.
      iii. If the temperature is greater than or equal 60C, the fan is turned on with 50% of its maximum speed.
      iv. If the temperature is greater than or equal 90C, the fan is turned on with 75% of its maximum speed.
      v. If the temperature is greater than or equal 120C, the fan is turned on with 100% of its maximum speed.

  • The fan status is continuously updated on an LCD screen.

Project Design:

  • The Project follows modular design as shown in the diagram below:
Layered Model Layered Model Detailed
Abstraction_Layers_ Abstraction_Layers_Detailed

Project Simulation:

Project Simulation GIF

How to run:

  • Clone the project repo via git clone https://github.com/0marAmr/Fan-Control-System.
  • Open command prompt in the project directory.
  • Run make compile to compile project files.
  • Open project_simulation file found in sim directory.
  • After simulating, run make clean to remove compilation files.