Serta penulis juga menggunakan Arduino uno yang Gambar diatas menunjukan bentuk dari LM35DZ tampak
merupakan pengendali mikro single-board yang bersifat depan dan tampak bawah. 3 pin LM35DZ menujukan
open-source dan LCD sebagai display. Dalampenelitian fungsi masing-masing pin diantaranya, pin1 berfungsi
ini penulis membuat sebuah alat pemantau dan penjaga sebagai sumber tegangan kerja dari LM35DZ, pin 2 atau
kestabilan suhu ruangan dengan menggunakan tengah digunakan sebagai tegangan keluaran atau Vout
mikrokontroler arduino uno yang akan ditampilkannya dengan jangkauan kerja dari 0 Volt sampai dengan
dengan menggunakan LCD dan log suhu akan tersimpan 1,5Volt dengan tegangan operasi sensor LM35DZ yang
di memori. Berdasarkan latar belakang tersebut, maka dapat digunakan antar 4 Volt sampai 30Volt.
dibuatlah Tugas Besar ini dengan judul ―Pemantau
dan penjaga kestabilan suhu miniatur ruangan
menggunakan mikrokontroler.
2
D. ADC (Analog to Digital Converter) ground. Pin 20 harus dihubungkan dengan catu daya
+5V. A/D ini mempunyai dua buah ground, A GND ( pin
Analog to Digital Converter (ADC) adalah pengubah 8 ) dan D GND ( pin 10). Keduanya harus dihubungkan
atau pengkonversi sinyal dari sinyal Analog ke Digital, dengan catu daya, sebesar +5V. Pada A/D 0804
yang jadi pertanyaan adalah kenapa sinyal analog merupakan tegangan referensi yang digunakan untuk
tersebut harus di ubah ke sinyal digital? Yaitu agar sinyal offset suatu keluaran digital maksimum. A/D ini dapat
analog tersebut bisa dibaca sebagai data dan kalo sudah dirangkai untuk menghasilkan konversi secara kontinu.
dalam bentuk data maka kita dapat dengan mudah Untuk melaksanakannya, kita harus menghubungkan CS,
mengolah data tersebut didalam perangkat digital. dan RD ke ground dan menyambungkan WR dengan
INTR seperti pada gambar dibawah ini. Maka dengan ini
E. Karakteristik Dasar ADC keluaran digital yang kontinu akan muncul, karena sinyal
INTR menggerakkan masukan WR. Pada akhir konversi
INTR berubah menjadi low, sehingga keadaan ini akan
mereset konverter dan mulai konversi.
A. Studi Literatur
Mempelajari tentang pemprograman sofware ATMega
8535 dalam penunjang software aplikasi sistem kendali
dan tentang desain rangkaian. Selain itu mempelajari
tentang teknik interface antara input dan output ATMega
8535 dengan sensor suhu LM35DZ sebagai input-output
pada tampilan di LCD pada software Hyperterminal.
B. Perancangan Sistem
Rangkaian pemantau dan penjaga suhu ruangan berbasis
microcontroller dirancang sebagai sistem kontrol yang
bekerja secara otomatis dengan lup tertutup (otomatic
clossed-loop control system). Sistem ini berfungsi
sebagai penstabil suhu ruangan yang bekerja otomatis
berdasarkan set point suhu yang telah ditentukan. Sistem
microcontroller berfungsi sebagai pengendali agar
mendapatkan suatu masukan set-point suhu dari program
yang telah diupload kedalamnya. Berikut flowchart dari
masing-masing percobaan ini
Flowchart Percobaan A
Flowchart Percobaan C
5
Rangkaian Percobaan B
Pada percobaan ini hasil output tegangan pada ADC1 SFIOR&=0xEF; //Sumber trigger : Free Running mode
memiliki nilai yang bervariasi, hanya saja disini hasil // Inisialisasi USART 8-N-1 dengan baud rate 9600
output menunjukkan satuan tegangan (volt). Yang berarti bps(4MHz)
UCSRA=0x00;
ini adalah nilai dari sensor cahaya. Terdapat berbagai
UCSRB=0x18;
output tegangan dengan penjelasan: UCSRC=0x86;
± 4,31 V adalah keadaan saat terang menggunakan flash UBRRH=0x00;
smartphone dimana permukaan sensor ditembakkan UBRRL=0x19;
cahaya yang berlebih agar menghasilkan keluaran while (1)
tegangan sekecil mungkin. {
for (i=0; i<= strlenf(string1)-1; i++)
± 4,57 V adalah keadaan cahaya sekitar laboratorium {
dimana cahaya dilaboratorium ini sangat tidak konstan temp=string1[i];
hal ini karena banyaknya faktor yang memengaruhi salah putchar(temp); //Kirim temp ke USART
satunya adanya bayangan dari praktikan yang menutupi }
hasil=read_adc(adc_input1); //Baca tegangan pada pin
cahaya yang masuk ke LDR tersebut.
ADC0
± 4,92 V adalah keadaan dimana tidak adanya cahaya hasil=hasil*49; //Hasil pembacaan dikalikan dengan 1
yang masuk ke sensor dimana sensor LDR benar-benar LSB
hasil=bin2BCD(hasil); //Konversi hasil ADC ke format
ditutupi oleh tangan praktikan agar tidak ada cahaya
BCD
sedikitpun yang dapat menembus ke sensor. Mengapa 5 temp=(hasil>>16 & 0x0F)+0x30; //Ubah format BCD ke
volt, karena tegangan masukan pada sensor adalah 5 volt ASCII
DC membuat tegangan maksimum pada ldr adalah temp=(hasil>>12 & 0x0F)+0x30;
seperti itu adanya. putchar(temp); //Kiirim ASCII ke USART
temp=(hasil>>8 & 0x0F)+0x30;
C. Modifikasi Tugas 1 dan Tugas 2 putchar(temp);
putchar(',');
Pada percobaan ini praktikan merangkai sebuah temp=(hasil>>4 & 0x0F)+0x30;
rangkaian agar kedua sensor dapat bekerja bersamaan putchar(temp);
dengan menghubungkan V(+) kedua sensor ke tegangan temp=(hasil & 0x0F)+0x30;
input 5 VCC DC dan V(-) ke ground pada board putchar(temp);
ATMega dan menggabungkan atau memodifikasi script putchar(' ');
putchar('C');
pada percobaan 1 dan 2 agar sensor dapat terbaca pada
putchar(0x0D);//Kirim ENTER pada terminal untuk baris
Hyperterminal dengan keluaran suhu dan juga baru
tegangannya juga. Maka hasil output yang keluar akan putchar(0x0A);
seperti berikut ini: delay_ms(1000);
//TEGANGAN
for (i=0; i<= strlenf(string2)-1; i++)
{
temp=string2[i];
putchar(temp); //Kirim temp ke USART
}
hasil=read_adc(adc_input2); //Baca tegangan pada pin
ADC1
hasil=hasil*49; //Hasil pembacaan dikalikan dengan 1
LSB
hasil=bin2BCD(hasil); //Konversi hasil ADC ke format
BCD
temp=(hasil>>16 & 0x0F)+0x30; //Ubah format BCD ke
Gambar 9: Output Hyperterminal Tegangan dan Suhu ASCII
putchar(temp); //Kiirim ASCII ke USART
Berikut cuplikan script yang dimodifikasi, sebagai putchar(',');
berikut: temp=(hasil>>12 & 0x0F)+0x30;
flash unsigned char string1[]= {"Hasil pada ADC0 : "}; putchar(temp);
flash unsigned char string2[]= {"Hasil pada ADC1 : "}; temp=(hasil>>8 & 0x0F)+0x30;
void main(void) putchar(temp);
{ putchar(' ');
unsignedchar i,temp,adc_input1=0x00,adc_input2=0x01; putchar('V');
DDRA=0x00; temp=(hasil>>4 & 0x0F)+0x30;
//Tegangan referensi ADC : pin AREF temp=(hasil & 0x0F)+0x30;
ADMUX=ADC_VREF_TYPE; putchar(0x0D); //Kirim ENTER pada terminal untuk
//Inisialisai ADC (Enable ADC) baris baru
//Frekuensi clock ADC : 31.250 kHz (4MHz/128) putchar(0x0A);
ADCSRA=0x87; delay_ms(1000);
7
}
} REFERENSI
Pada script modifikasi ini praktikan mengubah flash [1] Dhananjay V. Gadre. 2001. “Programming and Customizing The
unsigned agar pada Hyperterminal tulisan akan berbeda AVR Microcontroller”. New Delhi:Mc-Graw-Hill
dari sebelumnya. Kemudian praktikan menambah
[2] Kenneth J. Ayala. 1991. “The 8051 Microcontroller”. New
adc_inputx untuk mengeluarkan hasil pada tegangan York:West Publishing Company
LDR. Praktikan selanjutnya menambahkan fungsi for
pada LDR kedalam fungsi while. [3] Ronald J. Tocci, etc. 2001.”Digital Systems Principles and
Applications, Eight Edition”. New Jersey: Prenctice Hall
Dari hasil percobaan diaatas dapat disimpulkan sebagai [5] Jacob Fraden. 2004. “Handbook of Modern Sensors: Physics,
berikut : Designs, and Applications”. Springer Verlag