0% found this document useful (0 votes)
11 views5 pages

Temp Based Fan Speed Control and Monitoring

The document outlines a project for a temperature-based fan speed control system using Arduino Uno, a temperature sensor, and a DC motor driver. It details the necessary components, hardware connections, software requirements, working principles, and a fan speed control algorithm based on temperature ranges. Additionally, it discusses monitoring features, applications, challenges, and provides sample code for implementation.

Uploaded by

7781yadarsh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views5 pages

Temp Based Fan Speed Control and Monitoring

The document outlines a project for a temperature-based fan speed control system using Arduino Uno, a temperature sensor, and a DC motor driver. It details the necessary components, hardware connections, software requirements, working principles, and a fan speed control algorithm based on temperature ranges. Additionally, it discusses monitoring features, applications, challenges, and provides sample code for implementation.

Uploaded by

7781yadarsh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

T‭ emperature-Based Fan Speed‬

‭Control and Monitoring‬


‭10.11.2024‬
‭─‬

‭ADARSH, ASHISH‬
C‭ lass XI ‘A’‬
‭PM SHRI KV CHITTARANJAN‬
‭1‬

‭Temperature-Based Fan Speed Control and Monitoring‬

‭Project Overview:‬

‭ esign a system to control fan speed based on temperature changes using‬


D
‭Arduino Uno, temperature sensor, and DC motor driver.‬

‭Components:‬

‭1. Arduino Uno‬


‭2. Temperature Sensor (LM35 or TMP36)‬
‭3. DC Motor Driver (L298N or L293D)‬
‭4. DC Fan (12V or 5V)‬
‭5. Breadboard and Jumper Wires‬
‭6. Power Supply (Battery or Adapter)‬

‭Hardware Connections:‬

‭1. Temperature Sensor to Arduino Uno:‬


‭- VCC to 5V‬
‭- GND to GND‬
‭- OUT to Analog Pin 0‬
‭2. DC Motor Driver to Arduino Uno:‬
‭- IN1 to Digital Pin 2‬
‭- IN2 to Digital Pin 3‬
‭- VCC to 5V‬
‭- GND to GND‬
‭2‬

‭3. DC Fan to DC Motor Driver:‬


‭- Positive to OUT1‬
‭- Negative to OUT2‬

‭Software Requirements:‬

‭1. Arduino IDE‬


‭2. Temperature Sensor Library (e.g., LM35)‬

‭Working Principle:‬

‭1. Temperature sensor measures ambient temperature.‬


‭2. Arduino Uno reads temperature data and calculates fan speed.‬
‭3. Fan speed is controlled using PWM (Pulse Width Modulation) signals.‬
‭4. DC motor driver adjusts fan speed accordingly.‬

‭Fan Speed Control Algorithm:‬

‭1. Temperature < 25°C: Fan Off‬


‭2. 25°C ≤ Temperature < 30°C: Low Speed (20%)‬
‭3. 30°C ≤ Temperature < 35°C: Medium Speed (50%)‬
‭4. Temperature ≥ 35°C: High Speed (100%)‬

‭Monitoring Features:‬

‭1. Temperature display on serial monitor or LCD‬


‭2. Fan speed display on serial monitor or LCD‬
‭3‬

‭3. Optional: Alert system for extreme temperatures‬

‭Applications:‬

‭1. Temperature control in greenhouses‬


‭2. Cooling systems for electronics‬
‭3. HVAC systems‬
‭4. Industrial automation‬

‭Challenges:‬

‭1. Temperature sensor accuracy‬


‭2. Fan speed control precision‬
‭3. Power consumption and efficiency‬

‭CODE:‬
‭const int tempPin = A0; // Temperature sensor pin‬

‭const int fanPin = 2; // Fan control pin‬

‭const int fanMinSpeed = 20; // Minimum fan speed (20%)‬

‭const int fanMaxSpeed = 100; // Maximum fan speed (100%)‬

‭void setup() {‬

‭Serial.begin(9600);‬

‭pinMode(fanPin, OUTPUT);‬

‭}‬

‭void loop() {‬

‭int temp = analogRead(tempPin);‬

‭float temperature = (temp * 5.0 / 1024.0) - 0.5;‬


‭4‬

‭if (temperature < 25) {‬

‭analogWrite(fanPin, 0); // Fan off‬

‭} else if (temperature < 30) {‬

‭analogWrite(fanPin, fanMinSpeed); // Low speed‬

‭} else if (temperature < 35) {‬

‭analogWrite(fanPin, fanMinSpeed + (fanMaxSpeed - fanMinSpeed) / 2); // Medium speed‬

‭} else {‬

‭analogWrite(fanPin, fanMaxSpeed); // High speed‬

‭}‬

‭Serial.print("Temperature: ");‬

‭Serial.print(temperature);‬

‭Serial.println("°C");‬

‭Serial.print("Fan Speed: ");‬

‭Serial.print(map(analogRead(fanPin), 0, 255, 0, 100));‬

‭Serial.println("%");‬

‭delay(1000);‬

‭}‬

You might also like