Thermocouple interfacing with arduino & I2C LCD in proteus

Thermocouple interfacing with arduino & I2C LCD in proteus

In this article we will learn how to interface arduino with Thermocouple and LCD in proteus.
In the last post we will learn how to interface arduino with Automatic parking system in proteus. You can visit our website,
I hope you appreciate my work, let’s discuss about today’s project.

What is Thermocouple?

 

Components which we use in this project are listed below:

  1. Arduino UNO
  2. I2C
  3. K type Thermocouple
  4. Voltage rectifier of Thermocouple
  5. LCD display
  6. Jumper wires

Diagram of this project is below:

Thermocouple interfacing with arduino & I2C LCD in proteus
Thermocouple interfacing with arduino & I2C LCD in proteus

Construction of Thermocouple interfacing with arduino & I2C LCD in proteus:

  • Connect the pin 7 of arduino with the pin 7 of Voltage rectifier
  • Connect the pin 6 of arduino with the pin 5 of Voltage rectifier
  • Connect the pin 5 of arduino with the pin 6 of Voltage rectifier
  • Connect the pin 2 of Voltage rectifier with the –ve side of Thermocouple
  • Connect the pin 3 of Voltage rectifier with the +ve side of Thermocouple
  • Connect the A4 pin of Arduino with the pin 15 of I2C
  • Connect the A5 pin of Arduino with the pin 14 of I2C
  • Connect the VDD point of LCD display with the +ve
  • Connect the VSS point of LCD display with the GND
  • Connect the P0 pin of I2C with the pin RS of LCD display
  • Connect the P1 pin of I2C with the pin RW of LCD display
  • Connect the P2 pin of I2C with the pin E of LCD display
  • Connect the P3 pin of I2C with the pin D3 of LCD display
  • Connect the P4 pin of I2C with the pin D4 of LCD display
  • Connect the P5 pin of I2C with the pin D5 of LCD display
  • Connect the P6 pin of I2C with the pin D6 of LCD display
  • Connect the P7 pin of I2C with the pin D7 of LCD display

Working of Thermocouple interfacing with arduino & I2C LCD in proteus:

Interfacing a thermocouple with an Arduino, along with an I2C & LCD display, can be a useful project for measuring and displaying temperature readings:

Applications of Thermocouple interfacing with arduino & I2C LCD in proteus:

  1. Temperature Monitoring
  2. Cooking and Food Processing
  3. HVAC Systems
  4. Environmental Monitoring
  5. Scientific Experiments

Advantages of Thermocouple interfacing with arduino & I2C LCD in proteus:

  1. Wide Temperature Range
  2. High Accuracy
  3. Fast Response Time
  4. User-Friendly Display

Program of this project is below:

#include <SPI.h>

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x20,16,2);//address of lcd, column no, row no.

 

#define CS 5

#define SO 7

#define SCK 6

 

void setup()

{

lcd.begin();

lcd.backlight();

 

lcd.setCursor(0,0);

lcd.print(“hello”);

lcd.clear();

delay(500);

//Backlight ON

}

 

void loop() {

float temp_C = Thermocouple_read();

temp_C =temp_C-24.50;

if (isnan(temp_C))

{

lcd.setCursor(0,0);

lcd.print(“Connect”);

lcd.setCursor(0,1);

lcd.print(“Thermocouple”);

delay(500);

loop();

}

float Temp_fn = ((temp_C*1.8)+32);

lcd.setCursor(0,0);

lcd.print(“Termocouple Temp”);

lcd.setCursor(0,1);

lcd.print(temp_C,2);

lcd.print((char)223);

lcd.print(“C”);

lcd.setCursor(8,1);

lcd.print(Temp_fn,2);

lcd.print((char)223);

lcd.print(“F”);

delay(800);

}

 

double Thermocouple_read() {

lcd.clear();

uint16_t v_out;

pinMode(CS, OUTPUT);

pinMode(SO, INPUT);

pinMode(SCK, OUTPUT);

 

digitalWrite(CS, LOW);

delay(1);

 

v_out = shiftIn(SO, SCK, MSBFIRST);

v_out <<= 8;

v_out |= shiftIn(SO, SCK, MSBFIRST);

 

digitalWrite(CS, HIGH);

if (v_out & 0x4)

{

//Thermocouple is disconnected

return NAN;

}

 

// The lower three bits (0,1,2) are discarded status bits

v_out >>= 3;

 

// The remaining bits are the number of 0.25 degree (C) counts

return v_out*0.25;

}