0% found this document useful (0 votes)
16 views

PROGRAM

This document contains code for an Arduino project that controls a fan and LED based on temperature readings from an LM35 temperature sensor. It defines pin connections, minimum and maximum temperature thresholds, and functions for reading the temperature, controlling the fan speed based on the reading, and displaying the temperature and fan speed on an LCD screen.

Uploaded by

Jeevan N B
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

PROGRAM

This document contains code for an Arduino project that controls a fan and LED based on temperature readings from an LM35 temperature sensor. It defines pin connections, minimum and maximum temperature thresholds, and functions for reading the temperature, controlling the fan speed based on the reading, and displaying the temperature and fan speed on an LCD screen.

Uploaded by

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

#include <LiquidCrystal.

h>
LiquidCrystallcd(7,6,5,4,3,2);
inttempPin = A1; // the output pin of LM35
int fan = 11; // the pin where fan is
int led = 8; // led pin
int temp;
inttempMin = 30; // the temperature to start the fan
inttempMax = 70; // the maximum temperature when fan is at
100%
intfanSpeed;
intfanLCD;
void setup() {
pinMode(fan, OUTPUT);
pinMode(led, OUTPUT);
pinMode(tempPin, INPUT);
lcd.begin(16,2);
}
void loop() {
temp = readTemp(); // get the temperature
if(temp <tempMin) { // if temp is lower than minimum temp
fanSpeed = 0; // fan is not spinning
digitalWrite(fan, LOW);
}
if((temp >= tempMin) && (temp <= tempMax)) { // if temperature
is higher than minimum temp
fanSpeed = map(temp, tempMin, tempMax, 32, 255); // the actual
speed of fan
fanLCD = map(temp, tempMin, tempMax, 0, 100); // speed of fan
to display on LCD
analogWrite(fan, fanSpeed); // spin the fan at the fanSpeed
speed
}
if(temp >tempMax) { // if temp is higher than tempMax
digitalWrite(led, HIGH); // turn on led
} else { // else turn of led
digitalWrite(led, LOW);
}
lcd.print("TEMP: ");
lcd.print(temp); // display the temperature
lcd.print("C ");
lcd.setCursor(0,1); // move cursor to next line
lcd.print("FANS: ");
lcd.print(fanLCD); // display the fan speed
lcd.print("%");
delay(200);
lcd.clear();
}
intreadTemp() { // get the temperature and convert it to
Celsius
temp = analogRead(tempPin);
return temp * 0.48828125;
}

You might also like