TEMPERATURE CONTROLLED FAN
CIRCUIT DIAGRAM
INTRODUCTION
This project controls a DC fan automatically based on room temperature using Arduino. A
DHT11 sensor reads the temperature, and the fan speed changes accordingly. The current
temperature and fan status are shown on an LCD display
BILL OF MATERIALS
S No Component Name Specification Quantity
1 Arduino Uno - 1
2 Temperature and humidity DHT11 1
sensor
3 DC motor 5V 1
4 Fan blade - 1
5 LCD 16x2 - 1
6 Resistor - 1
7 Potentiometer 10k ohm 1
8 Jumper wires - As Required
PIN CONNECTIONS
ARDUINO LCD
5V VSS - Potentiometer 1
GND VDD - Potentiometer 3
D7 RS
GND RW
D6 E
D5 D4
D4 D5
D3 D6
D2 D7
5V Resistor - A
GND K
V0 - Potentiometer 2
ARDUINO DHT11
5V VCC
D12 DATA
GND GND
Arduino Motor
D9 +ve
GND -ve
WORKING
The DHT11 sensor reads the temperature. The Arduino processes this value and controls the
fan speed using PWM signals through a transistor. The LCD displays the current temperature
and fan status (OFF/20%/60%/100%).
PWM (Pulse Width Modulation) – Technical Description
Pulse Width Modulation (PWM) is a digital technique used to control analog devices with
digital outputs. It achieves this by switching a signal ON and OFF at a high frequency, where
the width of the ON time (pulse) determines the average voltage or power delivered to the
load.
Frequency (f): Number of ON/OFF cycles per second, measured in Hertz (Hz)
Duty Cycle (D): Percentage of time the signal is HIGH in one period
Duty Cycle(%)=(Ton/( Ton+ Toff)) x 100
COMPONENT DESCRIPTION
Arduino Uno
The Arduino Uno is a popular open-source microcontroller board based on the ATmega328P.
It has 14 digital I/O pins (6 can be used as PWM outputs), 6 analog inputs, and supports serial
communication. It is widely used for prototyping and educational projects due to its
simplicity and USB programmability.
PIN DESCRIPTION
Vin Input voltage when using external power (7–12V)
5V Regulated 5V output for components
3.3V Regulated 3.3V output for low-power devices
GND Ground pin
A0- A5 Analog input (0–5V) converted to digital (10-bit
resolution)
A4 Also used as I²C SDA (data line)
A5 Also used as I²C SCL (clock line)
D0 - D13 Digital i/o pins
D0(RX) Serial Receive pin (used for UART communication)
D1(TX) Serial Transmit pin
D2 - D13 General-purpose digital I/O pins
D3, D5, D6, D9, D10, D11 PWM-capable pins (use analogWrite())
D13 Connected to on-board LED (LED_BUILTIN)
RST Resets the microcontroller manually
AREF Analog Reference voltage for precise analog readings
ICSP Header Used for programming with an external programmer
LED_BUILTIN LED connected to D13
On-board
USB Port Used to upload code and power the board via PC
Barrel Jack Accepts 7–12V DC adapter as external power
DHT11
The DHT11 is a basic, low-cost digital temperature and humidity sensor. It uses a capacitive
humidity sensor and a thermistor to measure the surrounding air and provides a digital output.
It is easy to interface with microcontrollers and is suitable for environmental monitoring
projects.
PIN DESCRIPTION
VCC Power supply (3V to 5V) DC
GND Ground
DATA Sends digital temperature and humidity data
to Arduino
16x2 LCD
The 16x2 LCD (Liquid Crystal Display) is a widely used alphanumeric display module in
embedded systems and microcontroller-based applications. It is called "16x2" because it can
display 16 characters per line on 2 lines, making it suitable for showing messages, sensor
data, status updates, and more in [Link] display is typically based on the HD44780
controller IC, a de facto standard for character LCDs. It supports communication in both 4-bit
and 8-bit modes
Pin No. Name Description
1 VSS Ground (0V)
2 VDD Power supply (+5V)
3 VO Contrast control (connect to potentiometer)
4 RS Register Select (0 = Command, 1 = Data)
5 RW Read/Write (0 = Write, 1 = Read) – usually tied to GND
6 E Enable signal (starts data read/write)
7–14 D0–D7 Data pins (used to send data/commands)
15 A Backlight LED positive (+5V with a resistor)
16 K Backlight LED negative (GND)