BAB 2 LANDASAN TEORI
2.1 Perangkat Keras
Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu perangkat keras hardware yang dapat mengolah data, menghitung, mengingat dan
mengambil pilihan. Mikrokontroler merupakan salah satu jawabannya. Vendor dari mikrokontroler ini ada beberapa macam, diantaranya yang paling terkenal
adalah ATMega8535. Selain menggunakan mikrokontroler juga digunakan sensor ultrasonik sebagai pendeteksi jarak obyek dengan cara memancarkan gelombang
ultrasonik dengan frekuensi 40 KHz dan kemudian mendeteksi pantulannya. Selain itu juga terdapat beberapa perangkat seperti : Mikrokontroler ATMega
8535, Transistor, Buzzer, LCD dan CVAVR.
2.2 Mikrokontroller ATMega 8535
ATMega8535 memiliki fitur yang cukup lengkap, mulai dari kapasitas memori program dan memori data yang cukup besar, interupsi, timercounter,
PWM, USART, TWI, analog comparator, EEPROM internal dan juga ADC internal semuanya ada dalam ATMega8535. Sehingga dengan fitur yang cukup
lengkap ini memungkinkan kita untuk dapat merancang suatu sistem yang sederhana sampai dengan sistem yang relatif kompleks hanya dengan
menggunakan satu IC saja, yaitu dengan IC ATMega8535. ATMega8535 merupakan salah satu mikrokontroler 8 bit buatan Atmel untuk
keluarga AVR. Pada tahun 1997 Atmel mengembangkan AVR Alf and Vegard’s RISC Processor. Mikrokontroler ATmega8535 menggunakan arsitektur RISC
Universitas Sumatera Utara
Reduced Instruction Set Computing. Beberapa fitur yang dimiliki Mikrokontroler ATmega8535 adalah berbasis RISC dengan kecepatan maksimal
16 MHz, memiliki memori Flash 8K Bytes, 512 Bytes EEPROM Electrically Erasable Programmable Read Only Memory
, dan 512 Bytes Internal SRAM. Mikrokontroler ATmega8535 memiliki 2 8-bit TimerCounter, RTC Real Time
Counter , 4 PWM chanel, 8-chanel 10-bit ADC, 1 programable serial USART,
masterslave SPI serial interface, dan memiliki 32 programmable IO. Sedangkan untuk power, ATmega 8535 dapat dicatu menggunakan tegangan 2.7 – 5.5V
untuk ATmega8535L dan 4.5 – 5.5V untuk ATmega8535 dengan frekuensi clock maksimum adalah 16MHz.
ATMega8535 adalah mikrokontroler CMOS 8 bit daya rendah berbasis arsitektur RISC. Instruksi dikerjakan pada satu siklus clock, ATMega8535
mempunyai throughput mendekati 1 MIPS per MHz, hal ini membuat ATMega8535 dapat bekerja dengan kecepatan tinggi walaupun dengan
penggunaan daya rendah. Mikrokontroler Atmega8535 memiliki beberapa fitur atau spesifikasi yang menjadikannya sebuah solusi pengendali yang efektif untuk
berbagai keperluan.
2.2.1 Arsitektur ATMega8535
Mikrokontroler ATMega8535 memiliki arsitektur Harvard, yaitu memisahkan memori untuk kode program dan memori untuk data sehingga dapat
memaksimalkan unjuk kerja dan paralelisme. Instruksi-instruksi dalam memori program dieksekusi dalam satu alur tunggal, dimana pada saat satu instruksi
dikerjakan instruksi berikutnya sudah diambil pre-fetched dari memori program.
Universitas Sumatera Utara
Konsep inilah yang memungkinkan instruksi-instruksi dapat dieksekusi dalam setiap satu siklus clock. 32 x 8-bit register serba guna digunakan untuk
mendukung operasi pada Arithmetic Logic Unit ALU yang dapat dilakukan dalam satu siklus. 6 dari register serba guna ini dapat digunakan sebagai 3 buah
register pointer 16-bit pada mode pengalamatan tak langsung untuk mengambil data pada ruang memori data. Ketiga register pointer 16-bit ini disebut dengan
register X gabungan R26 dan R27, register Y gabungan R28 dan R29, dan register Z gabungan R30 dan R31. Hampir semua instruksi AVR memiliki
format 16-bit word. Setiap alamat memori program terdiri dari instruksi 16-bit atau 32-bit. Selain register serba guna diatas, terdapat register lain yang terpetakan
dengan teknik memory mapped IO selebar 64 Byte. Beberapa register ini digunakan untuk fungsi khusus antara lain sebagai register kontrol TimerCounter,
Interupsi, ADC, USART, SPI, EEPROM dan fungsi IO lainnya. Register-register ini menempati memori pada alamat 0x20h – 0x5Fh.
2.2.2 Organisasi Memori
Mikrokontroler ATMega8535 memiliki 3 jenis memori yaitu memori program, memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri
dan terpisah.
a. Memori Program
ATMega8535 memiliki kapasitas memori program sebesar 8 Kbyte yang terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki
lebar data 16 bit. Sehingga organisasi memori program seperti ini sering dituliskan dengan 4K x 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu
Universitas Sumatera Utara
bagian program boot dan bagian program aplikasi. Jika kita tidak menggunakan fitur Boot Loader Flash maka semua kapasitas memori program diatas dapat
digunakan untuk program aplikasi. Tetapi jika yang digunakan fitur Boat Loader Flash
maka pembagian ukuran kedua bagian ini ditentukan oleh BOOTSZ fuse. b.
Memori Data ATMega8535 memiliki kapasitas memori data sebesar 608 Byte yang
terbagi menjadi 3 bagian yaitu register serba guna, register IO dan SRAM. 32 byte alamat terendah digunakan untuk register serba guna yaitu R0 – R31. 64 byte
berikutnya digunakan untuk register IO yang digunakan untuk mengatur fasilitas seperti timercounter, interupsi, ADC, USART, SPI, EEPROM dan port IO
seperti Port A, Port B, Port C dan Port D. Selanjutnya 512 Byte diatasnya digunakan untuk memori data SRAM.
c. Memori EEPROM
ATMega8535 memiliki memori EEPROM sebesar 512 Byte yang terpisah dari memori program maupun memori data. Memori EEPROM ini hanya dapat
diakses dengan menggunakan register-register IO yaitu register EEPROM Address
EEARH-EEARL, register EEPROM Data EEDR dan register EEPROM Control
EECR. Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal sehingga waktu eksekusinya relatif lebih lama
bila dibandingkan dengan mengakses data dari SRAM.
Adapun kelebihan dari mikrokontroller adalah sebagai berikut : Pada dasarnya yang membedakan masing – masing kelas adalah memori,
peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan,
Universitas Sumatera Utara
mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu AVR produk Atmel, yaitu ATMega 8535. Selain mudah didapatkan dan lebih
murah ATMega 8535 juga memiliki fasilitas yang lengkap. Untuk tipe AVR ada 3 jenis yaitu AT Tiny, AVR klasik, AT Mega. Perbedaannya hanya pada fasilitas
dan IO yang tersedia serta fasilitas lain seperti ADC,EEPROM dan lain sebagainya. Salah satu contohnya adalah AT Mega 8535. Memiliki teknologi
RISC dengan kecepatan maksimal 16 MHz membuat ATMega 8535 lebih cepat bila dibandingkan dengan varian MCS 51. Dengan fasilitas yang lengkap tersebut
menjadikan ATMega 8535 sebagai mikrokontroler yang powerfull. Fitur-fitur yang dimiliki oleh mikrokontroler Atmega 8535 adalah sebagai
berikut: 1.
Saluran IO sebanyak 32 buah, yaitu port A, port B, port C, dan port D. 2.
ADC internal sebanyak 8 saluran. 3.
Dua buah TimerCounter dengan kemampuan pembandingan. 4.
CPU yang terdiri atas 32 buah register. 5.
SRAM sebesar 512 byte. 6.
Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 7.
Port antarmuka SPI 8.
EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 9.
Antarmuka komparator analog. 10.
Port USART untuk komunikasi serial. 11.
Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
12. Dan lain-lainnya.
Universitas Sumatera Utara
2.2.3 Konstruksi ATMega8535
Mikrokontroler ATmega8535 memiliki 3 jenis memori, yaitu memori program, memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri
dan terpisah. a. Memori program
ATmega8535 memiliki kapasitas memori progam sebesar 8 Kbyte yang terpetakan dari alamat 0000h – 0FFFh dimana masing-masing alamat memiliki
lebar data 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu bagian program boot dan bagian program aplikasi.
b. Memori data ATmega8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi
menjadi 3 bagian yaitu register serba guna, register IO dan SRAM. ATmega8535 memiliki 32 byte register serba guna, 64 byte register IO yang dapat diakses
sebagai bagian dari memori RAM menggunakan instuksi LD atau ST atau dapat juga diakses sebagai IO menggunakan instruksi IN atau OUT, dan 512 byte
digunakan untuk memori data SRAM. c. Memori EEPROM
ATmega8535 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun memori data. Memori EEPROM ini hanya dapat
diakses dengan menggunakan register-register IO yaitu register EEPROM Address
, register EEPROM Data, dan register EEPROM Control. Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal,
sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan mengakses data dari SRAM.
Universitas Sumatera Utara
Interupsi ATMega8535 menyediakan 21 macam sumber interupsi yang masing-masing
memiliki alamat program vector interupsi. Setiap interupsi yang aktif akan dilayani segera setelah terjadi permintaan interupsi, tetapi jika dalam waktu
bersamaan terjadi lebih dari satu interupsi maka prioritas yang akan diselesaikan lebih dulu adalah interupsi yang memiliki nomor urut lebih kecil. Sebagai contoh
jika interupsi timer0 overflow dan timer1 overflow terjadi bersamaan maka prioritasnya interupsi timer 1 lebih dulu yang akan diselesaikan karena interupsi
timer 1 memiliki nomor urut diatas timer 0. Port IO
Semua port keluarga AVR bersifat bi-directional dua arah pada saat berfungsi sebagai port IO digital. Bahkan setiap pin dapat dikonfigurasikan baik
sebagai input maupun output secara individu tanpa mempengaruhi pin-pin yang lain. Hal ini dapat dilakukan dengan perintah SBI dan CBI. Pengaturan port IO
baik sebagai input maupun output otomatis akan diikuti dengan pengaturan pull- up
resistor internal. Meskipun demikian pengaturan pull-up resistor bias saja dinon-aktifkan melalui bit PUD pada register SFIOR. Jika bit PUD diset ‘1’ maka
berarti konfigurasi pull-up port IO non-aktif. Tiga alamat memori IO dialokasikan untuk mengatur konfigurasi setiap port
IO yaitu : -
Data Register PORTx -
Data Direction Register DDRx -
Data Input Pin PINx
Universitas Sumatera Utara
Timer Counter ATMega8535 memiliki 3 modul timer yang terdiri dari 2 buah timer counter
8-bit dan 1 buah timer counter 16-bit. Ketiga modul timer counter ini dapat diatur dalam mode yang berbeda secara individu dan tidak saling mempengaruhi
satu sama lain. Selain itu semua timer counter juga dapat difungsikan sebagai sumber interupsi. Masing-masing timer counter ini memiliki register tertentu
yang digunakan untuk mengatur mode dan cara kerjanya tetapi ada 2 register yang digunakan secara bersama-sama yaitu register TIMSK dan register TIFR.
USART Universal Synchronous and Asynchronous Serial Receiver and Transmitter
USART juga merupakan salah satu mode komunikasi serial yang dimiliki oleh ATMega8535. USART merupakan komunikasi yang memiliki fleksibilitas tinggi,
yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART.
USART memungkinkan transmisi data baik secara synchronous maupun asynchronous
sehingga dengan demikian USART pasti kompatibel dengan UART. Pada ATMega8535, secara umum pengaturan mode komunikasi baik
synchronous maupun asynchronous adalah sama. Perbedaannya hanyalah terletak
pada sumber clock saja. Jika pada mode asynchronous masing-masing peripheral memiliki sumber clock sendiri maka pada mode synchronous hanya ada satu
sumber clock yang digunakan secara bersama-sama. Dengan demikian secara hardware untuk mode asynchronous hanya membutuhkan 2 pin yaitu TXD dan
RXD sedangkan untuk mode synchronous harus 3 pin yaitu TXD, RXD dan XCK.
Universitas Sumatera Utara
ATmega8535 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC internal dengan fidelitas 10 bit. Dalammode operasinya, ADC ATmega8535
dapat dikonfigurasi, baik secara single ended input maupun differential input. Selain itu, ADC ATmega8535 memiliki konfigurasi pewaktuan, tegangan
referensi, mode operasi, dan kemampuan filter derau yang amat fleksibel, sehingga dengan mudah disesuaikan dengan kebutuhan ADC itu sendiri.
ATmega8535 memiliki 3 modul timer yang terdiri dari 2 buah timercounter 8 bit dan 1 buah timercounter 16 bit. Ketiga modul timercounter ini dapat diatur
dalam mode yang berbeda secara individu dan tidak saling mempengaruhi satu sama lain. Selain itu, semua timercounter juga dapat difungsikan sebagai sumber
interupsi. Masing-masing timercounter ini memiliki register tertentu yang digunakan untuk mengatur mode dan cara kerjanya.
Serial Peripheral Interface SPI merupakan salah satu mode komunikasi serial syncrhronous kecepatan tinggi yang dimiliki oleh ATmega8535. Universal
Syncrhronous and Asyncrhronous Serial Receiver and Transmitter USART juga merupakan salah satu mode komunikasi serial yang dimiliki oleh ATmega8535.
USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun
dengan modul-modul eksternal termasuk PC yang memiliki fitur UART. USART memungkinkan transmisi data baik secara syncrhronous maupun
asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan UART. Pada ATmega8535, secara umum pengaturan mode syncrhronous maupun
asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock saja.
Universitas Sumatera Utara
Jika pada mode asyncrhronous masing-masing peripheral memiliki sumber clock sendiri, maka pada mode syncrhronous hanya ada satu sumber clock yang
digunakan secara bersama-sama. Dengan demikian, secara hardware untuk mode asyncrhronous hanya membutuhkan 2 pin yaitu TXD dan RXD, sedangkan untuk
mode syncrhronous harus 3 pin yaitu TXD, RXD dan XCK.
2.2.4 Pin-pin pada Mikrokontroler ATmega8535
Gambar 2.1. Konfigurasi pin ATmega8535 Data Sheet AVR Konfigurasi pin ATmega8535 dengan kemasan 40 pin DIP Dual Inline
Package dapat dilihat pada gambar 2.1. Dari gambar di atas dapat dijelaskan fungsi dari masing-masing pin Atmega8535 sebagai berikut:
1. VCC merupakan pin yang berfungsi sebagai masukan catu daya. 2. GND merukan pin Ground.
Universitas Sumatera Utara
3. Port A PortA0...PortA7 merupakan pin inputoutput dua arah dan pin masukan ADC.
4. Port B PortB0...PortB7 merupakan pin inputoutput dua arah dan pin fungsi khusus, seperti dapat dilihat pada tabel di bawah ini.
Pin Fungsi Khusus
PB7 SCK SPI Bus Serial Clock
PB6 MISO SPI Bus Master Input Slave Output
PB5 MOSI SPI Bus Master Output Slave Input
PB4 SS SPI Slave Select Input
PB3 AIN1 Analog Comparator Negative Input OC0
TimerCounter0 Output Compare Match Output PB2
AIN0 Analog Comparator Positive Input INT2 External Interrupt 2 Input
PB1 T1 Timer Counter1 External Counter Input
PB0 T0 T1 TimerCounter External Counter Input XCK
USART External Clock InputOutput
Tabel 2.1 Fungsi Khusus Port B 5. Port C PortC0...PortC7 merupakan pin inputoutput dua arah dan pin fungsi
khusus, seperti dapat dilihat pada tabel dibawah ini. Pin Fungsi
khusus PC7
TOSC2 Timer Oscillator Pin2 PC6
TOSC1 Timer Oscillator Pin1 PC5 InputOutput
Universitas Sumatera Utara
PC4 InputOutput PC3 InputOutput
PC2 InputOutput PC1
SDA Two-wire Serial Buas Data InputOutput Line PC0
SCL Two-wire Serial Buas Clock Line
Tabel 2.2. Fungsi Khusus Port C 6. Port D PortD0...PortD7 merupakan pin inputoutput dua arah dan pin fungsi
khusus, seperti yang terlihat pada tabel dibawah ini. Pin Fungsi
khusus PD7
OC2 TimerCounter Output Compare Match Output PD6 ICP
TimerCounter1 Input Capture Pin
PD5 OC1A TimerCounter1
Output Compare A MatchOutput PD4 OC1B
TimerCounter1 Output Compare B MatchOutput
PD3 INT1 External Interrupt 1 Input
PD2 INT0 External Interrupt 0 Input
PD1 TXD USART Output Pin
PD0 RXD USART Input Pin
Tabel 2.3 Fungsi Khusus Port D 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.
8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. 9. AVCC merupakan pin masukan tegangan untuk ADC.
10. AREFF merupakan pin masukan tegangan referensi ADC.
Universitas Sumatera Utara
2.3 Sensor Jarak Ultrasonik PING
Sensor jarak ultrasonik ping adalah sensor 40 khz produksi parallax yang banyak digunakan untuk aplikasi atau kontes robot cerdas. Kelebihan sensor ini
adalah hanya membutuhkan 1 sinyal SIG selain jalur 5 v dan ground. Berikut adalah contoh gambar sensor PING:
Gambar 2.2 Sensor jarak ultrasonik ping Sensor ini dapat mengukur jarak antara 2 cm sampai 300 cm blank area
yaitu sensor tidak dapat mengukur jarak jika jarak benda 2cm. Keluaran dari sensor ini berupa pulsa yang lebarnya merepresentasikan jarak. Lebar pulsanya
bervariasi dari 115 uS sampai 18,5 mS. Sensor ultrasonic ping parallax terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah
mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik berfungsi untuk mendeteksi pantulan suaranya.
Universitas Sumatera Utara
2.3.1 Spesifikasi sensor PING
a.Kisaran pengukuran 3cm-3m. b.Input trigger –positive TTL pulse, 2uS min., 5uS tipikal.
c.Echo hold off 750uS dari fall of trigger pulse. d.Delay before next measurement 200uS.
e.Burst indicator LED menampilkan aktifitas sensor.
2.3.2 Prinsip Kerja Sensor PING
Berikut adalah prinsip kerja sensor ultrasonic ping parallax.
1. Pin yang digunakan sebagai jalur data sensor dijadikan output.
2. Mikrokontroler memberikan pulsa trigger pulsa high dengan tOUT selama 2
µs sampai 5 µs. 3.
Kemudian setelah memberikan trigger, pin tersebut dijadikan input. 4.
Sensor memancarkan gelombang ultrasonic sebesar 40KHz selama 200 µs tBURST.
5. Gelombang ultrasonic ini akan merambat diudara dengan kecepatan 344.424
mdetik atau 1 cm setiap 29.034 µs. 6.
Gelombang tersebut akan mengenai objek kemudian terpantul kembali ke sensor.
7. Selama menunggu pantulan, sensor akan menghasilkan sebuah pulsa high
8. Pulsa ini akan berhenti low ketika gelombang suara pantulan terdeteksi oleh
sensor. 9.
Lebar pulsa tersebutlah yang yang dipresentasikan sebagai jarak antara sensor ping dengan objek.
Universitas Sumatera Utara
10. Lebar pulsa high tIN akan sesuai dengan lama waktu tempuh gelombang
ultrasonik untuk 2x jarak ukur dengan obyek yang kemudian dapat merepresentasikan jarak antara sensor ping dengan objek.
11. Sinyal yang diterima oleh rangkaian receiver dikirimkan ke rangkaian
mikrokontroler untuk selanjutnya diolah untuk menghitung jarak terhadap benda. 12.
Benda di sini adalah benda yang bersifat memantul, bukan benda yang bersifat meredam sinyal.
Pada dasanya, Sensor PING terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker
ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik berfungsi untuk mendeteksi pantulan suaranya. Sensor PING mendeteksi jarak
obyek dengan cara memancarkan gelombang ultrasonik 40 kHz selama tBURST 200
μs kemudian mendeteksi pantulannya. Sensor PING memancarkan gelombang ultrasonik sesuai dengan kontrol dari mikrokontroler pengendali
pulsa trigger dengan tOUT min. 2 μs.
Universitas Sumatera Utara
Gelom detik, men
pulsa outp setelah ge
SIG. Leba ultrasonik
2.4 Buzze
Buzze getaran li
tegangan buzzer ham
yang terp sehingga
keluar, te mbang ultra
ngenai oby put high
pa elombang pa
ar pulsa Hig k untuk 2x ja
er
er adalah se istrik menja
antara 5 vo mpir sama
pasang pada menjadi el
ergantung d Gambar 2.
asonik ini yek dan me
ada pin SIG antulan terd
gh tIN ak arak ukur de
ebuah komp adi getaran
olt sampai dengan lou
a diafragma lektromagne
dari arah ar .3 Prinsip k
melalui ud emantul kem
G setelah me deteksi PIN
kan sesuai d engan obye
ponen elektr suara. Bu
dengan 12 ud speaker,
a dan kem et, kumpar
arus dan po erja sensor
dara dengan mbali ke se
emancarkan NG akan me
dengan lama ek.
ronika yang zzer akan
volt DC. P jadi buzzer
mudian kum ran tadi ak
olaritas ma PING
n kecepatan ensor. PING
n gelomban embuat outp
a waktu tem
g berfungsi u menyala jik
Pada dasarn r juga terdir
mparan terse kan tertarik
gnetnya, ka n 344 mete
G mengelu ng ultrasonik
put low pad
mpuh gelom
untuk meng ka mendap
nya prinsip ri dari kum
ebut dialiri k ke dalam
karena kum er per
arkan k dan
da pin mbang
gubah patkan
kerja mparan
i arus atau
paran
Universitas Sumatera Utara
dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga membuat udara bergetar yang akan
menghasilkan suara. Di dalam tugas akhir ini, buzzer digunakan sebagai indikator bahwa telah terjadi suatu kesalahan pada sebuah alat alarm.
Gambar 2.4 Bentuk Buzzer
2.5 Transistor