Digital Temperature Controller DIY Homemade

Introduction

In this video I have made a Digital Temperature Controller DIY Homemade using Arduino and a few more components. I hope you learn something from this video.

A temperature controller is an tool used to manipulate temperature calculating the distinction among a setpoint and a measured temperature. The controller takes an enter from a temperature sensor and has an output this is related to a manage detail including a heater or fan.

To as it should be manage system temperature with out large operator involvement, a temperature manage device is based upon a controller, which accepts a temperature sensor including a thermocouple or RTD as enter. It compares the real temperature to the preferred manage temperature, or setpoint, and gives an output to a manage detail. The temperature controller or thermostat is one a part of the whole manage device, and the complete device ought to be analyzed in choosing the right equipment.

An on-off temperature controller is the most effective shape of manage tool. The output from the tool is both on or off, and not using a center state. An on-off manage tool will transfer the output most effective while the temperature crosses the setpoint. For heating manage, the output is on while the temperature is under the setpoint, and rancid above setpoint. Since the temperature crosses the setpoint to alternate the output state, the technique temperature could be biking continually, going from under setpoint to above, and lower back under.

Digital Temperature Controller DIY Thumbnail

Circuit diagram

of Digital Temperature Controller DIY Homemade

Digital Temperature Controller DIY Circuit Diagram




More Circuit Layouts






Programming Code

#include <LiquidCrystal.h>
#include <EEPROM.h>
LiquidCrystal lcd(2,3,4,5,6,7);
const int analogInPin = A5;  
int sensorValue = 0;        
float outputValue = 0;  
float a = 0; 			
int sensorVolt = 0;        
int outputVolt,b,x,ps,ph,pl,s,m,t;
int tt; 
void setup() {
  Serial.begin(9600);
    lcd.begin(16, 2);
  pinMode(8,INPUT);
 pinMode(9,INPUT);
  pinMode(10,INPUT);
pinMode(11,INPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
ps= EEPROM.read(0);
}
void loop() {
  if(m==0){
  for(int i=0;i<10;i++){
  // read the analog in value:
  sensorValue = analogRead(analogInPin);
  // map it to the range of the analog out:
  
outputValue = float(sensorValue);
 outputValue=outputValue-10;
  a=a+outputValue;
  }
  a=a/10;
outputValue=a;  
//corrections
  lcd.setCursor(0, 0);
   lcd.print("Temp=" );
   lcd.print(outputValue );
    lcd.print("C       " );
  
lcd.setCursor(0, 1);
      lcd.print("S=" );
      lcd.print(ps );
      lcd.print("C" );
      if(outputValue<(ps-1)){
         lcd.print(" Heating   " );
         digitalWrite(12,HIGH);
         delay(100);
         }
     if(outputValue>(ps+1)){
         lcd.print(" Cooling   " );
         digitalWrite(13,HIGH);
         delay(100);}
        if(outputValue<(ps+1)&outputValue>(ps-1)) {
          lcd.print(" Normal    " );
       
         digitalWrite(12,LOW);
         digitalWrite(13,LOW);
         }
  }
   for(int i=0;i<100;i++){
if(m==1){
  
    lcd.setCursor(0, 0);
lcd.print(" Set Temprature " );
    lcd.setCursor(0, 1);
  lcd.print(" Limit = " );
  lcd.print(ps);
  lcd.print("C    " );
    if(!digitalRead(8)&digitalRead(9)&digitalRead(10)){
      x++;
      Serial.println(x);
      if(x==100){
        m=0;
      //save values in eeprom
  EEPROM.write(0, ps);
       x=0;
          }}
       
      
  if(!digitalRead(9)){
    delay(200);
      ps=ps+1;
       if(!digitalRead(8)){     ps=ps+9;}
    if(ps>250){
      ps=250;}
      }
  
    if(!digitalRead(10)){
      delay(200); 
      ps=ps-1;
             if(!digitalRead(8)){     ps=ps-9;}
    if(ps<0){
      ps=0;
   
      }
  } 
  }
    if(!digitalRead(8)&m==0){
      x++;
      
      Serial.println(x);
      if(x==300){
          lcd.clear();
        m=1;
      x=0;
      }
      }else if (digitalRead(8)){
         x=0;
        }
  delay(10);}
}

Components List

used in Digital Temperature Controller DIY



Watch Video Tutorial

(Visited 483 times, 1 visits today)

Leave a Reply

Your email address will not be published.