BAB II
DASAR TEORI
2. Dasar Teori
Bab ini membahas mengenai tinjauan teori-teori dasar dari komponen-komponen pada alat yang akan dibuat.
2.1
Mikrokontroler
Mikrokontroler adalah suatu systemmikroprosesor yang lengkap dan dikemas
dalam bentuk sebuah IC (singlechip).Mikrokontroler ini merupakan terobosan
teknologi mikroprosesor dan mikrokomputer yang digunakan untuk memenuhi
kebutuhan pasar (marketneed). IC mikrokontroler memiliki perangkat penunjang seperti dalam mikrokomputer seperti unit pusat pengolahan data (Central Processing Unit), unit memori (ROM dan RAM) dan unit I/O. Selain itu, terdapat juga fasilitas-fasilitas seperti timer, counter, control interupsi (interrupt Control)
dan
USART
(Universal
Sinchronous
Asinchronous
Receiver
Transmitter). Mikrokontroler
merupakan
teknologi
semikonduktordengankandungan
transistoryanglebihbanyak,namunhanyamembutuhkanruang dapatdiproduksidalamjumlah
yangbanyaksehingga
yangkecilserta
harganyamenjadi
lebih
murahjika dibandingkandenganmikroprosesor. 2.1.1
Atmega 8
Mikrokontroler adalah suatu komponen semikonduktor yang didalamnya sudah terdapat suatu mikroprosessor seperti : ALU, ROM, RAM, dan Port I/O. Di Indonesia banyak beredar mikrokontroler dari berbagai pabrik diantaranya : Atmel, Microchip, dan Motorolla. Namun dari semuanya tersebut terbagi dua jenis / tipe mikrokontroler, yaitu : •
Tipe CISC atau Complex Instruction Set Computing yang lebih kaya instruksi tetapi fasilitas internal secukupnya saja (seri AT89 memiliki 255 instruksi);
3
•
Tipe RISC atau Reduced Instruction Set Computing yang justru lebih kayafasilitas internalnya tetapi jumlah instruksi secukupnya (seri PIC16F hanya ada sekitar 30-an instruksi, seri AVR ada sekitar 118)
Fasilitas internal tersebut antara lain : jumlah dan macam register internal,
pewaktu dan / atau pencacah, ADC atau DAC, unit komparator, interupsi eksternal maupun internal dan lain sebagainya.
AVR terdiri dari tiga kelompok besar yaitu kelompok AT90S, ATtiny, dan Atmel
ATmega. Yang digunakan pada proyek akhir ini adalah Atmega8.
Atmega8 adalah sebuah mikrokontroller C-MOS 8-bit berdaya rendah. Dengan eksekusi instruksi yang baik, Atmega8 mencapai 1MIPS per MHZ, yang mengizinkan pendesain sistem untuk tetap optimis dalam konsumsi power terhadap kecepatan proses. Atmega8
menyediakan
fitur-fitur
sebagai
berikut:
8K
bytes
In-
SystemProgrammable Flash dengan kemampuan Read-While-Write, 512 bytes EEPROM, 1K byte SRAM, 23 general purpose I/O lines, 32 general purpose working registers, tiga flexible Timer/Counters dengan mode compare, internal dan external interrupts, sebuah serial programmable USART, sebuah byte orientedTwo-wire Serial Interface, sebuah 6-channel ADC (delapan channel dalam TQFP dan MLF paket) dimana empat (enam) channel memiliki 10-bit accuracy dan dua channel memiliki 8-bit accuracy, sebuah programmable Watchdog Timer dengan Internal Oscillator, sebuah SPI serial port, dan lima software selectable power saving modes. 2.1.2 •
Fitur Atmega 8 AVR 8 bit microcontroller
Berperforma tinggi dan ber-arsitektur RISC dengan konsumsi daya rendah.
130 instruksi lengkap.
4
Fully Static Operasi.
Sebagian besar eksekusi satu siklus.
32x8 General Purpose Working Register (GPR.)
Mencapai 16 MIPS Throughput pada 16 MHz.
•
Data dan Non-volatile Program Memory
baca/tulis.
1K Bytes isi SRAM
512 Bytes EEPROM In-System Programmable daya tahan 100.000 kali baca/tulis.
8K Bytes flash In-System Self-Programmable, daya tahan 1000 kali
•
Pemrograman pengunci untuk keamanan Software.
Fitur Peripheral
Dua Timer/counter 8-bit dengan Separate Prescaler (sumber clock yang bisa diatur) dan mode pembanding.
Satu Timer/Counter 16-bit dengan Separate PrescalerI, mode pembanding, Mode Capture (penangkap trigger).
•
Empat saluran PWM.
Full Duplex USART
On-chip Analog Comparator.
Programmable Watchdog Timer dengan On-chip Oscillator.
USI – Universal Serial Interface.
Fitur Khusus Mikrokontroler
Lima Mode Sleep : Mode Idle, Mode Power-down, Mode Standby, Mode Power save, dan ADC Noise Reduction
Rangkaian Power-on reset dan deteksi Brown – out yang dapat deprogram.
•
Sumber Interupsi External dan Internal.
Kalibrasi Oscillator internal
I/O dan Kemasan
23 Programmable saluran I/O
28-pin PDIP, 32-pin TQFP, 32-pad MLF
5
•
Atmega8L : 0 – 8 MHz
Atmega8 : 0 – 16 MHz
•
Tegangan Kerja
Atmega8L : 2.7 – 5.5V
Atmega8 : 5 – 5.5V
•
Kelas Kecepatan
Konsumsi Daya 4 Mhz, 3V, 250C
Mode Aktif : 3.6 mA
Mode Idle : 1.0 mA
Mode Power Down : 0.5 uA
2.1.3
Hardware IC
MLF Gambar 2.1IC Atmega 8 VCC
: Supply tegangan
GND
: Ground
Port B (PA7...PA0) :
Port B mempunyai 8-bit bi – directional I/O port. Pin port dapat
XTAL 1/ XTAL 2/
diberi resistor pull – up internal secara individual. Buffer output
TOSC1/TOSC2
Port B mempunyai karakteristik penggerak dengan kemampuan mencatu (source) dan menyerap (sink). Ketika pin Port B digunakan sebagai input dan di – pulled low, maka akan menghasilkan sumber arus jika resistor internal pull – up
6
diaktifkan. Pin Port B mempunyai tiga keadaan ketika kondisi
reset bahkan ketika clock tidak aktif. Port A memiliki fungsi khusus lain seperti XTAL1, XTAL2, dan reset.
Port C (PB5…PB0) : Port C mempunyai 7-bit bi – directional I/O port. Pin
port dapat diberi resistor
pull – up internal secara
individual. Buffer output Port B mempunyai karakteristik
penggerak dengan kemampuan mencatu (source) dan
menyerap (sink). Ketika pin PC0 sampai PC5 digunakan
sebagai input dan di – pulled low, maka akan
menghasilkan sumber arus jika resistor internal pull – up diaktifkan. Pin Port B mempunyai tiga keadaan ketika
kondisi reset bahkan ketika clock tidak aktif. Port D (PD7…PD0) : Port D mempunyai 7-bit bi – directional I/O port. Pin port dapat diberi resistor individual.
Buffer
pull – up internal secara
output
Port
D
mempunyai
karakteristik penggerak dengan kemampuan mencatu (source) dan menyerap (sink). Ketika pin PD0 sampai PD6 digunakan sebagai input dan di – pulled low, maka akan menghasilkan sumber arus jika resistor internal pull–up diaktifkan. Pin Port A mempunyai tiga keadaan ketika kondisi reset bahkan ketika clock tidak aktif. RESET
: Input reset, ketika terjadi kondisi rendah pada pin ini. Akan membuat mikrokontroler masuk dalam kondisi reset walaupun clock mati / tidak bergerak.
XTAL1
: Input bagi inverting oscillator amplifier dan input bagi operasi rangkaian clock internal.
XTAL2
: Output inverting oscillator amplifier.
· AVCC
: Merupakan masukan catu daya untuk A/D Converter, port C (3…0) dan ADC(7…6). Pin ini harus dihubungkan dengan VCC eksternal, meskipun ADC tidak digunakan. Jika ADC digunakan, pin ini harus terhubung ke VCC melalui sebuah Low-pass filter.
7
· AREF
: merupakan tegangan referensi untuk rangkaian ADC.
2.2
USART
USART (Universal Synchronous and Asynchronous serial Receiver and
Transmitter) merupakan alat komunikasi serial yang sangat fleksibel. Dalam
komunikasi serial terdapat beberapa hal yang perlu diperhatikan, yaitu format
frame, inisialisasi USART, dan parity checker.
2.2.1
Frame Format
Frame serial didefinisikan satu karakter data bit dengan synchronization bit (start dan stop bit), dan parity bit untuk checking error. USART menerima seluruh 30
kombinasi dibawah ini sebagai format frame yang valid: •
1 start bit
•
5, 6, 7, 8, atau 9 data bit
•
Ganjil atau genap atau tidak ada parity bit
•
1 atau 2 stop bit
Frame di mulai oleh start bit diikuti oleh data bit. Jika memungkinkan, parity bit akan di masukan setelah data bit dan sebelum stop bit. Ketika frame yang lengkap telah di transmisikan, maka secara langsung akan diikuti oleh frame yang baru, atau jalur komunikasi di set pada keadaan idle (high).
Gambar 2.2 Format Frame USART
St
Start bit, selalu low
(n)
Data bit (0 sampai 8)
P
Parity bit. Dapat ganjil atau genap
Sp
Stop bit, selalu high
Idle
tidak ada transfer pada jalur komunikasi (RxD atau TxD).
8
2.2.2
Inisialisasi USART
USART harus di inisialisasi sebelum melakukan komunikasi. Proses inisialisasi
terdiri dari pengaturan baud rate, pengaturan format frame, dan mengaktifkan transmitter atau receiver tergantung dari penggunaan.
Sebelum melakukan inisialiasi ulang dengan perubahan baud rate atau format frame, pastikan tidak ada pengiriman selama dalam perioda perubahan register. Flag TXC dapat digunakan untuk memeriksa apakah transmitter telah melakukan seluruh transfer, dan flag RXC digunakan untuk memeriksa tidak adanya data
yang belum terbaca pada buffer receiver.
Transmitter USART akan aktif dengan mengatur bit Transmit Enable (TXEN) pada register UCSRB. Ketika transmitter aktif, Pin TxD tidak lagi sebagai normal port tetapi berfungsi sebagai output serial transmitter. Baud rate, cara pengoprasian, dan format frame harus diatur sebelum melakukan transmisi apapun. Receiver USART akan aktif apabila Receive Enable (RXEN) pada register UCSRB diberi logic satu. Ketika receiver aktif, Pin RxD tidak lagi sebagai normal port tetapi berfungsi sebagai input serial transmitter. Baud rate, cara pengoprasian, dan format frame harus diatur sebelum penerimaan serial selesai.
2.2.3
Parity Checker
Parity checker akan aktif ketika UPM1 diberi logic 1, pengecekan jenis dari parity akan dilakukan oleh bit UPM0. Ketika aktif, pengecek parity menghitung parity dari data bit pada frame yang datang dan membandingkan hasilnya dengan parity bit dari frame serial. Hasil dari pengecekan akan di simpan pada receiver buffer bersamaan dengan data yang diterima dan stop bit. Flag Parity error (PE) akan. dapat di baca oleh software untuk di baca jika pada framenya terdapat parity error. PE bit akan aktif jika karakter selanjutnya dimana akan dapat dibaca dari receiver buffer memiliki parity error ketika menerima dan pengecekan parity telah aktif
9
pada saat itu (UPM1 = 1). Bit ini akan sah sampai terbacanya buffer pada receiver
(UDR).
2.2.4
Penerimaan Data Asynchronous
USART terdapat unit clock recovery dan data recovery untuk menangani
penerimaan
data asynchronous.
Logika
clockrecovery
digunakan
untuk
menyamakan baud rate internal terhadap serial frames asynchronous yang datang
dari RxD pin. Jangkauan operational peneriamaan asynchronous tergantung pada akurasi baud rateinternal, kecepatan datangnya frame, dan ukuran bit dalam setiap frame.
2.3
Frekuensi Radio
Frekuensi Radio merupakan suatu gelombang elektromagnetik yang memiliki spektrum radiasi elektromagnetik pada range frekuensi antara 9 kHz-300 GHz. Gelombang elektromagnetik dihasilkan dari arus AC yang diberikan pada suatu konduktor atau antena. Antena tersebut akan meradiasikan suatu medan elektromagnetik melalui udara. Panjang gelombang dari frekuensi radio berbanding terbalik dengan frekuensinya berdasarkan rumus berikut : λ= dengan
λ
=
panjang gelombang (m)
c
=
kecepatan cahaya (3x108 m/s)
f
=
frekuensi (Hz)
Frekuensi Radio ini digunakan sebagai media pengiriman data dari transmitter ke receiver. 2.3.1
Transmitter
Transmitter adalah rangkaian pengirim data yang mengirimkan data ke receiver. Transmitter ini terdiri dari modul RF transmitter, dan Antena.
RF Transmitter
Input
Gambar 2.3Diagram Blok RangkaianTransmitter
10
Transmitter ini digunakan sebagai pengirim data antar device.
Pada proyek akhir ini modul RF transmitter yang digunakan yaitu tipe TLP 315 sudah tersedia dan dapat dibeli dengan mudah dipasaran. Modul RF transmitter
Modul RF Transmitter TLP 315 adalah modul pengirim data dengan media pengiriman data melalui gelombang radio yang frekuensi kerjanya telah ditetapkan yaitu 315 MHz.
Gambar 2.4Bentuk fisik dari TLP 315 MHz
1234 Gambar 2.5 Konfigurasi Kaki Transmitter Keterangan: 1. GND 2. Data Out 3. VCC 4. Antena 2.3.2
Receiver
Receiver adalah rangkaian penerima data yang menerima data dari Transmitter. Receiver ini terdiri dari modul RF receiver, decoder, dan Antena. Berikut ini adalah Diagram Blok dari receiver. RF Receiver
Output
Gambar 2.6 Diagram Blok Rangkaian Receiver
11
Receiverini digunakan sebagai penerima data yang dikirim dari transmitter
sebagai sebuah input bagi mikrokontroler Atmega 8.
Modul RF Receiver Pada proyek Akhir ini modul RF receiver yang digunakan yaitu tipe RLP 315
sudah tersedia dan dapat dibeli dengan mudah dipasaran. Modul RF receiver RLP 315 adalah modul penerima data yang menerima data dari modul RF transmitter TLP 315 dengan frekuensi 315 MHz. Data yang diterima adalah data serial, kemudian data ini diubah oleh decoder. Bentuk fisik dari RLP 315 RF receiver
dapat dilihat pada Gambar 2.7
Gambar 2.7Bentuk fisik dari RLP 315 MHz
5678 1234 Gambar 2.8 Konfigurasi Kaki Receiver Keterangan :
2.4
1. GND
5. VCC
2. Data Out Digital
6. GND
3. Linear Output
7. GND
4. VCC
8. Antena
Liquid Crystal Display (LCD)
Merupakan salah satu media penampil (display) untuk data. Aplikasi dari LCD
dapat
dilihat
pada
jam
digital,
12
panel
instrument
industri,
dll.
Keuntungan utama dari LCD yaitu penggunaan daya yang relatif kecil dan
memiliki format tampilan yang bervariasi.
2.4.1
Prinsip Kerja
Prinsip kerja pada bagian dalamnya, yaitu dapat dilihat pada Gambar 2.6
dibawah ini :
Gambar 2.9Struktur dalam LCD Gambar diatas menunjukkan struktur dalam dari sebuah LCD, yang terdiri dari 2 plat yang dipsahkan oleh material crystal. Kedua plat polarisasi digunakan untuk meneruskan cahaya, sedangkan cairan crystal yang berada diantaranya dapat
digunakan
untuk
meneruskan
atau
menghambat
cahaya.
LCD
memerlukan eksitasi dari gelombang bolak – balik, yang akan digunakan untuk memilih eletroda dan memberikan muatan pada daerah yang dipilih. Gelombang pengeksitasi tersebut menghasilkan medan elektrostatik, untuk mengatur molekul – molekul cairan crystal pada daerah yang dipilih. Pada saat crystal diatur, cahaya dibiaskan melalui cermin. Pada daerah yang diber muatan, cermin memantulkan cahaya yang lebih banyak dari daerah yang tidak diberi muatan. Sehingga daerah yang diberi muatan akan terlihat menyala. LCD memiliki bermacam – macam ukuran dari 1 s/d 4 baris, 16 s/d 40 karakter atau baris, dan 5 X 7 atau 5 X 10 dot display fonts. Kontroller LCD dapat dihubungkan dengan 8 bit data bus.LCD memiliki 16 pin, terbagi atas jalur data, kontrol power, dan backlight. Sinyal kontrol dari suatu LCD terdiri atas:
13
Tabel 2.1 Pin-pin LCD Pin Ke1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Simbol VSS VDD VO RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A (+) A (-)
Fungsi GND (0 V) +5 V (VCC) Contrast Adjust Register Select Read/ Write Enable Signal Data bit 0 Data bit 1 Data bit 2 Data bit 3 Data bit 4 Data bit 5 Data bit 6 Data bit 7 LED backlight + LED backlight –
1. RS (Register Select Kontrol) Jika RS berlogic ”0”, maka yang dilakukan adalah menulis instruksi atau command register. Jika RS berlogic ”1”, maka yang dilakukan adalan membaca status busy flag dan alamat counter LCD. 2. EC (Enable Kontrol) Merupakan sinyal awal untuk menulis atau membaca LCD. Proses transaksi data atau command terjadi saat sinyal EC dari logic ”1” ke logic ”0”. 3. RW (Read/Write Kontrol) Jika RW berlogic “0”, maka yang dilakukan adalah menulis data ke LCD. Jika RW berlogic “1”, maka yang dilakukan adalah membaca data dari LCD. 4. Kontrol Backlight Pada prinsipnya backlight LCD adalah LED yang akan menyala jika diberi input arah maju (forward bias) dan akan padam jika diberi input (reverse bias). Tegangan yang digunakan kurang lebih sebesar 5 VDC.
14
Gambar 2.10 Bentuk Fisik LCD
2.4.2 Pengoprasian Pengontrolan LCD
Pengoperasian pengontrolan LCD terbagi atas operasi data dan operasi
control. Operasi data terjadi pada saat RS (Register Select) berlogik ”1”, operasi kontrol terjadi jika RS (Register Select) berlogik ”0”. Macam – macam operasi kontrol diantaranya:
1. Instruksi Inisialisasi Power on reset terjadi pada saat modul pertama kali diberi catu (di ON an). Prosedur power ON reset ini harus diulang dengan mengirim 3 bytes instruksi 30H. 2. Fungsi Set Menentukan ukuran dari data bus, jumlah baris dari display dan ukuran font. 3. Entry Mode Adalah aksi dari kursor dan display
menurut setiap karakter dalam operasi
membaca atau menulis. Instruksi binernya, yaitu : 4. Instruksi Kursor Kursor menentukan lokasi dimana karakter berikutnya akan ditulis atau darimana karakter berikutnya akan dibaca. 5. Home Kursor Posisi awal kursor adalah terdapat pada karakter paling kiri pada baris pertama. 6. Memindahkan (menempatkan) Kursor Dapat ditempatkan dimana saja dalam DDRAM, tergantung dari lokasi DDRAM dan pada beberapa banyak display digeser. Kursor dapat terletak
15
atau tidak terletak pada daerah lokasi yang didisplaykan. Memindahkan
kursor dapat dilakukan dengan memilih alamat DDRAM.
7. Hide/Show/Link Kursor Kursor dapat disembunyikan (tidak terlihat), kursor biasanya berupa garis bawah, yang disebut dnegan line kursor, karakter pada lokasi kursor dapatberkedip. Dengan karakter berkedip, kursor dapat disembunyikan atau
diperlihatkan. 8. Shift Kursor Kursor atau seluruh display dapat digeser ke kanan atau ke kiri.
2.5
Keypad Keypad sering digunakan sebagai input pada beberapa peralatan yang berbasis mikroprosessor atau mikrokontroler. Keypad terdiri dari beberapaukuran, ada yang ukuran 3x4 dengan jumlah baris 4 dan kolom 3, ada juga yangberukuran 4x4 dengan jumlah baris dan kolom yang sama yaitu 4. Sebenarnyakeypad merupakan beberapa saklar yang terhubung dengan kolom dan barisdengan susunan seperti gambar berikut :
Gambar 2.11Rangkaian Interface Keypad 4x4
Gambar 2.12 Bentuk Fisik Keypad 4x4
16
Agar mikrokontroler dapat melakukan scan keypad, maka port akan
mengeluarkan 1 bit dari 4 bit yang terhubung pada kolom dengan logika 0. Setelah itu 4 bit berikutnya yaitu membaca baris mana yang tombol padakeypad tersebut ditekan.Jika tidak ada tombol yang ditekan maka mikrokontroler akan menganggap logika 1.
2.6
AVR Studio Studio 5 adalah sebuah IDE untuk menulis program untuk mikrokontroler AVR
AVR pada sistem operasi Windows. AVR Studio menyediakan banyak fasilitasi
diantaranya editor source file, simulator, project management tool, programming dan on-chip debugging. AVR Studio 5 mendukung hampir semua mikrokontroler AVR dari ATMEL. Tidak seperti versi sebelumnya, sekarang AVR Studio 5 sudah terintegrasi dengan AVR GCC. Oleh karena itu, selain bahasa assembly, AVR Studio 5 juga mendukung bahasa C dan C++. Bahasa C++ hanya bisa digunakan untuk mikrokontroler AVR 32 bit.
17