Pada Sensor Suhu Penjelasan Program

Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0 Config Lcd = 16 2 Ddrb = B00000000 Pinb.0 = 0 Awal: Cls Count = 0 I = 0 Do I = I + 1 If Pinb.0 = 1 Then Count = Count + 1 Goto H Elseif Pinb.0 = 0 Then H: Waitms 1 End If Loop Until I = 1000 Countd = Count Mod 7 Count = Count 7 Countm = Count 60 Cls Lcd Speed: ; Countm ; rpm Lowerline Lcd Speed: ; Count ; rps Waitms 500 Goto Awal End

4.5 Penjelasan Program

4.5.1 Pada Sensor Suhu

regfile = m8535.dat ‘ Mikrokontroler ATMega 8535 crystal = 8000000 ‘ Menggunakan crystal 8 Mhz hwstack = 32 swstack = 8 framesize = 50 Config Porta = Input ‘ Konfigurasi Porta sebagai input Config Portd = Input ‘ Konfigurasi Portd sebagai input Config Portc = Output ‘ Konfigurasi Portc sebagai output Config Portb = Output ‘ Konfigurasi Portb sebagai output Config Lcdpin = Pin Db4 = Portb.2 Db5 = Portb.3 Db6 = Portb.4 Db7 = Portb.5 E = Portb.1 Rs = Portb.0 Config Lcd = 16 2 Baris program di atas adalah inisialisasi program untuk identifikasi mikrokontroler ATMega8535 dan konfigurasi port dan pinnya. Dim I As Integer A As Integer B As Integer C As Integer Dim Volt As Integer Volt_d As Integer Deflcdchar 0 , 4 , 10 , 10 , 4 , 32 , 32 , 32 , 32 Baris program di atas merupakan defenisi awal untuk setiap variabel yang akan digunakan dalam program. Program utama adalah sebagai berikut Start Adc Cls A = Getadc0 B = Getadc0 Prosedur ambil data LM35 pada ADC C = Getadc0 sebanyak 3 kali I = A + B Proses untuk mengambil nilai rata-rata I = I + C yang diambil melalui LM35 Volt = I 3 Proses mengolah data untuk merubah nilai Volt = Volt 4 yang didapat ADC agar ditampilkan dalam Volt_d = Volt Mod 10 derajat celcius pada LCD Stop Adc Lcd Suhu : ; Volt ; , ; Volt_d ; Chr0 ; C ‘ Proses penampilan suhu pada LCD If Volt 35 Then ‘ Bila nilai Volt kurang dari 35 maka Gosub Mati lanjut ke instruksi Mati Elseif Volt = 35 Then ‘ Bila nilai Volt sama dengan 35 maka Gosub Lambat lanjut ke instruksi Lambat Elseif Volt = 39 Then ‘ Bila nilai Volt lebih kecil dari 39 maka Gosub Sedang lanjut ke instruksi Sedang Elseif Volt = 42 Then ‘ Bila nilai Volt lebih kecil dari 42 maka Gosub Sedang1 lanjut ke instruksi Sedang1 Elseif Volt = 45 Then ‘ Bila nilai Volt lebih kecil dari 45 maka Gosub Sedang2 lanjut ke instruksi Sedang2 Elseif Volt 45 Then ‘ Bila nilai Volt lebih besar dari 45 maka Gosub Cepat lanjut ke instruksi Cepat End If Waitms 300 ‘ Tunggu selama 300 mili second Loop ‘ ulang Mati: Portd.3 = 0 Waitms 300 ‘ isi instruksi MAti Gosub Awal Lambat: Portd.3 = 1 Waitms 500 Portd.3 = 0 ‘ isi instruksi Lambat Waitms 50 Gosub Awal Sedang: Portd.3 = 1 Waitms 500 Portd.3 = 0 ‘ isi instruksi sedang Waitms 40 Gosub Awal Sedang1: Portd.3 = 1 Waitms 500 Portd.3 = 0 ‘ isi instruksi sedang1 Waitms 30 Gosub Awal Sedang2: Portd.3 = 1 Waitms 500 Portd.3 = 0 ‘ isi instruksi sedang2 Waitms 20 Gosub Awal Cepat: Portd.3 = 1 ‘ isi instruksi cepat Gosub Awal End ‘ akhir program

4.5.2 Pada Optocoupler