Showing posts with label automated fan. Show all posts
Showing posts with label automated fan. Show all posts

Source Code For "AUTOMATED FAN SPEED CONTROLLER" using Thinkercad


Author : Maheshkumar W

 #include <LiquidCrystal.h>


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

float temp;

int tempPin = A1;

int relayPin = 8;

#define fan 9


void setup(){

        pinMode(fan, OUTPUT);

        pinMode(relayPin, OUTPUT);

  lcd.begin(16, 3);

  lcd.setCursor(1, 1);

  lcd.print("Automated Temperature Control");

  delay(1000);

  lcd.clear();

        lcd.setCursor(3,0);

        lcd.print("Develped By YOUR NAME");

        delay(1000);

        lcd.clear();

        lcd.print("Lets Get Started");

        delay(2000);

        lcd.clear();

        lcd.print("AUTO TEMPERATURE");

        delay(2000);

        lcd.clear();  

}


void loop()

{

  lcd.setCursor(3,0);

  lcd.print("Recording");

  lcd.setCursor(2, 1);

  lcd.print("Temperature..");

  delay(3000);

  lcd.clear();

  lcd.setCursor(0,2);

  temp = analogRead(tempPin);

  //temp = temp*0.48828125;

  float voltage = temp * 5.0;

  voltage /= 1024.0; 

 // print out the voltage

  lcd.print(voltage); lcd.println(" volts");


 // now print out the temperature

 float temperatureC = (voltage - 0.5) * 100 ;  //converting from 10 mv per degree wit 500 mV offset

                                                                              //to degrees ((voltage - 500mV) times 100)

 

  lcd.setCursor(0, 0);

  lcd.print("Temperature = ");

  lcd.setCursor(2,1);

  //lcd.print(temp);

  lcd.print(temperatureC); lcd.println(" degrees C");

  delay(3000);

  lcd.clear();

  

  if(temperatureC >= 20)

  {

  poweronRelay();

    if(temperatureC >= 20 && temperatureC <= 25)

    {

      analogWrite(fan,51);

      lcd.print("Fan Speed: 20% ");

      delay(2000);

      lcd.clear();

    }

    else if(temperatureC <= 35)

    {

      analogWrite(fan,102);

      lcd.print("Fan Speed: 40% ");

      delay(2000);

      lcd.clear();

    }

    else if(temperatureC <= 40)

    {

      analogWrite(fan,153);

      lcd.print("Fan Speed: 60% ");

      delay(2000);

      lcd.clear();

    }

    else if(temperatureC <= 44)

    {

      analogWrite(fan,200);

      lcd.print("Fan Speed: 80% ");

      delay(2000);

      lcd.clear();

    }

    else if(temperatureC >= 45)

    {

      analogWrite(fan,255);

      lcd.print("Fan Speed: 100% ");

      delay(2000);

      lcd.clear();

    }

  }

  else if(temperatureC < 20)

  {

  poweroffRelay();

  }

}


void poweronRelay()

  {

    digitalWrite(relayPin, HIGH);

    lcd.print("Fan ON");

    delay(2000);

    lcd.clear();

  }


void poweroffRelay()

  {

  digitalWrite(relayPin, LOW);

  analogWrite(fan,0);

        lcd.print("Fan OFF");

        delay(2000);

        lcd.clear();

  }


Read More »