Gambar 4.3 Grafik Linearitas ADC
4.2 Pengujian Sensor Warna
Rangkaian sensor warna ini dapat diuji dengan menghubungkan rangkaian ini dengan sumber tegangan 5 volt, kemudian meletakkan benda dengan warna yang
berbeda – beda ke atas sensor warna dan mengukur keluaran dari rangkaian sensor warna dengan menggunakan volt meter digital. Jarak sensor ke benda adalah 1 cm.
Dari hasil pengujian didapatkan data sebagai berikut :
25.5 51
76.5 102
127.5 153
178.5 204
229.5 255
0.5 1
1.5 2
2.5 3
3.5 4
4.5 5
5.5
20 40
60 80
100 120
140 160
180 200
220 240
260 280
Data Out ADC Vi
n V
Universitas Sumatera Utara
Warna benda Tegangan yang dihasilkan Volt
Hitam 0,56
Merah 3,9
Kuning 3,1
Hijau 2,7
Biru 2,5
Tabel 4.2 Data pengujian sensor warna
Perubahan tegangan yang dihasilkan sensor merupakan input bagi ADC yang akan diubah menjadi data digital. Proses pengubahan tegangan input dari sensor
menjadi data digital, dilakukan dengan cara yang sama seperti yang telah dijelaskan sebelumnya Pada rangkaian,output sensor warna LDR dihubungkan ke input
ADC dan Output ADC melalui kaki DB0-DB7 dihubungkan ke Port 1 dari mikrokontroler. Interupt dari ADC dihubungkan dengan Interupt mikrokontroler, ini
berfungsi untuk memberitahu mikrokontroler bahwa ADC telah mengirim data untuk diproses. Routine interupt yang diisikan ke mikrokontroller untuk mentrigger
ADC agar mengirimkan data adalah sebagai berikut:
Interrupt bit
p3.7 loop:
clr Interrupt Call interrupt_adc
Setb Interrupt Jb Interrupt,
Mov a,P1 Mov p0,a
Universitas Sumatera Utara
Jmp loop
Interrupt_adc: Mov r7,125
int: Mov r6,5
Djnz r6, Djnz r7,int
Ret
Routin interupt adalah selang waktu pengambilan data. Atau dengan kata lain nilai frekuensi akan dibaca oleh mikrokontroler selama waktu tunda yang
diberikan oleh interupt. Pembacaan dapat dihitung dengan perhitungan sebagai berikut :
Mikrokontroller AT89S51 memerlukan 12 clock untuk mengeksekusi 1 siklus perintah dan pada rangkaian. Kristal yang digunakan adalah kristal 12 MHz,
sehingga 1 siklus mesin membutuhkan waktu =
Mhz clock
12 12
= 1 mikrodetik.
Dari keterangan di atas diperoleh: Mnemonic
Siklus Waktu Eksekusi
MOV Rn,data 2
2 x 1 µd = 2 µd DJNZ
2 2 x 1 µd = 2 μd
RET 1
1 x 1 µd = 1 μd
Table 4.3 Data Eksekusi program 1 siklus
Universitas Sumatera Utara
interupt: Mov r7,125
int: Mov r6,5
Djnz r6, Djnz r7,int
Ret Perintah Mov r6,5 dan Mov r7,125 masing masing terdiri dari 2 siklus
mesin. Perintah djnz juga terdiri dari 2 siklus mesin. Sedangkan perintah ret terdiri dari 1 siklus mesin.
Perintah Djnz r6, maksudnya adalah mengurangi nilai pada r6 sampai bernilai 0, berarti perintah djnz r6, pada program di atas dilakukan sebanyak 5 kali
atau 5 x 2 = 10 μd. Setelah nilai r6 bernilai 0 maka nilai pada r7 berkurang 1 nilai
karena adanya perintah djnz r7, kemudian program akan kembali mengurangi nilai pada r6 sampai bernilai 0 kembali ke interupt sehingga perintah ini dilakukan
sebanyak 125 kali. Dengan demikian dapat diketahui hasilnya adalah 10 x 125 = 1250
μd. Hasil dari perkalian ini kemudian ditambahkan dengan 5 siklus berikutnya mov r6 = 2 siklus, mov r7 = 2 siklus, dan ret = 1 siklus sehingga hasil akhir
didapatkan 1250 + 5 = 1255 μd. Jadi waktu yang diberikan untuk membaca data
yang frekuensi input oleh mikrokontroler adalah selama 1255 μd.
Program diatas akan mentrigger ADC untuk mengirimkan data ke mikrokontroller. Dengan adanya instruksi Jb Interrupt, mikrokontroller akan
menerima data yang dikirimkan oleh ADC melalui P1 dan manampilkannya melalui
Universitas Sumatera Utara
8 buah LED yang terhubung ke P0 uC AT89S51. Pada tabel. berikut akan ditampilkan data biner yang di-output-kan oleh ADC untuk variasi warna yang
diterima sensor, yang dihitung dengan cara yang sama seperti di atas.
Warna Bola Angka Biner
Decimal Hexadecimal
Hitam 00011101 –
00011111 29-31
1dh-1fH Merah
11001001 - 11001100
201-204 C9h-CCh
Kuning 10100001 -
10100100 161-164
a1h-a4h Hijau
10001011 - 10001101
139-141 8bh-8dh
Biru 10000010 -
10000100 130-132
82h-84h
Tabel 4.4 Data Digital Hasil pengukuran
Data hexadecimal hasil pengukuran untuk masing- masing warna bola diatas kemudian digunakan sebagai data pembanding pada program keseluruhan
alat. Data decimal yang diperoleh merupakan jumlah pulsa atau gelombang
selama selang waktu pembacaan frekuensi. Dengan mengetahui waktu selang interupt
adalah 1255μs untuk masing- masing pemfilter maka total waktu pembacaan data adalah 4 x 1255μs = 5020μs atau dapat dibulatkan menjadi 0,005s.
Dengan menghitung jumlah data decimal n, maka dapat dihitung nilai frekuensi sebagai berikut:
Universitas Sumatera Utara
s x
xn s
n frekuensi
005 ,
200 200
005 ,
= =
s frekuensi
n x
200 =
200 Hz
n x
frekuensi =
; dimana n = data decimal ; 200 = nilai desimal awal tanpa warna
Dengan demikian diperoleh nilai frekuensi pada masing- masing warna bola adalah sebagai berikut :
Warna Bola Frekuensi Hz
Decimal Hexadecimal
Hitam 5800 – 6200
29-31 1dh-1fH
Merah 40200 – 40800
201-204 C9h-CCh
Kuning 32200 – 32800
161-164 a1h-a4h
Hijau 27800 – 28200
139-141 8bh-8dh
Biru 26000 – 26400
130-132 82h-84h
Tabel 4.5 Frekuensi output
4.3 Analisis Ketelitian Alat