Rancang Bangun Alat Pengstabil Suhu Minyak Kelapa Sawit Berbasis Mikrokontroler ATMega 8

(1)

PROPOSAL TUGAS AKHIR

Rancang Bangun Alat Penstabil Suhu Minyak Kelapa Sawit

Berbasis Mikrokontoroler ATMega 8”

Diajukan Sebagai Syarat Memenuhi Tugas Akhir dan Menyelesaikan Pendidikan Program Studi D-III Metrologi dan Instrumentasi

Fakultas Matematika dan Ilmu Pengetahuan Alam

NURIL AKHYAR

112411006

PROGRAM STUDI D-3 METROLOGI DAN INSTRUMENTASI DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2014


(2)

RANCANG BANGUN ALAT PENGSTABIL SUHU PADA MINYAK

KELAPA SAWIT

ABSTRAK

Telah dilakuka penelitian aplikasi sensor suhu DS18B20 untuk merancang dan merealisasikan alat pengstabil suhu yang berfungsi untuk mengstabilkan minyak kelapa sawit pada suhu tertentu. Dan menggunakan mikrokontroler ATMega8 untuk menggolah data masukan dari sensor DS18B20 selanjutnya dikirim keluaran tegangan ke pemanas pada wadah minyak kelapa sawit. Pengujian dilakukan dengan menguji waktu pemanas ke batas maksimum yang telah ditentukan. Dari hasil penelitian ini diperoleh waktu pemanasan yang sangat cepat.


(3)

BAB I

PENDAHULUAN

1.1Latar Belakang

Pada era modern ini, perkembangan teknologi elektronika berkembang dengan pesat. Dan untuk keperluan ilmu pengetahuan, khususnya mengenai Meterologi dan Instrumentasi diperlukan suatu alat yang dapat menentukan dan mengatur suhu suatu cairan.

Dengan memperhatikan hal tersebut diatas, maka penulis tertarik untuk mengembangkan suatu alat untuk mengukur dan mengstabilkan suhu suatu cairan. Sensor yang diaplikasikan untuk mengukur suhu suatu cairan ini yaitu dengan sensor DS18B20.

Kebanyakan sensor suhu memiliki tingkat rentang terukur yang sempit serta akurasi yang rendah namun memiliki biaya yang tinggi. Sensor suhu DS18B20 dengan kemampuan tahan air (waterproof) cocok digunakan untuk mengukur suhu pada tempat yang sulit, atau basah. Karena output data sensor ini merupakan data digital, maka kita tidak perlu khawatir terhadap degradasi data ketika menggunakan untuk jarak yang jauh. DS18B20 menyediakan 9 bit hingga 12 bit yang dapat dikonfigurasi data.

Dalam penelitian ini penulis membuat sebuah alat pengstabil suhu suatu cairan dengan menggunakan mikrokontroler ATMega8 dan menampilkannya dengan menggunakan LCD 16x2. Berdasarkan latar belakang tersebut, maka dibuatlah Tugas Akhir ini dengan judul “

Rancang Bangun Alat Pengstabil Suhu Pada

Minyak Kelapa Sawit”.


(4)

1.2 Rumusan Masalah

1. Bagaimana sistem kerja sensor DS18B20?

2. Bagaimana prinsip kerja sensor dan menampilkan ke display LCD? 3. Bagaimana cara alat dapat mengstabilkan suhu cairan kelapa sawit?

1.3 Batasan Masalah

Adapun batasan masalah pada penelitian ini, yaitu: 1. Sistem menggunakan mikrokontroller ATMega 8 2. Sistem ditampilkan display LCD

3. Sistem menggunakan sensor DS18B20

4. Sistem hanya berfungsi untuk mengatur suhu suatu cairan

1.4 Tujuan Perancangan

Adapun maksud dari penulisan ini adalah untuk memudahkan penggunaan suatu alat, yang sudah berjalan secara komputerisasi. Pembuatan sistem ini diharapkan dapat memberikan informasi yang akurat, menghemat biaya, mempermudah pencarian judul Tugas Akhir, serta menghemat waktu.

1. Merancang suatu alat yang mampu mengukur suhu fluida. 2. Membantu mengstabilkan suhu pemanasan minyak. 3. Mengetahui cara kerja sensor DS18B20.

4. Memenuhi syarat untuk menyelesaikan mata kuliah Tugas Akhir di program studi


(5)

1.5 Manfaat Perancangan

Memberikan informasi kepada pembaca tentang Perancangan Alat untuk Pengstabil SuhuMinyak Kelapa Sawit Berbasi Mikrokontroler ATMega 8 dan outputnya ke display LCD.

1.6 Sistematik Penulisan

BAB I PENDAHULUAN

Bab ini menguraikan tentang Latar Belakang, Perumusan masalah, batasan masalah, Tujuan perancangan, manfaat perancangan, sistematika penulisan.

BAB II LANDASAN TEORI

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk pembahasan dan cara kerja dari rangkaian itu antara lain tentang sensor DS18B20, Mikrokontroller ATMega 8, Output display LCD16x2 dan komponen pendukung.

BAB III PERANCANGAN SISTEM

Bab ini Membahas tentang perencanaan dan pembuatan sistem secara keseluruhan. Dan hasil perancangan disajikan dalam betuk tabel, diagram dan grafik.

BAB IV PENGUJIAN RANGKAIAN

Bab ini membahas tentang pembahasan mengenai uji coba alat yang telah dibuat. Dan hasil pengujian rangkain disajikan dalam betuk tabel, diagram dan grafik.


(6)

BAB V KESIMPULAN DAN SARAN

Berisi tentang kesimpulan Laporan Tugas Akhir dari penelitian. Dalam merumuskan kesimpulan harus merujuk kepada tujuan. Dibagian saran penulis menuliskan harapan untuk kelengkapan informasi mengenai tema yang disajikan.


(7)

BAB II

LANDASAN TEORI

Di bab ini, akan dijelaskan komponen-komponen yang digunakan untuk merancang pembuatan suatu Alat pengotrol suhu cairan dengan menggunakan sensor

waterproof DS18B20 dengan menggunkan Mikrokontroller ATMega 8 serta cara

kerjanya.

2.1 Sensor suhu DS18B20

Kebanyakan sensor suhu memiliki tingkat rentang terukur yang sempit serta akurasi yang rendah namun memiliki biaya yang tinggi. Sensor suhu DS18B20 dengan kemampuan tahan air (waterproof) cocok digunakan untuk mengukur suhu pada tempat yang sulit, atau basah. Karena output data sensor ini merupakan data digital, maka kita tidak perlu khawatir terhadap degradasi data ketika menggunakan untuk jarak yang jauh. DS18B20 menyediakan 9 bit hingga 12 bit yang dapat dikonfigurasi data.

Karena setiap sensor DS18B20 memiliki silicon serial number yang unik, maka beberapa sensor DS18B20 dapat dipasang dalam 1 bus. Hal ini memungkinkan pembacaan suhu dari berbagai tempat. Meskipun secara datasheet sensor ini dapat membaca bagus hingga 125°C, namun dengan penutup kabel dari PVC disarankan untuk penggunaan tidak melebihi 100°C.


(8)

Spesifikasi

• Tegangan yang dibutuhkan sensor dari 3.0V sampai 5.5V power/data

• Akurasinya ±0.5°C sampai -10°C, dan -10°C sampai +85°C

• Batas temperatur sensor dari -55 sampai 125°C atau -67°F sampai +257°F

• menyediakan 9 bit hingga 12 bit yang dapat dikonfigurasi data

• Menggunakan 1 kabel Antarmuka (Interface) dan hanya 1 digital pin untuk komunikasi

• Data pengenalan Identitas yang disimpan 64 bit

• Memiliki batas peringatan jika suhu tinggi

• Temperature-limit alarm system

• Waktu tunggu data masuk 750ms

• kabel antarmuka (Interface)

Kabel merah :VCC Kabel hitam : GND Kabel putih : DATA

• Bahan Stainl

• ess steel silinder 6mm diametenya panjang 35mm


(9)

• Panjang kabel : 90cm

2.2 ATMega 8

Disini difokuskan pada pembahasan tentang fungsi pin, clock, fuse bit, dll. Sedikit tentang pembahasan bahwa mikrokontroler ATMega8 merupakan mikrokontroler keluarga AVR 8bit. Beberapa tipe mikrokontroler yang “berkeluarga” sama dengan ATMega8 ini antara lain ATMega8535, ATMega16, ATMega32, ATmega328, dll. Yang membedakan antara mikrokontroler yang saya sebutkan tadi antara lain adalah, ukuran memori, banyaknya GPIO (pin input/output), peripherial (USART, timer, counter, dll).

Gambar 2.2 ATMega 8

Dari segi ukuran fisik, ATMega8 memiliki ukuran fisik lebih kecil dibandingkan dengan beberapa mikrokontroler yang disebutkan diatas. Namun untuk segi memori dan periperial lainnya ATMega8 tidak kalah dengan yang lainnya karena ukuran memori dan periperialnya relatif sama dengan ATMega8535, ATMega32, dll, hanya saja jumlah GPIO lebih sedikit dibandingkan mikrokontroler yang saya sebutkan diatas. Untuk pemahaman lebih lanjut akan saya bahas di bawah ini.


(10)

Fungsi dan Kebutuhan Pin

Pinout IC mikrokontroler ATMega8 yang berpackage DIP dapat dilihat di bawah ini.

Gambar 2.3 Konfigurasi ATMega 8

Seperti yang kita lihat ATMega8 memiliki 3 buah PORT utama yaitu PORTB, PORTC, dan PORTD dengan total pin input/output sebanyak 23 pin. PORT tersebut dapat difungsikan sebagai input/output digital atau difungsikan sebagai periperial lainnya.

2.3 LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan di berbagai bidang, misalnya dalam alat-alat elektronik, seperti televisi, kalkulator ataupun layar komputer. Pada LCD berwarna semacam monitor, terdapat banyak sekali titik cahaya (pixel) yang terdiri dari satu buah kristal cair sebagai suatu titik cahaya. Walaupun disebut sebagai titik cahaya.


(11)

Gambar 2.4 LCD (Liquid Crystal Display)

Tabel 2.1 Konfigurasi Pin LCD

NO. SIMBOL LEVEL FUNGSI

1 Vss - 0 Volt

2 Vcc - 5 + 1% Volt

3 Vee - Penggerak LCD

4 RD H/L

H = Memasukkan Data L = Memasukkan Ins

5 R/W H/L

H = Baca L = Tulis

6 E H/L Enable Signal

7 DB0 H/L

Data BUS

8 DB1 H/L

9 DB2 H/L


(12)

11 DB4 H/L

12 DB5 H/L

13 DB6 H/L

14 DB7 H/L

15 V+BL Kecerahan LCD

16 V-BL

2.4 Relay

Relay merupakan salah satu komponen elektronik yang terdiri dari lempengan logam sebagai saklar dan kumparan yang berfungsi untuk menghasilkan medan magnet. Rangkaian ini juga dilengkapi dengan LED indikator inidikendalikan oleh sebuah transistor

Gambar 2.5 Relay 12 volt

2.5 Pemanas Air (Water Heater)

Pemanas Air yang menggunakan tenaga listrik, ketika listrik dinyalakan pemanas akan bekerja pada wadah yang berisi minyak dengan pemanasan yang berbentuk melingkar didalam wadah.


(13)

Gambar 2.6 Pemanas (Heater)

2.6 Minyak Kelapa Sawit

Penggunaa minyak kelapa sawit sejauh ini banyak diterapakan pada industri-industri makanan, industri-industri farmasi, industri-industri kosmetik, industri-industri logam,dan industri-industri tinta cetak. Untuk bisa digunakan sebagai bahan baku dalam industri tersebut, harus benar-benar dijaga. Mutu minyak kelapa sawit biasa dilihat dari parameter ukurnya. Sementara untuk menghasilkan minyak kelapa sawit bermutu pengolahan juga perlu diperhatikan sehingga produksi minyak kelapa sawit tercapai dalam jumlah maksimal.suhu minyak kelapa sawit harus dipertahankan pada suhu 75˚C sampai 80˚C agar menghasilkan minyak yang bermutu.


(14)

BAB III

PERANCANGAN ALAT DAN PEMBUATAN SISTEM

3.1 Diagram Blok Alat Ukur

Gambar 3.1 Diagram Blok Sistem Kerja Alat

Dari diagram blok di atas bahwa sistem yang dirancang untuk mengatur suhu fluida (cairan) pembacaan suhu menggunakan sensor DS18B20, sedangkan untuk memanaskan menggunakan pemanas (water heater). Prinsip kerjanya Fluida dibaca pada sensor DS 18B20 kemudian dan menuju pemprosesan pada One Wire, lalu di proses pada mikrokontroler ATMega 8 untuk membaca suhu, jika suhu terlalu rendah dari yang diinginkan maka pemanas (water heater) akan meyala dan jika suhunya sudah mencapai maksismum pemanas (water heater) akan mati dengan sendirinya. Data outpu pembacaan suhu di tampilkan pada LCD.


(15)

3.2 Rangkaian Skematik Sistem Minimum


(16)

BAB IV

PENGUJIAN ALAT DAN ANALISA RANGKAIAN

4.1 Hasil pengujian

Tabel 4.1 Data perbandingan sensor DS18B220 dengan alat ukur suhu standar

No. Waktu Pemanasan

(menit) DS18B20(

o

C) Standar(oC) % Error

1 2 27,8 27 1,02963

2 4 33,25 33 1,007576

3 6 38,25 38 1,006579

4 8 43,15 43 1,003488

Gambar 4.1 Grafik Perbandingan Sensor DS18B220 dengan Alat Ukur Suhu Standar

0 5 10 15 20 25 30 35 40 45 50

2 4 6 8

DS18B20 Standar


(17)

Tabel 4.2 Data waktu pemanasan minyak terhadap banyak minyak

No. Volume Minyak (ml) Waktu Pemanasan (mm:ss) 50oC 75oC

1 500 0:01:46 0:06:20

2 1000 0:04:11 0:10:23

3 1500 0:06:55 0:17:11

4 2000 0:11:10 0:23:33

Gambar 4.2 Grafik waktu pemanasan minyak terhadap banyak minyak

12:00:00 AM 12:02:53 AM 12:05:46 AM 12:08:38 AM 12:11:31 AM 12:14:24 AM 12:17:17 AM 12:20:10 AM 12:23:02 AM 12:25:55 AM

500 1000 1500 2000

50 C 75 C


(18)

BAB V

KESIMPULA DAN SARAN

4.1 Kesimpulan

1. Sensor DS18B20 sangat baik dalam pengukuran suhu fluida.

2. Pembuatan alat sangat simple dan dapat digunakan pada pabrik-pabrik

kelapa sawit.

3. Biaya pembuatan alat relatif sangat murah. 4. Tampilan LCD membuat pembacaan lebih jelas.

4.2Saran

Untu kedepanyan diharapkan pembuatan rangkain dibuat lebih kecil dan rapi. Dan untuk perancangan alat pengatur suhu fluida lebih lanjut hendaknya ditambahkan fitur sheild GSM sehingga suhu fluida bisa diakses dari jarak jau


(19)

DAFTAR PUSTAKA

1. Mangoensoekarjo, Soepadiyo. 2011. “Manajemen Argobisnis Kelapa Sawit”.

Jakarta. Gadjah Mada University Press.

2. Hartono, Jogianto. 2011. “Konsep Dasar Pemrograman”. Yogyakarta. Penerbit Andi.

3. Tarigan, Pernantin. 2011. “Sistem Tertanam (Embedded System)”. Yogyakarta. Graha Ilmu.

4.

5.

6.

7.

8.


(20)

(21)

SOURCE CODE

/***************************************************** This program was produced by the

CodeWizardAVR V2.05.3 Standard Automatic Program Generator

© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

Project : Pengukur Suhu Minyak Version : V.1

Date : 05/06/2014

Author : Prasetyo, Dwi Budi & Nuril Company : Evionics

Comments:

Chip type : ATmega8 Program type : Application

AVR Core Clock frequency: 12,000000 MHz Memory model : Small

External RAM size : 0 Data Stack size : 256

*****************************************************/ #include <mega8.h>

#include <delay.h> #include <stdio.h> #include <1wire.h>

// DS1820 Temperature Sensor functions #include <ds1820.h>

// Alphanumeric LCD functions #include <alcd.h>

#define Button1 PINB.0 #define Button2 PINB.1 #define Button3 PINB.2

/* maximum number of DS1820/DS18S20 connected to the 1 Wire bus */ #define MAX_DEVICES 8

/* DS1820/DS18S20 devices ROM code storage area */ unsigned char rom_code[MAX_DEVICES][9];


(22)

eeprom int mini=50; char lcd_buffer[32]; void kalibrasi() { delay_ms(500); while(Button1==1) { if(Button2==0){maxi++;delay_ms(20);} if(Button3==0){maxi--;delay_ms(20);} if(maxi>90){maxi=0;delay_ms(20);} if(maxi<0){maxi=90;delay_ms(20);} lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Suhu Maximum"); lcd_gotoxy(0,1); sprintf(lcd_buffer,"Max:%i",maxi); lcd_puts(lcd_buffer); delay_ms(150); } delay_ms(500); while(Button1==1) { if(Button2==0){mini++;delay_ms(20);} if(Button3==0){mini--;delay_ms(20);} if(mini>30){mini=0;delay_ms(20);} if(mini<0){mini=30;delay_ms(20);} lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Suhu Minimum"); lcd_gotoxy(0,1); sprintf(lcd_buffer,"Min:%i",mini); lcd_puts(lcd_buffer); delay_ms(150); } delay_ms(250); lcd_clear(); lcd_gotoxy(1,0); lcd_putsf("Bye-bye"); delay_ms(1000); lcd_clear(); } void main(void) {

unsigned char i,j,devices; int temp,suhu,u=15;


(23)

PORTB=0x07; DDRB=0x00; PORTC=0x00; DDRC=0x21; PORTD=0x00; DDRD=0x00;

// 1 Wire Bus initialization // 1 Wire Data port: PORTC // 1 Wire Data bit: 2

// Note: 1 Wire port settings are specified in the

// Project|Configure|C Compiler|Libraries|1 Wire menu. w1_init();

// Alphanumeric LCD initialization // Connections are specified in the

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTD Bit 0

// RD - PORTC Bit 5 // EN - PORTD Bit 1 // D4 - PORTD Bit 7 // D5 - PORTD Bit 6 // D6 - PORTD Bit 5 // D7 - PORTD Bit 4 // Characters/line: 16 lcd_init(16);

DDRD.2=1; //Set Output DDRD.3=1; //Set Output PORTD.2=0;

PORTD.3=1; //BackLight LCD lcd_gotoxy(0,0);

lcd_putsf("Nuril"); delay_ms(1000); lcd_clear();

while(Button1==1) //Button RUN {

lcd_clear(); lcd_gotoxy(u,0);; lcd_putsf("Nuril"); lcd_gotoxy(0,1);

lcd_putsf("Run __ Kal"); if(Button3==0){kalibrasi();} u--;


(24)

if(u<0)u=15; delay_ms(100); }

/* detect how many DS1820/DS18S20 devices are connected to the 1 Wire bus */

devices=w1_search(0xf0,rom_code);

/* display the ROM codes for each device */ if (devices)

{

for (i=0;i<devices;i++) {

sprintf(lcd_buffer,"Device #%u ROM\nCode is:",i+1); lcd_clear(); lcd_puts(lcd_buffer); delay_ms(2000); lcd_clear(); for (j=0;j<8;j++) { sprintf(lcd_buffer,"%02X ",rom_code[i][j]); lcd_puts(lcd_buffer);

if (j==3) lcd_gotoxy(0,1); } lcd_gotoxy(0,0); lcd_putsf("Temperature"); delay_ms(2000); } } else

while (1); /* stop here if no devices were found */ while (1) { for (i=0;i<devices;) { temp=ds1820_temperature_10(&rom_code[i][0]); j='+'; if (temp<0) { j='-'; temp=-temp; }; sprintf(lcd_buffer,"t=%c%i.%u\xdf" "C",j,temp/100,temp%100); lcd_clear(); lcd_gotoxy(0,1); lcd_puts(lcd_buffer); suhu = temp/100;


(25)

if(suhu <= mini) {

lcd_gotoxy(0,0);

lcd_putsf("Heater ON"); PORTC.0=1; //Heater PORTC.5=0; //Led }

if(suhu >= maxi) {

lcd_gotoxy(0,0);

lcd_putsf("Heater Off"); PORTC.0=0; //Heater PORTC.5=1; //Led }

delay_ms(800);

} }


(1)

(2)

SOURCE CODE

/***************************************************** This program was produced by the

CodeWizardAVR V2.05.3 Standard Automatic Program Generator

© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

Project : Pengukur Suhu Minyak Version : V.1

Date : 05/06/2014

Author : Prasetyo, Dwi Budi & Nuril Company : Evionics

Comments:

Chip type : ATmega8 Program type : Application

AVR Core Clock frequency: 12,000000 MHz Memory model : Small

External RAM size : 0 Data Stack size : 256

*****************************************************/ #include <mega8.h>

#include <delay.h> #include <stdio.h> #include <1wire.h>

// DS1820 Temperature Sensor functions #include <ds1820.h>

// Alphanumeric LCD functions #include <alcd.h>

#define Button1 PINB.0 #define Button2 PINB.1 #define Button3 PINB.2

/* maximum number of DS1820/DS18S20 connected to the 1 Wire bus */ #define MAX_DEVICES 8

/* DS1820/DS18S20 devices ROM code storage area */ unsigned char rom_code[MAX_DEVICES][9];


(3)

eeprom int mini=50; char lcd_buffer[32]; void kalibrasi() {

delay_ms(500); while(Button1==1) {

if(Button2==0){maxi++;delay_ms(20);} if(Button3==0){maxi--;delay_ms(20);} if(maxi>90){maxi=0;delay_ms(20);} if(maxi<0){maxi=90;delay_ms(20);} lcd_clear();

lcd_gotoxy(0,0);

lcd_putsf("Suhu Maximum"); lcd_gotoxy(0,1);

sprintf(lcd_buffer,"Max:%i",maxi); lcd_puts(lcd_buffer);

delay_ms(150); }

delay_ms(500); while(Button1==1) {

if(Button2==0){mini++;delay_ms(20);} if(Button3==0){mini--;delay_ms(20);} if(mini>30){mini=0;delay_ms(20);} if(mini<0){mini=30;delay_ms(20);} lcd_clear();

lcd_gotoxy(0,0);

lcd_putsf("Suhu Minimum"); lcd_gotoxy(0,1);

sprintf(lcd_buffer,"Min:%i",mini); lcd_puts(lcd_buffer);

delay_ms(150); }

delay_ms(250);

lcd_clear(); lcd_gotoxy(1,0); lcd_putsf("Bye-bye"); delay_ms(1000); lcd_clear(); }

void main(void) {

unsigned char i,j,devices; int temp,suhu,u=15;


(4)

PORTB=0x07; DDRB=0x00; PORTC=0x00; DDRC=0x21; PORTD=0x00; DDRD=0x00;

// 1 Wire Bus initialization // 1 Wire Data port: PORTC // 1 Wire Data bit: 2

// Note: 1 Wire port settings are specified in the

// Project|Configure|C Compiler|Libraries|1 Wire menu. w1_init();

// Alphanumeric LCD initialization // Connections are specified in the

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTD Bit 0

// RD - PORTC Bit 5 // EN - PORTD Bit 1 // D4 - PORTD Bit 7 // D5 - PORTD Bit 6 // D6 - PORTD Bit 5 // D7 - PORTD Bit 4 // Characters/line: 16 lcd_init(16);

DDRD.2=1; //Set Output DDRD.3=1; //Set Output PORTD.2=0;

PORTD.3=1; //BackLight LCD lcd_gotoxy(0,0);

lcd_putsf("Nuril"); delay_ms(1000); lcd_clear();

while(Button1==1) //Button RUN {

lcd_clear(); lcd_gotoxy(u,0);; lcd_putsf("Nuril"); lcd_gotoxy(0,1);

lcd_putsf("Run __ Kal"); if(Button3==0){kalibrasi();} u--;


(5)

if(u<0)u=15; delay_ms(100); }

/* detect how many DS1820/DS18S20 devices are connected to the 1 Wire bus */

devices=w1_search(0xf0,rom_code);

/* display the ROM codes for each device */ if (devices)

{

for (i=0;i<devices;i++) {

sprintf(lcd_buffer,"Device #%u ROM\nCode is:",i+1); lcd_clear();

lcd_puts(lcd_buffer); delay_ms(2000); lcd_clear(); for (j=0;j<8;j++) {

sprintf(lcd_buffer,"%02X ",rom_code[i][j]); lcd_puts(lcd_buffer);

if (j==3) lcd_gotoxy(0,1); }

lcd_gotoxy(0,0);

lcd_putsf("Temperature"); delay_ms(2000);

} } else

while (1); /* stop here if no devices were found */ while (1)

{

for (i=0;i<devices;) {

temp=ds1820_temperature_10(&rom_code[i][0]); j='+';

if (temp<0) {

j='-';

temp=-temp; };

sprintf(lcd_buffer,"t=%c%i.%u\xdf" "C",j,temp/100,temp%100); lcd_clear();

lcd_gotoxy(0,1); lcd_puts(lcd_buffer); suhu = temp/100;


(6)

if(suhu <= mini) {

lcd_gotoxy(0,0);

lcd_putsf("Heater ON"); PORTC.0=1; //Heater PORTC.5=0; //Led }

if(suhu >= maxi) {

lcd_gotoxy(0,0);

lcd_putsf("Heater Off"); PORTC.0=0; //Heater PORTC.5=1; //Led }

delay_ms(800);

} }