2.5 Transistor BC547
Transistor adalah komponen elektronika multitermal, biasanya memiliki 3 terminal. Secara harfiah, kata Transistor berarti “Transfer resistor”, yaitu suatu
komponen yang nilai resistansimantara terminalnya dapat diatur. Secara umum transistor terbagi dalam 3 jenis :
1. Transistor Bipolar
2. Transistor Unipolar
3. Transistor Unijunction
Dalam pembuatan Robot Berkaki ini, Saya menggunakan tipe Transistor BC547 seperti Gambar 2.10.
Gambar 2.10 Transistor BC547
2.6 Mikrokontroler AVR
Mikrokontroler AVR Alf dan Vegard’s Risc processor standar memiliki 8 bit, dimana semua instruksi dikemas dalam kode 16-bit, dan sebagian besar instruksi
dieksekusi dalam 1 satu siklus clock. AVR berteknologi RISC Reduced Instruction Set Computing dimana set instruksinya dikurangi dari segi ukurannya dan
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
kompleksitas mode pengalamatannya, sedangkan arsitektur AVR sendiri awalnya dibuat oleh 2 orang mahasiswa di Norwegian Institute of Technology yaitu Alf-Egil
Bogen dan Vegard Wollan yang selanjutnya dikembangkan oleh perusahaan Atmel di Norwegia dan AVR dapat dikelompokkan menjadi empat kelas, yaitu Altiny
keluarga ATSOSxx, ATMega, dan AT86RFxx.
2.6.1 Pengenalan Mikrokontroller AVR ATmega16
AVR ATMega16 merupakan seri mikrokontroler CMOS 8-bit buatan Atmel,
berbasis arsitektur RISC Reduced Instruction Set Computer. Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-
purpose, timercounter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving,
ADC dan PWM internal. AVR ATMega16 juga mempunyai In-System Programmable Flash on-chip
yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI ATMega16. ATMega16 mempunyai throughput
mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi konsumsi daya versus kecepatan proses. Berikut design Mikrokontroller AVR ATmega16 pada
Gambar 2.11.
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Gambar 2.11 Mikrokontroler AVR ATmega16
Pengembangan sebuah sistem menggunakan mikrokontroller AVR buatan ATMEL menggunakan software CodeVisonAVR. CodeVision AVR merupakan
software C-cross compiler, dimana program dapat ditulis dalam bahasa C.
AVR Studio 4 memiliki IDE Integrated Development Environment yang lengkap, dimana menulis program, compile, link, pembuatan kode bahasa C dan
download program ke chip AVR dapat dilakukan pada codevision, selain itu ada
fasilitas terminal yaitu untuk melakukan komunikasi serial dengan mikrokontroller yang sudah di program [7].
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.6.2 Konfigurasi PIN Mikrokontroler AVR ATMega16
Konfigurasi pin ATmega16 dengan kemasan 40 pin DIP Dual Inline Package
. AVR memiliki keunggulan dibandingkan dengan mikrokontroller lain, keunggulan mikrokontroller AVR yaitu : AVR memiliki kecepatan eksekusi program
yang lebih cepat karena sebagian besar instruksi dieksekusi dalam 1 siklus clock, lebih cepat dibandingkan dengan mikrokontroller jenis lain. Berikut design
konfigurasi dari serial mikrokontroller AVR ATMega16 pada Gambar 2.12.
Gambar 2.12 Konfigurasi Kaki Mikrokontroller AVR ATMega16
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.6.3 Penjelasan Fungsi PIN Mikrokontroller AVR ATMega16
Fungsi PIN Mikrokontroller AVR ATMega16 tipe PDIP : a.
Vcc : Merupakan pin yang berfungsi sebagai catu daya.
b. GND
: Merupakan pin Ground penghantar arus listrik. c.
Port A PA0..PA7 : Merupakan pin input output dua arah dan pin masukan ADC.
d. Port B PB0..PB7 : Merupakan pin input output dua arah dan pin
fungsi khusus, seperti dapat dilihat pada table di bawah ini.
Tabel 2.2 Fungsi Khusus Port B
Pin Fungsi Khusus
PB7 SCK SPI Bus Serial Clock
PB6 MISO SPI Bus Master InputSlave Output
PB5 MOSI SPI Bus Master InputSlave Output
PB4 SS
SPI Slave Input PB3
AIN1 Analog Comparator Negative Input OC0 TimerCounter0 Output Compare Match Output
PB2 AIN0 Analog Comparator Positive Input
INT2 External Interrupt 2 Input
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
PB1 T1 TimerCounter0 External Counter Input
PB0 T0 T1 TimerCounter0 External Counter Input
XCK USART External Clock InputOutput
e. Port C PC0..PC7 : Merupakan pin inputoutput dua arah dan pin
fungsi khusus, seperti dapat dilihat pada tabel dibawah ini.
Tabel 2.3 Fungsi Khusus Port C
Pin Fungsi Khusus
PC7 TOSC2 Timer Oscillator Pin2
PC6 TOSC1 Timer Oscillator Pin1
PC5 TDI JTAG Test Data In
PC4 TDO JTAG Test Data Out
PC3 TMS JTAG Test Mode Select
PC2 TCK JTAG Test Clock
PC1 SDA Two-wire Serial Bus Data InputOutput Line
PC0 SCL Two-wire Serial Bus Clock Line
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
f. Port D PD0..PD7 : Merupakan pin inputoutput dua arah dan pin
khusus, seperti dapat dilihat pada tabel dibawah ini.
Tabel 2.4 Fungsi Khusus Port D
Pin Fungsi Khusus
PD7 OC2 TimerCounter2 Output Compare Match Output
PD6 ICP TimerCounter1 Input Capture Pin
PD5 OC1A TimerCounter1 Output Compare A Match Output
PD4 OC1B TimerCounter1 Output Compare B Match Output
PD3 INT1 External Interrupt 1 Input
PD2 INT0 External Interrupt 0 Input
PD1 TXD USART Output Pin
PD0 RXD USART Input Pin
g. RESET
: Merupakan pin yang digunakan untuk me-reset mikrokontroler.
h. XTAL1 XTAL2 : Merupakan pin masukkan clok eksternal.
i. AVCC : Merupakan pin masukan tegangan untuk ADC
1. AREF : Merupakan pin masukan tegangan referensi
ADC
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
Dari penerangan tiap fungsi PIN yang ada pada Mikrokontroler AVR ATMega16 menjelaskan adanya Bagan Rancangan Blok Diagram. Design bagan
rancangan blok diagram dapat dilihat pada Gambar 2.13.
Gambar 2.13 Blok Diagram AVR ATMega16
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.6.4 Memori Program ATMega16
Arsitektur ATMega16 mempunyai dua memori utama, yaitu memori data dan memori program. Selain itu, ATMega16 memiliki memori EEPROM untuk
menyimpan data. ATMega16 memiliki 16K byte On-chip In-System Reprogrammable Flash Memory
untuk menyimpan program. Instruksi ATMega16 semuanya memiliki format 16 atau 32 bit, maka memori flash diatur dalam 8K x 16
bit. Memori flash dibagi kedalam dua bagian, yaitu bagian program boot dan aplikasi. Bootloader
adalah program kecil yang bekerja pada saat sistem dimulai yang dapat memasukkan seluruh program aplikasi ke dalam memori prosesor. [3]. Design
Arsitektur Mikrokontroller AVR ATMega16 dapat dilihat pada Gambar 2.14.
Gambar 2.14 Arsitektur Mikrokontroler AVR ATMega16
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
2.7 Konsep Pemprograman Bahasa C