Skip to content
Advertisements

Measure high temperatures with K-type thermocouple + MAX 6675 with Arduino

 

Hello, and welcome to this tutorial, today we’re using a new type of temperature measure: a type K thermocouple with MAX6675 IC, the thermocouple uses the Seebeck effect to generate a continous voltage proportional to the temperature and there’s a chart that shows you the approximate values in mV for example 30°C can generate 1.2 mV… I did some measure with the multimeter in the tutorial video, but these values are too small to be exploited directly with the Arduino board, that’s why we add the MAX 6675 to convert the signal given by the probe to a digital signal, this chip can convert from 0°C to 1024 °C (Don’t put the chip there though :D).

The library I’m using can deliver both Celsius and Fahrenheit without any math.

This module and probe are very good for high temperatures projects, also the probe has a robust wire and water resist.

K-Type Thermocouple with MAX6675 AD Module-1000x750

This is the module I’ve used, there’s two inputs for the thermocouple, don’t forget that’s polarized, (Yellow/Red) = ( + / – ), (Red/Blue) = ( + / – ) … Yellow/Red is the common industrial colors, but some versions like the one I’m using has Red/Blue.

 

Wiring:

1

or with LCD i2c screen

2.jpg

 

Libraries:

Codes:

Since they’re small here’s txt version too.

Code 1:

/*This code is to work with MAX6675 k-type thermocouple converter
 *It reads the data from the module and shows the temperature values in C and F
 *Modified from Example code www.ladyada.net/learn/sensors/thermocouple
 *Refer to www.SurtrTech.com for more details
 */
#include <max6675.h>

int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
  
void setup() {
  Serial.begin(9600);
  delay(500);
}

void loop() {
  
   Serial.print("C = "); 
   Serial.print(thermocouple.readCelsius());
   Serial.print("\t");
   Serial.print("F = ");
   Serial.println(thermocouple.readFahrenheit());
 
   delay(1000);
}

 

Code 2:

/* This code works with MAX6675 k type thermocouple converter and LCD i2c Screen
* It reads the data and show temperature value in F and C on LCD i2c screen
* Refer to www.SurtrTech.com for more details
*/

#include <max6675.h> 
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR 0x27 //I2C adress, you should use the code to scan the adress first (0x27) here
#define BACKLIGHT_PIN 3 // Declaring LCD Pins
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7

int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;

LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);

void setup() {
lcd.begin (16,2);
lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
lcd.setBacklight(HIGH); //Lighting backlight
lcd.home ();
}

void loop() {
lcd.print("C= "); 
lcd.setCursor(4,0);
lcd.print(thermocouple.readCelsius());
lcd.setCursor(0,1);
lcd.print("F= ");
lcd.setCursor(4,1);
lcd.print(thermocouple.readFahrenheit()); 
delay(1000);
lcd.clear();
}

 

I hope you like it, and if there’s any problem contact me.

 

Advertisements

Yassine View All

Electronics, Automation engineering student... I try to share my little experience with other electronics amateur.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: