yang terdeteksi sebanyak 1 dan hasil penjumlahan tersebut ditampilkan pada “edit4” lalu mengirimkan karakter „d‟ secara serial. Apabila data tidak berada didalam
range
bok 1, 2, 3 dan 4 maka akan juga
tampil pada “edit6” benda yang terdeteksi yaitu bok tidak sesuai, kemudian menjumlahkan nilai bok tidak sesuai yang terdeteksi sebanyak 1 dan hasil
penjumlahan tersebut ditampilkan pada “edit5” lalu mengirimkan karakter „e‟ secara serial.
4.2.3. Penjelasan Program AVR
Dijelaskan masing-masing fungsi pada
listing program
yang menggunakan
software CodeVision AVR
diantaranya program pengendali sensor photodioda menggunakan fasilitas ADC
Analog to Digital Converter
, program untuk komunikasi serial menggunakan USART
Universal Synchronous Asynchronous Receiver Transmiter
.
4.2.3.1. Pengendali Sensor Photodioda
Program pengendali sensor photodioda menggunakan fasilitas yang dimiliki oleh mikrokontroler ATmega32 yaitu ADC
Analog to Digital Converter
. Fungsinya yaitu untuk mengubah tegangan analog menjadi tegangan digital. Tegangan digital tersebut akan
digunakan untuk mengontrol
conveyor
untuk membawa bok. Pada listing program yang ditunjukan gambar 4.17, digunakan read_adc0 yang
artinya menggunakan PORTA.0 sebagai PORT masukan untuk mengubah tegangan analog menjadi tegangan digital. Pada bagian sensor= read_adc02 maksud dari pembagian 2 yaitu
agar nilai desimal ADC maksimal yaitu 1023 dibagi 2 yaitu 511. Sehingga apabila tegangan masukan 0 Volt sampai 5 Volt, akan diubah melalui ADC menjadi 0 desimal hingga 511
desimal. Listing program dapat dilihat pada gambar 4.18.
Gambar 4.18.
Listing
Program Pengendali
Conveyor
Pada bagian
listing program
gambar 4.18, fungsinya yaitu untuk mengendalikan motor penggerak
conveyor
yang dikontrol menggunakan PORTB.0. Terdapat nilai 200 pada bagian
“if sensor=200” ini dimaksudkan untuk membuat PORTB.0 bernilai “0” jika nilai sensor lebih besar sama dengan dari 200 desimal ADC. Hal ini berarti menyebabkan motor
pada
conveyor
berhenti berputar. Jika kondisi sensor kurang dari 200, maka motor
conveyor
akan terus berputar. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.2.3.2. Pengendali Komunikasi USART
Pada bagian ini berfungsi sebagai komunikasi serial USART untuk menghubungkan antara mikrokontroler ATmega32 dengan laptop.
Baudrate
yang digunakan yaitu 9600 bps. Fungsi “
getchar
” yaitu untuk menerima karakter dari laptop ke mikrokontroler. Sedangkan fungsi
“
putchar
” yaitu untuk mengirimkan suatu karakter kepada laptop.
Listing
program dapat dilihat pada gambar 4.19.
Gambar 4.19.
Listing
Program Komunikasi USART
4.2.3.3. Pengendali Motor DC
Program pengendali motor menggunakan
interrupt
sebagai pembangkit pulsa untuk menghitung kotak yang lewat.
Listing
program pengendali motor dapat dilihat pada gambar 4.20.
Gambar 4.20.
Listing
Program Pengendali Putaran Motor PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI