Temperature Based Fan Speed Controller Using Arduino
Temperature Based Fan Speed Controller Using Arduino
----------------------------------------------------***--------------------------------------------------------
ABSTRACT: We all know that we are moving towards We will be interfacing LCD display which will be used to
the automation. So basically in this project we will be display the set temperature as well as the fan speed in
controlling the speed of the fan according to the percentage.
temperature of the surrounding .The system will get the .
temperature from the temperature sensor and it will control
the speed according to the temperature set by the user. It II. BLOCK DIAGRAM: The below fig.1
shows the block diagram of the temperature
also uses the LCD display to display temperature from – 55
based fan speed controller,
to 125c and speed of the fan in percentage. The Arduino
device plays a major role as the processing part. If the
surrounding temperature is greater than set temperature fan
turns on else vice-versa.
By this project it is helpful to save the energy
where saving of energy is one of the most important thing
we are facing load shedding.
I. INTRODUCTION: Fig.1
In this project we will be using the concept of
firing angle to control fan speed. Basically the project is As shown in above block diagram ardunio uno acts as
based on controlling fan speed with respect to the the processing devise or controlling device,
temperature. temperature sensor and power supply are the input
The system will get the temperature from the devices to the arduino, fan and LCD display are the
temperature sensor via the ADC and it will control the output units.
speed according the set by the user. The temperature is set
in the source code are used to increment and decrement the III. CIRCUIT DIAGRAM:
temperature value according to the user requirement.
In this project, an ardunio Uno forms the The below fig.2 shows the circuit diagram of the
processing part, which firstly senses the temperature via the temperature based fan speed controller,
ADC the controller then compares the data with the set
temperature which the user can set via the keypad. If the
current temperature is greater than the set temperature the
controller turns ON the fan and the set speed will be
proportional to the difference between the set temperature
and the current temperature. If the current temperature is
less than the set temperature the fan will be turned OFF.
We will be using a transistor to provide the require firing
angle to the fan and the fan speed will change accordingly.
Specifications:
1. Microcontroller-ATmega328
2. Operating Voltage-5V Input Voltage
3. Input Voltage–6 to 20V
4. Digital I/O Pins-14 Analog Input Pins:6
5. DC Current for the 3.3V Pin-50 mA
6. Flash Memory-32KB SRAM :2KB
7. EEPROM-1 KB
8. Clock Speed-16MHz
LM35
Fig.2
Arduino UNO:
Fig.5
Specifications:
1. Ground(0V)
2. Supply voltage; 5V(4.7V–5.3V)
3. Contrast adjustment;
Fig.3 4. When low command register is selected & when high
data register is selected.
5. Low to write to the register; High to read from the
int temp;
if(temp >tempMax)
inttempMin = 30; inttempMax = 60; intfanSpeed;
{
intfanLCD;
digitalWrite(led, HIGH);
void setup() {
}
pinMode(fan, OUTPUT);
else
pinMode(led, OUTPUT);
{
pinMode(tempPin, INPUT);
digitalWrite(led, LOW);
lcd.begin(16,2);
}
Serial.begin(9600);
lcd.print("TEMP: ");
}
lcd.print(temp);
void loop()
lcd.print("C ");
{
lcd.setCursor(0,1);
temp = readTemp();
lcd.print("FANSPEED: ");
Serial.print( temp );
lcd.print(fanLCD);
if(temp <tempMin)
lcd.print("%");
{
delay(200);
fanSpeed = 0;
lcd.clear();
intreadTemp()
temp = analogRead(tempPin);
}
Table.2
VI. RESULT:
Table.3
Future scope:
• The proposed model can be improvised further to
monitor humidity, light & at at a same time to control
them.
• The project will concentrate on electric fan rather than
other type of fan such as celling fan.
• We can also draw graphs of variation in the parameters
using computer.
• It is used to send the data to the remote location using
Table.1 internet