Sebelum posting ini saya pernah menulis tentang project termometer dengan LM35 saja dan Max6675 saja. Kali ini saya menggabungkan kedua project tersebut untuk membandingkan kedua jenis IC sensor suhu tersebut.
Termometer adalah alat pengukur suhu. Untuk membuat termometer dibutuh sensor suhu, yang nantinya akan dikendalikan oleh Arduino.
Termometer adalah alat pengukur suhu. Untuk membuat termometer dibutuh sensor suhu, yang nantinya akan dikendalikan oleh Arduino.
Sensor suhu yang kita gunakan yaitu Max6675 dan LM35.
Perbedaan antara kedua sensor ini yaitu:
No.
|
Perbedaan
|
LM35
|
MAX6675
|
1.
|
Jangkauan suhu
|
0-100 °C
|
0-1000 °C
|
2.
|
Cara kerja input
|
Analog
|
Digital
|
3.
|
Sensor
|
Sistem elektronika
|
Menggunakan termocouple
|
4.
|
Sensitivitas
|
Rendah
|
Tinggi
|
Max6675 cocok digunakan pada tungku pembakaran yang
memiliki suhu di atas 100 °C.
Kebutuhan software dan hardware:
- Library LiquidCrystal.h untuk LCD dan MAX6675.h untuk sensor Max6675 di https://github.com/adafruit/Adafruit_LiquidCrystal dan https://github.com/adafruit/MAX6675-library
- Arduino Uno
- LCD
- Sensor suhu LM35
- Sensor suhu MAX6675 dan termocouple
- Kabel jumper male-male
Kode:
//Inisialisasi Library untuk LCD
#include <LiquidCrystal.h>
//Inisialisasi Library untuk MAX6675
#include <MAX6675.h>
int LED1 = 9; // Status LED Pin
int CS = 10; // CS pin on MAX6675
int SO = 12; // SO pin of MAX6675
int SCK0 = 11; // SCK pin of MAX6675
int units = 1; // Units to readout temp (0 = raw, 1 = ˚C, 2 = ˚F)
float adc, suhu, temperature; // Temperature output variable
// Inisialisasi Pin Mode untuk LCD
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
// Inisialisasi Pin Mode untuk MAX6675
MAX6675 temp(CS,SO,SCK0,units);
/*Menampilkan Pesan Pembuka pada LCD */
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.print("MONITORING SUHU");
lcd.setCursor(0, 1);
lcd.print("2 CH DG ARDUINO");
delay(2000);
lcd.clear();
/*Menampilkan Nama Sensor pada LCD*/
lcd.print("Sensor 1:");
lcd.setCursor(0,1);
lcd.print("Sensor 2:");
pinMode(LED1, OUTPUT);
}
void loop()
{
// Membaca temperatur dari sensor MAX6675
temperature = temp.read_temp();
// Membaca temperatur dari sensor LM35
adc = analogRead(0); //inisiasi pembacaan dari pin analog
suhu=adc*(5.0*100.0/1024.0) ;
/*Resolusi ADC(Analog to Digital Converter) adalah 10 bit, artinya
nilai terkecilnya 0(tegangan masukan 0 volt) dan terbesar 1024 (tegangan masukan 5 volt)
1 bit = 5V/1024 = 4,89mV */
delay(500);
lcd.setCursor(9,0);
lcd.print(suhu); //output suhu LM35
lcd.print(char(0xDF));
lcd.print("C ");
lcd.setCursor(9,1);
lcd.print(temperature); //output suhu MAX6675
lcd.print(char(0xDF));
lcd.print("C ");
delay(500);
}
No comments:
Post a Comment