Translate

Mengakses Thermocouple Tipe K Menggunakan Arduino dan MAX6675

Mengakses Thermocouple Tipe K Menggunakan Arduino dan MAX6675


                Pada siang hari ini saya akan menjelaskan mengenai bagaimana cara membuat alat monitoring suhu menggunakan sensor thermocouple tipe k dan arduino uno. Alat ini menggunakan modul MAX6675 yang digunakan untuk cold & hot juncion compensation dan amplifier atau penguat tegangan output thermocouple tipe K, sehingga arduino bisa membaca dengan mudah hasil keluaran dari sensor thermocouple tersebut, Pada contoh kali menggunakan 3 buah output yaitu 1 buah led hijau dan 2 buah relay 5 volt untuk kontrol kipas atau motor. Alat ini akan mengaktifkan led dan relay jika suhu sudah mencapai 60 derajat celcius, jika ingin merubah parameternya maka rubah nilai "60" menjadi angka yang diinginkan pada kode dibawah ini. Untuk lebih jelasnya berikut program dan skema alat yang digunakan. Library MAX6675 bisa didownload di link berikut LINK.

(thermocouple.readCelsius() >= 60)


a. Arduino Uno




b. Thermocouple Tipe K dan MAX6675




c. LCD Display 16x2




d. Rangkaian Relay dan LED







e. Program Arduino IDE

#include <max6675.h>
#include <LiquidCrystal.h>
#include <Wire.h>

int relay1 = A0;
int relay2 = A1;
int led = 7;

int thermoDO = 4; //bisa juga S0
int thermoCS = 5;
int
thermoCLK = 6; //bisa juga SCK

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
int vccPin = 3;
int gndPin = 2;



//RS, E, D4, D5, D6, D7

LiquidCrystal lcd(8, 9, 10, 11, 12, 13);

// make a cute degree symbol
uint8_t degree[8]  = {140,146,146,140,128,128,128,128};

void setup() {
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
  pinMode(led, OUTPUT);
 
  Serial.begin(9600);
  // use Arduino pins
  pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);
  pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW);
 
  lcd.begin(16, 2);
  lcd.createChar(0, degree);

  // wait for MAX chip to stabilize
  delay(500);
}

void loop() {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("SUHU = ");
 
  int dataku = thermocouple.readCelsius();
 
  lcd.print(thermocouple.readCelsius());
 
#if ARDUINO >= 100
  lcd.write((byte)0);
#else
  lcd.print(0, BYTE);
#endif
  lcd.print("C ");
  delay(1000);

if (thermocouple.readCelsius() >= 60) {
  digitalWrite(relay1, HIGH);
  digitalWrite(relay2, LOW);
  digitalWrite(led, HIGH);
}
else {
  digitalWrite(relay1, LOW);
  digitalWrite(relay2, HIGH);
  digitalWrite(led, LOW);
}    
}




f. Program Arduino IDE versi 2

#include <max6675.h>
#include <LiquidCrystal.h>
#include <Wire.h>

int relay1 = A0;
int relay2 = A1;
int led = 7;
int x = 0;

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

MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
int vccPin = 3;
int gndPin = 2;

LiquidCrystal lcd(8, 9, 10, 11, 12, 13);

// make a cute degree symbol
uint8_t degree[8]  = {140,146,146,140,128,128,128,128};

void setup() {
  pinMode(relay1, OUTPUT);
  pinMode(relay2, OUTPUT);
  pinMode(led, OUTPUT);
 
  Serial.begin(9600);
  // use Arduino pins
  pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);
  pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW);
 
  lcd.begin(16, 2);
  lcd.createChar(0, degree);

  // wait for MAX chip to stabilize
  delay(500);
}

void loop() {
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("SUHU = ");
 
  int dataku = thermocouple.readCelsius();
 
  lcd.print(thermocouple.readCelsius());
 
#if ARDUINO >= 60
  lcd.write((byte)0);
#else
  lcd.print(0, BYTE);
#endif
  lcd.print("C ");
  delay(1000);


if ((thermocouple.readCelsius() >= 50) && (x == 0)) {
  digitalWrite(relay2, LOW);
  digitalWrite(relay1, HIGH);
  delay(10000);
  digitalWrite(relay2, LOW);
  digitalWrite(relay1, LOW);
  x = 1;
}
else {

if ((thermocouple.readCelsius() >= 50) && (x == 1)) {

 digitalWrite(relay2, LOW);
 digitalWrite(relay1, LOW);

}
else if ((thermocouple.readCelsius() <= 50) && (x == 0)) {
  
  digitalWrite(relay1, LOW);
  digitalWrite(relay2, HIGH);

}

else if ((thermocouple.readCelsius() <= 50) && (x == 1)) {
  
  digitalWrite(relay1, LOW);
  digitalWrite(relay2, HIGH);

}

}

}


 
g. VIDEO HASILNYA












No comments:

Post a Comment