Anda di halaman 1dari 60

BAB 6

MIKROKONTROLER
A. Pengertian Mikrokontroler
Mikrokontroler adalah sebuah system computer fungsional dalam suatu chip yang
di dalamnya terkandung sebuah inti prosesor memori (sejumlah kecil RAM, memori
program atau duanya), dan perlengkapan input output.
Dengan kata lain, mikrokontroler adalah suatu alat elektronika digital yang
mempunyai masukan dan keluaran serta kendali dengan program yang bisa ditulis dan
dihapus dengan cara khusus, cara kerja mikrokontroler sebenarnya membaca dan menulis
data. Mikrokontroler merupakan komputer didalam chip yang digunakan untuk
mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara
harfiahnya bisa disebut “pengendali kecil” dimana sebuah sistem elektronik yang
sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan
CMO dapat direduksi/diperkecil dan akhirnya terpusat serta dikendalikan oleh
mikrokontroler ini. Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi
komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi
kecepatan tinggi atau sekedar menambah jumlah saluran masukan dan keluaran (I/O).
Dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer
karena mikrokontroler sudah mengandung beberapa periferal yang langsung bisa
dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog
(DAC), konversi analog ke digital dan sebagainya hanya menggunakan sistem minimum
yang tidak rumit atau kompleks. Agar sebuah mikrokontroler dapat berfungsi, maka
mikrokontroler tersebut memerlukan komponen eksternal yang kemudian disebut dengan
sistem minimum. Untuk membuat sistem minimal paling tidak dibutuhkan sistem clock
dan reset, walaupun pada beberapa mikrokontroler sudah menyediakan sistem clock
internal, sehingga tanpa rangkaian eksternal pun mikrokontroler sudah beroperasi.

Untuk merancang sebuah sistem berbasis mikrokontroler, kita memerlukan


perangkat keras dan perangkat lunak, yaitu:
1. Sistem minimal mikrokontroler
Yang dimaksud dengan sistem minimal adalah sebuah rangkaian mikrokontroler yang
sudah dapat digunakan untuk menjalankan sebuah aplikasi. Sebuah IC mikrokontroler
tidakakan berarti bila hanya berdiri sendiri. Pada dasarnya sebuah sistem minimal
mikrokontroler AVR memiliki prinsip yang sama, yang terdiri dari 4 bagian, yaitu :
a. prosesor, yaitu mikrokontroler itu sendiri
b) rangkaian reset agar mikrokontroler dapat menjalankan program mulai dari awal
c) rangkaian clock, yang digunakan untuk memberi detak pada CPU
d) rangkaian catu daya, yang digunakan untuk memberi sumber daya

 
2. Software pemrograman dan kompiler, serta downloader.

Mikrokontroler Design

Ada dua kelas utama dari arsitektur komputer, yaitu ‘arsitektur Havard’ dan
‘arsitektur Von Neumann (atau Princeton). Banyak desain khusus mikrokontroler dan
DSP (Digital Signal Processor) menggunakan arsitektur Havard.

Gambar. Design mikrokontroler [1]


Arsitektur Havard menggunakan memori terpisah untuk program dan data dengan
alamat dan bus data yang berdiri sendiri. Karena dua perbedaan aliran data dan alamat,
maka tidak diperlukan multiplexing alamat dan bus data. Arsitektur ini tidak hanya
didukung dengan bus paralel untuk alamat dan data, tetapi juga menyediakan organisasi
internal yang berbeda sedemikian rupa instruksi dapat diambil dan dikodekan ketika
berbagai data sedang diambil dan dioperasikan. Lebih lanjut lagi, bus data bisa saja
memiliki ukuran yang berbeda dari bus alamat. Hal ini memungkinkan pengoptimalan
bus data dan bus alamat dalam pengeksekusian instruksi yang cepat. Sebagai contoh,
mikrokontroler Intel keluarga MCS-51 menggunakan arsitektur Havard karena ada
perbedaan kapasitas memori untuk program dan data, bus terpisah (internal) untuk alamat
dan data. Begitu juga dengan keluarga PIC dari Microchip yang menggunakan arsitektur
Havard.

Gambar. Intel MSC-51 [2]

 
Pada arsitektur Von Neumann, program dan data dibagi pada ruang memori yang
sama. Arsitektur Von Neumann menyediakan fitur penyimpanan dan modifikasi program
secara mudah. Bagaimanapun, penyimpanan program tidak mungkin optimal dan
membutuhkan berbagai pengumpulan program dan data untuk membentuk instruksi.
Pengumpulan program dan data diselesaikan menggunakan time division multiplexing
yang akan berpengaruh pada performa mikrokontroler itu sendiri. Salah satu contoh
mikrokontroler yang menggunakan arsitektur Von Neumann (princeton) adalah Motorola
68HC11.

Gambar Jenis-jenis mikrokontroler [3]

Arsitektur MCS-51

Diagram blok mikrokontroler 8051 ditunjukkan pada gambar dibawah ini.

Gambar Block Diagram [4]

 
Istilah ‘8051’ disini mengacu kepada anggota keluarga MCS-51. Blok fungsional
mikrokontoler 8051 terdiri dari ALU, unit kendali dan pewaktu, RAM/EPROM/ROM,
register, latch dan driver untuk port P0, P1, P2 dan P3. Setiap blok fungsional tersebut
didiskusikan berikut ini

ALU

ALU 8051 menampilkan operasi aritmatik dan logika pada operand 8-bit. Latch adalah
register yang mendapatkan keluaran dari ALU. Selain memiliki operasi penambahan
(ADD) dan pengurangan (SUB) 8051 juga memiliki operasi perkalian (MUL) dan
pembagian (DIV). Tiap operasi logika bersangkutan dengan gerbang-gerbang digital
didalamnya yang memungkinkan operasi NOT, OR, NOT dan XOR.

Prosesor Boolean

Mikrokontroler 8051 memiliki sebuah Prosesor Boolean terpisah yang terintegrasi


langsung dengan mikrokontoler tersebut. Prosesor boolean ini memiliki set instruksi
sendiri, latch, dan bit RAM yang dapat dialamati. Flag carry tersedia sebagai akumulator.
Intruksi pemanipulasian bit menampilkan operasi-operasi seperti bit komplemen, set bit,
dan penghapusan bit. Terdapat juga instruksi pengkondisian, seperti JUMP, IF, BIT,
SET, dsb. Selain itu pula mikrokontroler ini juga mendukung operasi logika AND, OR.
Hasil dari operasi logika tersimpan pada bit carry yang mana bekerja sebagai akumulator.

Memori data dan program

Mikrokontroler 8051 memiliki memori program dan memori data yang terpisah. Code
program biasanya tersimpan pada ROM/EPROM. Storage program adalah salah satu
faktor yang membedakan antara anggota keluarga 8051 yang satu dengan yang lainnya.
Memori program dari 80C51 adalah 4K ROM, sedangkan memori program 80C52 adalah
8K ROM. 87C51 memiliki program memori ‘EPROM’ sebesar 4K.

Memori data bisa berupa RAM internal dan RAM eksternal. Contoh yang memiliki RAM
internal adalah 80C51 yang berkapasitas 128 byte. Beberapa lokasi internal RAM yang
juga digunakan untuk pengendalian operasi periperal seperti pewaktu/pencacah, port
serial, interupsi, dsb disebut sebagai SFR (Spesial Function Register). Ruang RAM
eksternal dapat terakses dalam hampir semua anggota 8051. Untuk mengakses RAM
eksternal digunakan alamat 16-bit. Bus alamat (Port 0) dan bus alamat-data (Port2) yang
menahan alamat ini. Orde byte yang lebih rendah dari bus alamat-data merupakan waktu
termultipleksi. Sedangkan multipleksi mengurangi jumlah pin, dan juga mengurangi
kecepatan dari akses memori. Hal ini yang mennjadi alasan mengapa akses memori data
eksternal selalu lebih lambat dibanding dengan pengaksesan RAM internal. Selanjutnya
untuk mengakses memori eksternal kita memerlukan load pointer data yang mana
membutuhkan instruksi ekstra.

 
Osilator

Semua anggota keluarga 8051 menggunakan kristal eksternal sebagai fungsi osilator.
Frekuensi operasi bisa tergantung kepada device itu sendiri. Data sheet device bisa
dijadikan rujukan untuk melihat frekuensi operasi yang sesuai dan mendukung device-
device yang akan digunakan. Sebagai contoh 80C51 beroperasi pada frekuensi 12 MHz.
Tetapi itu tidak menjadi suatu patokan yang tetap karena pada kenyataannya banyak juga
user menggunakan kristal 11,059 MHz. Selain itu masih banyak lagi device yang berjalan
pada frekuensi dibawah atau diatas 12 MHz. Frekuensi ringan yang lebih rendah
memperkenankan pewaktu membangkitkan frekuensi klok untuk pengoperasian serial
port.

Kendali dan pewaktuan

Keseluruhan operasi mikrokontroler 8051 singkron dengan klok. Segala yang terjadi
didalam mikrokontroler tersebut selangkah dengan klok. Terlepas dari pewaktuan
internal, untuk mengakses device diluar chip terdapat pula fitur seperti pengendali sinyal
ALE, PSEN dan RD, WR yang dibangkitkan oleh unit pewatuan dan kendali. [1]

B. Jenis-jenis Mikrokontroller

Secara teknis, hanya ada 2 macam mikrokontroller. Pembagian ini didasarkan pada
kompleksitas instruksi-instruksi yang dapat diterapkan pada mikrokontroler tersebut.
Pembagian itu yaitu RISC dan CISC.

· RISC merupakan kependekan dari Reduced Instruction Set Computer. Instruksi yang
dimiliki terbatas, tetapi memiliki fasilitas yang lebih banyak.
· Sebaliknya, CISC kependekan dari Complex Instruction Set Computer. Instruksi bisa
dikatakan lebih lengkap tapi dengan fasilitas secukupnya. Masing-masing mempunyai
keturunan atau keluarga sendiri-sendiri. Sekarang kita akan membahas pembagian
jenis-jenis mikrokonktroler yang telah umum digunakan.

1. Keluarga MCS51

Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian


besar instruksinya dieksekusi dalam 12 siklus clock. Mikrokontroler ini berdasarkan
arsitektur Harvard dan meskipun awalnya dirancang untuk aplikasi mikrokontroler chip
tunggal, sebuah mode perluasan telah mengizinkan sebuah ROM luar 64KB dan RAM
luar 64KB diberikan alamat dengan cara jalur pemilihan chip yang terpisah untuk akses
program dan memori data. Salah satu kemampuan dari mikrokontroler 8051 adalah
pemasukan sebuah mesin pemroses boolean yang mengijikan operasi logika boolean
tingkatan-bit dapat dilakukan secara langsung dan secara efisien dalam register internal
dan RAM. Karena itulah MCS51 digunakan dalam rancangan awal PLC (programmable
Logic Control).

 
2. AVR

Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat AVR
merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar kode
instruksinya dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler yang
paling sering dipakai dalam bidang elektronika dan instrumentasi. Secara umum, AVR
dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang membedakan masing-masing
kelas adalah memori, peripheral dan fungsinya. Keempat kelas tersebut adalah keluarga
ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx.

3. PIC

Pada awalnya, PIC merupakan kependekan dari Programmable Interface Controller.


Tetapi pada perkembangannya berubah menjadi Programmable Intelligent Computer.
PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat oleh
Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik General
Instruments dengan nama PIC1640.

Sekarang Microhip telah mengumumkan pembuatan PIC-nya yang keenam PIC


cukup popular digunakan oleh para developer dan para penghobi ngoprek karena
biayanya yang rendah, ktersediaan dan penggunaan yang luas, database aplikasi yang
besar, serta pemrograman (dan pemrograman ulang) melalui hubungan serial pada
komputer. [2]

C. Tipe – Tipe mikrokontroler

1. Mikrokontroler AT89C51 (mohamad fathurohim)


Mikrokontroler AT89C51 merupakan produk Atmel Corp, milik keluarga MCS51
mikrokontroler. Mikrokontroler ini memiliki arsitektur yang sama dengan
mikrokontroler 8031, produk dari Intel Corp Spesifikasi mikrokontroler AT89C51
dinyatakan di bawah ini:
- Baris 8 bit data
- 4K byte memori flash
- Frekuensi clock maksimum adalah 24MHz
- Memory internal 128 Byte
- Empat port I / O
- Dual 16 bit timer / counter
- Register dari AT89C51
- Mikrokontroler AT89C51 memiliki beberapa register, register yang menjelaskan
dalam tutorial ini adalah:
- Akumulator
- R0 - R7 [3]

 
2. mikrokontroler MCS-51
Arsitektur mikrokontroler MCS-51 diotaki oleh CPU 8 bit yang terhubung
melalui satu jalur bus dengan memori penyimpanan berupa RAM dan ROM serta
jalur I/O berupa port bit I/O dan port serial. Selain itu terdapat fasilitas timer/counter
internal dan jalur interface address dan data ke memori eksternal. Salah satu tipe
mikrokontroler arsitektur MCS-51 yang banyak digunakan saat ini adalah tipe Atmel
89S51. Tipe ini banyak digunakan karena memiliki fasilitas on-chip flash memory
dan In System Programming. Berikut adalah feature-feature untuk mikrokontroler
tipe 89S51 buatan Atmel.
• 4K bytes Flash ROM
• tes RAM
• port @ 8-bit I/O (Input/Output) port
• 2 buah 16 bit timer
• Interface komunikasi serial
• 64K pengalamatan code (program) memori
• 64K pengalamatan data memori
• Prosesor Boolean (satu bit – satu bit)
• 210 lokasi bit-addressable
• Fasilitas In System Programming (ISP) [4]

D. Contoh pemrogaman sederhana mikrokontroler


contoh program dan rangkaiannya
1. Merancang aplikasi lampu berjalan dari kiri ke kanan dan dari kanan ke kiri
lengkap dengan program perhitungan delaynya.

Gambar rangakaian menyalakan lampu led 8 buah [5]

 
Bahasa Pemrograman
a) Lampu berjalan yang bergerak satu per dari kiri ke kanan secara berulang-ulang

ORG OH : awal program di mulai pada alamat 0HI


Mulai :
MOV A,#07FH : isi akumuklator dengan data 7FH
Putar :
MOV PD, A :salin data dari akumuklator ke PD (nyalakan 1 lampu )

RR A : Putar 1 bit data akumuklator ke a rah kanan

ACALL Tunda : Panggil subrutin tunda untuk waktu tunda penyalaan

5JMP Putar : Lompat ke label mulai (lakukan secara berulang)

: Led akan nyala jika di beri logik 0

Tunda :
MOV R5,#250 : Isi register 5 dengan data 250

Tunda1 :
MOV R6,#100 : Isi register 6 dengan data 100

Tunda2 :
MOV R7,#10 : Isi register 7 dengan data 10

DJNZ R7,S : Kurangi R7 dengan 1 sampai 0 ‘

DJNZ R6, Tunda2 : Kurangi R6 jika belum 0 lompat ke label tunda2 “

DJNZ R5, Tunda1 : Kurangi R7 jika belum 0 lompat ke label tunda 1 “

RET : Kembali ke program utama


End
: Waktu tunda (siklus DJNZ = µS):

:“ : 2 (R7) = 2 (10) = 20 µS
:“ : 2 (R7 x R6) = 2 (10 x 100) = 2000 µS
: “’ : 2 (R7 x R6 x R5) = 2 (10 x 100 x 250) = 500000 µS
: …………….+
: 502020 µS = 500 mS

b) Bahasa pemrogamannya jika lampu bergerak dari kanan ke kiri yaitu

 
Mulai :

MOV A,#0FEH : intruksi yang diganti


Putar :

MOV P0,A

RL A : intruksi yang diganti

ACALL tunda

SJMP putar

: led akan nyala jika diberi logic 0

c) Bahasa program untuk menggerakan lampu dari tengah k pinggir dengan waktu tunda
200 mili detik yaitu :

ORG 0H : awal program dimulai pada alamat 0H


Mulai:
MOV P0,#11100111B : isi port 0 dengan data 11100111B

ACALL Tunda : panggil subrutin tunda

MOV P0,#11100111B : isi port 0 dengan data 11100111B

ACALL Tunda : panggil subrutin tunda

MOV P0,#11100111B : isi port 0 dengan data 11100111B

ACALL Tunda : panggil subrutin tunda

MOV P0,#11100111B : isi port 0 dengan data 11100111B

ACALL Tunda : panggil subrutin tunda

SJMP Mulai : lompat ke label mulai (lakukan berulang)

Led akan nyala jika diberi logic 0


Tunda :
MOV R5,#250 : isi register 5 dengan data 250
Tunda1:
MOV R6,#40 : isi register 6 dengan data 40
Tunda2:
MOV R7,#10 : isi register 5 dengan data 10

 
DJNZ R7,S : kurangi R7 dengan 1 sampai 0 ‘

DJNZ R6, Tunda2 : kurangi R6 jika belum 0 lompat ke label


Tunda2 “
DJNZ R5, Tunda1 : kurangi R7 jika belum 0 lompat ke label
Tunda1 “’
RET : kembali ke program utama
End

: waktu tunda (siklus DJNZ = 2 µS) :


:‘ : 2 (R7) = 2 (10) = 20 µS
:“ : 2 (R7 x R6) = 2 (10 x 40) = 800 µS
: “’ : 2 (R7 x R6 x R5) = 2 (10 x 100 x 250) = 200000 µS
…………….+
200820 µS = 200 mS [5]

E. Bilangan binner pada seven segment


Seven Segment adalah suatu segmen- segmen yang digunakan menampilkan
angka. Seven segment merupakan display visual yang umum digunakan dalam dunia
digital. Seven segment sering dijumpai pada jam digital, penujuk antrian, diplay angka
digital dan termometer digital. Penggunaan secara umum adalah untuk menampilkan
informasi secara visual mengenai data-data yang sedang diolah oleh suatu rangkaian
digital.
Seven segmen ini tersusun atas 7 batang LED yang disusun membentuk angka 8
yang penyusunnya menggunakan diberikan lebel dari ‘a’ sampai ‘g’ dan satu lagi untuk
dot point (DP). Setiap segmen ini terdiri dari 1 atau 2 Light Emitting Diode ( LED ).
salah satu terminal LED dihubungkan menjadi satu sebagai kaki common.

Gambar. Seven-segment Display [6] 

Jenis-jenis Seven Segment :


1. Common Anoda
Semua anoda dari LED dalam seven segmen disatukan secara parallel dan semua itu
dihubungkan ke VCC, dan kemudian LED dihubungkan melalui tahanan pembatas arus

10 

 
keluar dari penggerak LED. Karena dihubungkan ke VCC, maka COMMON ANODA ini
berada pada kondisi AKTIF LOW (led akan menyala/aktif bila diberi logika 0).
2. Common Katoda
Merupakan kebalikan dari Common Anoda. Disini semua katoda disatukan secara
parallel dan dihubungkan ke GROUND. Karena seluruh katoda dihubungkan ke
GROUND, maka COMMON KATODA ini berada pada kondisi AKTIF HIGH (led akan
menyala/aktif bila diberi logika 1). [6]

Gambar Angka pada seven-segment [7]

Penyusun dari COMMON


2. Decoder yaitu suatu alat yang berfungsi mengubah/ mengkoversi input bilangan biner
menjadi decimal.
3. Encoder yaitu suatu alat yang berfungsi mengubah/ mengkoversi input bilangan desimal
menjadi biner
4. Multiplexer adalah Suatu rangkaian kombinasi yang ouputnya mempunyai logika sama
dengan jalur input yang ditunjuk pada selector. Multiplexer ini memiliki banyak input
dan memiliki satu output. Prinsip kerjanya sama dengan saklar pemilih dai 2n buah
inputdipilih melalui n buah jalur pemilih ( DATA SELECT ).
5. Demultiplexer adalah suatu rangkain kombinasi yang bersifat berkebalikan dari
multiplexer. Rangkaian ini memiliki satu input dan memiliki banyak keluaran ( output ).
Rangkaian ini akan menghasilkan output high ( 1 ) pada jalur yang sesuai dengan yang
ditunjuk oleh selector.

• KODE, ENKODE, DEKODE, PERAGA SEVEN SEGMEN


Pada umumnya orang menggunakan kode desimal untuk menyatakan angka.
Rangkaian elektronika digital dalam kalkulator atau komputer kebanyakan menggunakan
kode biner untuk menyatakan angka.
6.1 Kode BCD 8421
Angka biner yang telah kita bicarakan di atas tidak banyak memberi arti. Agar
angka biner dapat diproses maka perlu dikodekan. Kode BCD-8421 (Binary Coded
Decimal) suatu kode dengan angka biner. Kode BCD mengkodekan setiap bilangan pada
bilangan desimal kedalam bilangan biner 4 bite, misal angka desimal 2347, kode BCD
bilangan tersebut adalah 0010 0011 0100 0111.

11 

 
6.2 Kode Ekses-3
Untuk menyatakan bulangan desimal ke kode ekses-3:
Bilangan desimal + 3 kemudian tiap bilangan diubah ke dalam biner 4 bite.
Contah bilangan desimal 2347: 2 + 3 = 5, 3 + 3 = 6, 4 +3 = 7, 7 +3 = 10, jadi kode ekses-
3 bilangan 2347: 0101 0100 0111 1010
6.3 kode GRAY
Kode Gray tidak memiliki keteraturan yang jelas, hanya ada satu keteraturan yang
konsisten yaitu satu digit berubah bila cacahan dari atas ke bawah.
Tabel Bilangan biner [1]

Bilangan Bilangan Bilangan Bilangan


Desimal Biner kode BCD 8421 kode Gray
0 0000 0000 0000
1 0001 0001 0001
2 0010 0010 0011
3 0011 0011 0010
4 0100 0100 0110
5 0101 0101 0111
6 0110 0110 0101
7 0111 0111 0100
8 1000 1000 1100
9 1001 1001 1101
10 1010 0001 0000 1111
11 1011 0001 0001 1110
12 1100 0001 0010 1010
13 1101 0001 0011 1011
14 1110 0001 0100 1001
15 1111 0001 0101 1000
16 10000 0001 0110 11000
17 10001 0001 0111 11001
 
6.4 Kode ASCII
Kode ASCII (American Standard Code for Information) banyak digunakan untuk
mengirim informasi ke dalam komputer mikro. Kode ASCII ini merupakan kode 7 bit
yang lebih rumit, yang digunakan dalam pengalihan informasi berkode dari papan ketik
ke tampilan komputer dan pencetak. Kode ASCII digunakan untuk menggantikan angka
huruf, tanda baca, maupun karakter kontrol. Contoh huruf “A” dalam kode ASCII adalah
100 0001 = A. Jika huruf A papan ketik ditekan maka kode 100 0001 dikirim ke CPU.

6.5 Pengkode
Pengkode merupakan alat yang berfungsi mengkodekan informasi (bahasa
manusia ke bahasa mesin elektronika digital. Contoh pengkode pada system gambar 6.1

12 

 
pengkode dalam sistem ini harus menerjemahkan masukan desimal dari papan ketik ke
suatu kode BCD 8421.

7 8 9
Dekoder
Unit
4 5 6 Peng proses
kode dan
1 2 3 memori
Dekoder
0

IC 74147 merupakan Pengkode BCD, yaitu pengkode prioritas 10 baris ke 4 baris

0011

1
D
2
3
C
4
IC 74147
5
B
6
7
A
8
9

Gambar Pengkode [8]

Tabel 2. Table kebenaran IC pengkode BCD

IC 74147 mempunyai input RENDAH aktif dan OUTPUT


output RENDAH aktif. Tabel kebenaran IC pengkode
BCD ini: INPUT
1 2 3 4 5 6 7 8 9 D C B A
H H H H H H H H H H H H H
X X X X X X X X L L H H L
X X X X X X X L H L H H H
X X X X X X L H H H L L L
X X X X X L H H H H L L H
X X X X L H H H H H L H L
X X X L H H H H H H L H H
X X L H H H H H H H H L L
X L H H H H H H H H H L H
L H H H H H H H H H H H L

Contoh input 3, berarti no 3 adalah LOW bersesuaian dengan output HHLL, karena
output RENDAH AKTIF maka keluaran sesungguhnya adalah LLHH

13 

 
6.6 Peraga LED 7 segmen
Peraga bilangan desimal yang umum berupa 7 segemen. Peraga ini tersesun atas 7
LED membentuk formasi angka 8, bagian kutub positif dijadikan satu dihubungkan
positif baterai, dan negatifnya diaktifkan sesuai output:

a a
b
b
f
c
d g
e c
f e
g
d

Gambar Peraga LED 7 segment [9]


Sebagai contoh sistem digital dengan input berupa angka desimal, dan ditampilkan dalam
bentuk peraga 7 segmen, diperlukan rangkaian: papan ketik, enkoder BCD IC 74147,
dekoder/pengendali 7 segmen IC 7447A dan LED 7 segment, seperti gambar berikut :

1
D D a a
7 8 9 2 a
b b b
3
C C c c f
4 5 6 4
IC 74147 IC 7447A d d
5 g
B B e e
1 2 3 6 c
f f e
7
0 A A g g
8
9 d

Gambar Peraga LED 7 segment [10]

6.7 Peraga 7 segmen LCD


LCD (Liquid Crystal Display) merupakan peraga/penampil yang bekerja
berdasarkan efek polarisasi cahaya pada kristal cair. Kristal cair jika diberi beda
potensial medan listriknya akan terpolarisasi.

Polarisator
Pola konduktif pada kaca

Kristal cair

Metal
Sinyal 100Hz

Gambar Peraga 7 segment LCD [11]

14 

 
Polarisasi medan listrik pada kristal cair dan polarisator memberikan kesan warna
gelap. LCD tebuat berlapis-lapis, meliputi polarisator, pola konduktif pada kaca, kristal
cair (fluida nematik), metal, dan pengemas. Pemberian medan listrik pada LCD tidak
boleh dilakukan dalam satu arah dalam waktu lama, karena hal ini akan menimbulkan
kerusakan. Oleh karena itu LCD dioperasikan polaritas betganti ganti, yaitu dengan
sinyal persegi.

Prinsip Kerja :
Prinsip kerja seven segmen ialah input biner pada switch dikonversikan masuk ke
dalam decoder, baru kemudian decoder mengkonversi bilangan biner tersebut menjadi
decimal, yang nantinya akan ditampilkan pada seven segment.
Seven segment dapat menampilkan angka-angka desimal dan beberapa karakter
tertentu melalui kombinasi aktif atau tidaknya LED penyusunan dalam seven segment.
Untuk memudahkan penggunaan seven segment, umumnya digunakan sebuah decoder(
mengubah/ mengkoversi input bilangan biner menjadi decimal) atau seven segment
driver yang akan mengatur aktif tidaknya led-led dalam seven segment sesuai dengan
nilai biner yang diberikan.
Dekoder BCD ke seven segment digunakan untuk menerima masukan BCD 4-bit
dan memberikan keluaran yang melewatkan arus melalui segmen untuk menampilkan
angka desimal. Jenis dekoder BCD ke seven segment ada dua macam yaitu dekoder yang
berfungsi untuk menyalakan seven segment mode common anoda dan dekoder yang
berfungsi untuk menyalakan seven segment mode common katoda. Contoh IC converter
BCD to Seven Segment untuk 7-segment Common Anoda pake decoder IC TTL 7447
untuk Common Katoda pake IC TTL 7448.
Salah satu contoh saja, IC 74LS47 merupakan dekoder BCD ke seven segment
yang berfungsi untuk menyalakan seven segmen mode common anode. Gambar dan
konfigurasi pin IC 74LS47 ditunjukkan pada gambar berikut :

Gambar Konfigurasi pin IC 74LS47 [12]


Dekoder BCD ke seven segment mempunyai masukan berupa bilangan BCD 4-bit
(masukan A, B, C dan D). Bilangan BCD ini dikodekan sehingga membentuk kode tujuh
segmen yang akan menyalakan ruas-ruas yang sesuai pada seven segment. Masukan BCD
diaktifkan oleh logika ‘1’, dan keluaran dari dekoder 7447 adalah aktif low. Tiga
masukan ekstra juga ditunjukkan pada konfigurasi pin IC 7447 yaitu masukan (lamp
test), masukan (blanking input/ripple blanking output), dan (ripple blanking input).

15 

 
Tabel kebenaran dari IC 74LS47 [3]

Pada konfigurasi pin IC 7447 yaitu masukan (lamp test), masukan (blanking
input/ripple blanking output), dan (ripple blanking input).
LT' , Lamp Test, berfungsi untuk mengeset display, bila diberi logika ‘0’ maka
semua keluaran dari IC ini akan berlogika 0. Sehingga seven segment akan menunjukkan
angka delapan (8). BI'/RBO' , Blanking Input/Row Blanking Output, berfungsi untuk
mematikan keluaran dari IC. Bila diberi logika “0” maka semua keluaran IC akan
berlogika “1” dan seven segment akan mati.
RBI' , Row Blanking Input, berfungsi untuk mematikan keluaran dari IC jika
semua input berlogika “0”. Bila diberi logika “0”, diberi logika “1” dan diberi logika “0”
maka semua keluaran IC akan berlogika “1” dan seven segment akan mati. (Haviz
Setiawan)

16 

 
Sedangkan untuk tabel kebenaran pada penampil 7 segment dengan 4 bit input
dapat dilihat pada gambar 3. Dengan 4 bit tersebut dapat digunakan kombinasi bilangan
biner untuk menentukan keluaran angka yang dihasilkan dari penampil 7 segment
tersebut.

Tabel kebenaran pada penampil 7 segment dengan 4 bit input [4]

Masing – masing bit keluaran a, b, c, d, e, f, dan g dapat dinyatakan sebagai berikut :

17 

 
Gambar Bit keluaran a, b, c, d, e, f, dan g [13]

Untuk aplikasinya atau contoh rangkaiannya dapat menggunakan IC 7447 dan


gambar rangkaiannya dapat dilihat pada gambar 4. IC 7447 merupakan komponen
elektronika yang dapat digunakan untuk menampilkan pada 7 segment. Dengan IC 7447
dapat merubah bilangan BCD ( Binary Coded Decimal ) ke 7 segment. Masih banyak IC
yang dapat digunakan sebagai decoder BCD ke 7 segment. [7]

Gambar decoder BCD ke 7 segment [14]

18 

 
- BCD ke 7-Segmen c /w latch Decoder 4-bit
Setelah 7-segmen LED display menjadi mudah tersedia IC sederhana yang dikenal
sebagai "BCD ke 7-segmen decoder" dengan cepat dikembangkan untuk mempermudah
penggunaannya. Biner diformat data yang disajikan kepada hasil ini IC masukan dalam
output IC yang ditempatkan ke negara yang benar untuk menampilkan angka setara (0
sampai 9) pada layar 7-Segmen.
Meskipun BCD ke 7-segmen IC decoder tersedia tanpa dibangun di kait, IC ini khusus
termasuk built in 4-bit latch yang kita akan menggunakan contoh di kemudian. Untuk
saat ini latch diatur untuk hanya memungkinkan data masukan untuk secara bebas
melewati ke decoder.

Dalam diagram di atas, 4 switch toggle, SW0 untuk SW3 digunakan untuk
memilih angka yang diinginkan (0-9) yang akan muncul pada layar 7-Segmen. Dengan
menggunakan decoder, sekarang hanya masalah pengaturan pola 4-bit BCD benar makan
input dari decoder, decoder dan mengurus sisanya. [8]

Bagian decoder juga memiliki dua input tambahan. Lamp Test (LT) ternyata semua
segmen sehingga Anda dapat memverifikasi sekaligus bahwa semua segmen tampilan bekerja,
atau mengidentifikasi unit display yang perlu diganti. Masukan ini biasanya ditinggalkan di
logika 1. Para Blanking (BL) input kebalikan dari itu; memaksa seluruh tampilan off. Ini
digunakan dalam banyak kasus mengosongkan keluar terkemuka atau trailing nol dari tampilan
lama. LT akan menimpa BL sehingga Anda dapat menguji bahkan blanked-out digit tampilan.
Satu juga harus mencatat bahwa sirkuit yang sama dibayangkan dapat dikendalikan oleh PLC,
jika 4 bit output dari kartu output PLC 5VDC digunakan di tempat 4 switch ditampilkan.

19 

 
Jika output kartu 8-bit yang tersedia, kemudian dua sirkuit tersebut (2 digit) dapat
dikendalikan. Kartu 16-bit pada gilirannya akan memungkinkan kita untuk mengontrol empat
sirkuit tersebut (4 digit).

Gambar Paralel Tampilan Non-multiplex Digit [15]

Angka (atas) di sebelah kiri diambil dari layar I / O LogixPro simulator, dan
menggambarkan metode umum interfacing ke layar 4 digit. Angka-angka di sebelah kanan
diambil dari lembar data dari unit pra-diproduksi 4 digit tampilan yang dapat segera digunakan
dalam aplikasi tertentu.
Unit diproduksi memang mengandung empat sirkuit yang terpisah, dan setiap sirkuit
(digit) memiliki decoder itu sendiri, tapi dibandingkan dengan sirkuit contoh kita sebelumnya,
unit ini menggunakan komponen tambahan dan sirkuit sehingga jauh lebih fleksibel dan mudah
digunakan.
Perhatikan bahwa ada 4 "Strobe" baris yang ditampilkan, satu untuk setiap digit. Garis-
garis ini strobo mengawasi dibangun di IC kait yang memberikan kita pilihan untuk multiplexing
angka, atau layar, jika kita ingin melakukannya. Dalam aplikasi non-multiplexing atas, lampunya
secara permanen diaktifkan memungkinkan data untuk hanya melewati dari input BCD dan
ditampilkan seperti biasa.
Juga mencatat bahwa unit khusus dirancang untuk digunakan 24VDC. Ini adalah jauh
yang paling umum tegangan DC tingkat digunakan dalam instalasi industri, dan PLC I / O kartu
dirancang untuk penggunaan tersebut oleh karena itu sangat umum. Dibandingkan dengan sirkuit
5VDC, sirkuit 24VDC biasanya dapat mentolerir kunjungan pasokan tegangan jauh lebih besar,
kurang sensitif terhadap efek dari resistansi kontak, dan lebih toleran terhadap lingkungan bising
elektrik. [9]

20 

 
ATMEL AVR ATMEGA8535

Sebelum belajar lebih dalam tentang aplikasi mikrokontroller, ada baiknya kita bicarakan
dulu tentang mikrokontroller yang kita gunakan. Pada pelatihan ini dipilih mikrokontroller jenis
ATMEL AVR RISC dengan pertimbangan sebagai berikut:
ATMEL AVR RISC memiliki fasilitas dan kefungsian yang lengkap dengan harga yang
relatif murah.
Kecepatan maksimum eksekusi instruksi mikrokontroller mencapai 16 MIPS (Million
Instruction per Second), yang berarti hanya dibutuhkan 1 clock untuk 1 eksekusi instruksi.

Konsumsi daya yang rendah jika dibandingkan dengan kecepatan eksekusi instruksi.
Ketersediaan kompiler C (CV AVR) yang memudahkan user memprogram menggunakan
bahasa C.

Tabel 1.1: perbandingan kecepatan processor dan efisiensi

Dari tabel diatas dapat dilihat, ketika bekerja dengan kecepatan clock yang sama AVR 7
kali lebih cepat dibandingkan denga PIC16C74, 15 kali lebih cepat daripada 68 HC11, dan 28
kali lebih cepat dibanding 8051. Dari kemampuan dan fasilitas yang dimiliki, AVR RISC cocok
dipilih sebagai mikrokontroller untuk membangun bermacam-macam aplikasi embedded sistem.
Oleh karena itu, dalam pelatihan ini juga dipilih salah satu jenis AVR RISC sebagai dasar
pelatihan yaitu ATMEGA 8535. Chip AVR ATMEGA8535 memiliki 40 pin kaki, berikut skema
kaki AT MEGA8535,

Gambar 1.3: skema mikrokontroller AVR RISC ATMEGA8535

21 

 
ATMEGA8535 memiliki 4 buah port input/output 8 bit, yaitu PORTA, PORTB,
PORTC, dan PORTD. Selain sebagai input/output masing masing port juga memiliki fungsi
yang lain. PORTA dapat difungsikan sebagai ADC (Analog to Digital Converter), PORTB
dapat difungsikan sebagai SPI (Serial Peripheral Interface) communication.

PEMROGRAMAN ATMEL AVR \

Ada 2 cara untuk memprogram mikrokontroller ini, menggunakan software AVR


assembler yang berbasis pada bahasa assembly, dan menggunakan software CV AVR (Code
Vision AVR) yang berbasis pada bahasa C. Pada pelatihan ini akan digunakan cara yang kedua
dengan pertimbangan kemudahan pembuatan program dari algoritma yang telah dibangun.
Pelatihan ini tidak menitikberatkan penggunaan bahasa C pada CV AVR, tapi lebih pada cara
dan aplikasi dari mikrokontroller. Untuk itu peserta diharapkan membaca sendiri petunjuk
pemakaian software ini. Berikut tampilan utama CVAVR,

Gambar 1.4: tampilan utama CV AVR

Untuk dapat menyimpan program yang telah kita buat pada memory mikrokontroller dibutuhkan
perangkat tambahan yang menghubungkan antara PC dan mikrokontroller. Perangkat interface
ini disebut isp_dongle yang menghubungkan port parallel PC dan port SPI (Serial Peripheral
Interface) mikrokontroller.

22 

 
Untuk memaksimalkan pemanfaatan fasilitas mikrokontroller MAX-TRON telah
mengembangkan board dan peripheral pendukung yang dapat digunakan untuk membangun
bermacam-macam aplikasi sistem digital. Salah satunya adalah Universal controller board
M.B.3.2, board yang dilengkapi dengan komponen-komponen tambahan pendukung kerja
mikrokontroller. Berikut data Universal board M.B.3.2,

MAX-TRON M.B.3.2
Universal Controller Board
Feature:

High-performance, low power


AVR ATMEGA8535 8 bit mikrocontroller
4 bidirection port
8 channel ADC
2 channel servo motor controller
2 channel max-tron H-bridge controller
Master/Slave SPI serial interface
Serial USART interface
Operating voltage 9 V – 35 V
PIN Description

Gambar 1.6: skema pin universal board M.B.3.2

23 

 
BAB 7
7.1 LINE TRACER

Gambar line tracer


Sensor Proximity
Sensor proximity bisa kita buat sendiri. Prinsip kerjanya sederhana, hanya memanfaatkan
sifat cahaya yang akan dipantulkan jika mengenai benda berwarna terang dan akan diserap jika
mengenai benda berwarna gelap. Sebagai sumber cahaya kita gunakan LED (Light Emiting
Diode) yang akan memancarkan cahaya merah. Dan untuk menangkap pantulan cahaya LED,
kita gunakan photodiode. Jika sensor berada diatas garis hitam maka photodioda akan menerima
sedikit sekali cahaya pantulan. Tetapi jika sensor berada diatas garis putih maka photodioda akan
menerima banyak cahaya pantulan. Berikut adalah ilustrasinya :

Gambar 1. Cahaya pantulan sedikit Gambar 2. Cahaya pantulan banyak

Gambar 2. Prinsip Kerja Sensor Proximity

24 

 
Tabel proses pembacaan sensor

Kalau cahaya yang dipancarkan ke bidang Kalau cahaya yang dipancarkan ke bidang
putih, sensor akan : hitam, sensor akan :
Baca Putih Baca Hitam
- Pantulan cahaya banyak - Pantulan cahaya sedikit
- Receiver menerima banyak cahaya - Receiver menerima sedikit cahaya
- Hambatan / resistansi receiver kecil - Hambatan / resistansi receiver besar

Sifat dari photodioda adalah jika semakin banyak cahaya yang diterima, maka nilai
resistansi diodanya semakin kecil. Dengan melakukan sedikit modifikasi, maka besaran
resistansi tersebut dapat diubah menjadi tegangan. Sehingga jika sensor berada diatas garis
hitam, maka tegangan keluaran sensor akan kecil, demikian pula sebaliknya. Berikut adalah
gambar rangkaian sensor proximity yang digunakan pada robot ini :

Agar dapat dibaca oleh mikrokontroler, maka tegangan sensor harus disesuaikan
denganlevel tegangan TTL yaitu 0 – 1 volt untuk logika 0 dan 3 – 5 volt untuk logika 1. Hal ini
bisa dilakukan dengan memasang operational amplifier yang difungsikan sebagai komparator.
Output dari photodiode yang masuk ke input inverting op-amp akan dibandingkan dengan
tegangan tertentu dari variable resistor VR. Tegangan dari VR inilah yang kita atur agar sensor
proximity dapat menyesuaikan dengan kondisi cahaya ruangan.

Sensor proximity terdiri dari 6 pasang LED dan photodiode yang disusun sedemikian
rupa sehingga jarak antara satu sensor dengan yang lainnya lebih kecil dari lebar garis hitam.
Perhatikan gambar berikut :

25 

 
Algoritma Pergerakan Robot
Sebelum membuat program, maka kita perlu mendefinisikan seluruh kemungkinan
pembacaan sensor proximity. Dengan demikian kita dapat menentukan pergerakan robot yang
tujuannya adalah menjaga agar robot selalu berada tepat diatas garis. Berikut adalah beberapa
kemungkinan pembacaan garis oleh sensor proximity :

Gambar 7. Kemungkinan Posisi Sensor Proximity Pada Line

Setelah mengetahui kemungkinan-kemungkinan posisi sensor, maka selanjutnya harus


didefinisikan aksi dari setiap kondisi tersebut. Perhatikan tabel berikut ini :

Tabel 1. Aksi Pergerakan Robot

26 

 
7.2 Motor DC 12 volt

Gambar Flying dc gearbox motor


Flying dc gearbox motor adalah motor dc yg dipadukan dengan gearbox secara satu
body dan memiliki kecepatan putar dengan tiga pilihan yaitu 410 rpm, 510 rpm dan 630 rpm
serta memiliki torsi 4,8 Kg, Flying dc gearbox motor ini berdiameter shaft 2,9 mm sehingga
cocok sekali digunakan untuk motor pengerak robot line tracer analog, robot sumo dan maze
solving.
Speed 630 rpm @ 12 volt DC
Dimensi :
- Diameter shaft = 3mm - Panjang Gaerbox = 14mm
- Panjang shaft = 8mm - Panjang total = 54mm
- Panjang motor = 28mm

Untuk menggerakkan dua buah motor dc, digunakan IC H-Bridge Motor Driver L298,
yang mampu memberikan arus maksimum sebesar 1A ke tiap motor. Input L298 ada 6 jalur,
terdiri dari input data arah pergerakan motor dan input untuk PWM (Pulse Width Modulation).
Untuk mengatur kecepatan motor, pada input PWM inilah akan diberikan lebar pulsa yang
bervariasi dari mikrokontroler.

Gambar 10. Rangkaian Driver Motor DC

27 

 
Untuk menentukan arah pergerakan motor maka pada input L298 harus diberikan kondisi
sesuai dengan tabel berikut :

Tabel 2. Tabel Kebenaran Driver Motor

7.3 baterai cx g3 lipo

Hyperion Generasi 3 Lithium Polymer Paket yang revolusioner baik dalam kinerja dan
nilai. Dibandingkan dengan rata-rata baterai pada tahun pasar terakhir, Hyperion G3
selmenyediakan hingga sampai siklus 4x lebih bawah kondisi debit yangsama. HyperionG3 Lipo
bisa dengan aman dibebankan sampai dengan tingkat 5C - untuk kali biayaserendah 10 sampai
12 menit. Paket G3 yang dibuat dengan teknologi konstruksi baruRS Hybrid, super-halus bahan
substrat, ketat ISO 9001 Quality Control, dan proses sel akhir yang cocok, yang semua jaminan
Anda tidak hanya kinerja yang luar biasa, tetapi juga erat seimbang dan tahan lama kemasan .

Gambar Baterai cx g3 lipo

28 

 
MOTOR
12 V

7805 RANGKAIAN
5V
12 V

Gambar rangkaian baterai cx g3 lipo

Port A
SENSOR

IC MICRO
ATMEGA 16
INTERFACE

Port D Port D
LCD DRIVER
2 X 16 MOTOR

TOMBOL
DRIVER
MOTOR

Gambar Diagram Instalasi

BAHASA PEMROGRAMAN C

Bahasa C++ merupakan salah satu bahasa pemrograman komputer. Bahasa


pemrograman ini dikembangkan di Bell Labs (Bjarne Stroustrup) 1970-an, dan merupakan
turunan dari bahasa sebelumnya, yaitu BCL. Pada mulanya, bahasa C++ dirancang sebagai
bahasa pemrograman yang dijalankan pada sistem Unix. Pada perkembangannya, versi ANSI
(American National Standart Institute) bahasa pemrograman C menjadi versi dominan,
Meskipun versi tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan
maupun untuk sistem embedded.
29 

 
Bjarne Stroustrup pada Bell labs pertama kali mengembangkan C++ pada awal 1980-an.
Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan system support untuk
pemrograman tingkat rendah (low level coding)

Pada C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya seperti
inheritance dan overloading. Salah satu perbedaan yang paling mendasar dengan bahasa C
adalah dukungan terhadap konsep pemrograman berorientasi objek (Object Oriented
Programming).

Perbedaan Antara Bahasa pemrograman C dan C++ meskipun bahasa-bahasa tersebut


menggunakan sintaks yang sama tetapi mereka memiliki perbedaan. C merupakan bahasa
pemrograman prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi
masalah tersebut kedalam su-submasalah yang lebih kecil. Selain itu, C++ merupakan bahasa
pemrograman yang memiliki sifat Pemrograman berorientasi objek, Untuk menyelesaikan
masalah, C++ melakukan langkah pertama dengan menjelaskan class-class yang merupakan anak
class yang dibuat sebelumnya sebagai abstraksi dari object-object fisik, Class tersebut berisi
keadaan object, anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class
dibuat kemudian masalah dipecahkan dengan Class.[10]

CodeVisionAVR Step-by-Step

Tentang CodeVisionAVR

CodeVisionAVR merupakan sebuah cross-compiler C, Integrated Development


Environtment (IDE), dan Automatic Program Generator yang didesain untuk mikrokontroler
buatan Atmel seri AVR. CodeVisionAVR dapat dijalankan pada system operasi Windows 95,
98, Me, NT4, 2000, dan XP.

Cross-compiler C mampu menerjemahkan hampir semua perintah dari bahasa ANSI C,


sejauh yang diijinkan oleh arsitektur dari AVR, dengan tambahan beberapa fitur untuk
mengambil kelebihan khusus dari arsitektur AVR dan kebutuhan pada sistem embedded. File
object COFF hasil kompilasi dapat digunakan untuk keperluan debugging pada tingkatan C,
dengan pengamatan variabel, menggunakan debugger Atmel AVR Studio.

IDE mempunyai fasilitas internal berupa software AVR Chip In-System Programmer yang
memungkinkan Anda untuk melakukan transfer program kedalam chip mikrokontroler setelah
sukses melakukan kompilasi/asembli secara otomatis. Software In-System Programmer didesain
untuk bekerja dengan Atmel STK500/AVRISP/AVRProg, Kanda Systems STK200+/300,
Dontronics DT006, Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan MicroTronics
ATCPU/Mega2000 programmers/development boards.

Untuk keperluan debugging sistem embedded yang menggunakan komunikasi serial, IDE
mempunyai fasilitas internal berupa sebuah Terminal.

30 

 
Selain library standar C, CodeVisionAVR juga mempunyai library tertentu untuk:
• Modul LCD alphanumeric
• Bus I2C dari Philips
• Sensor Suhu LM75 dari National Semiconductor
• Real-Time Clock: PCF8563, PCF8583 dari Philips, DS1302 dan DS1307 dari
Maxim/Dallas Semiconductor
• Protokol 1-Wire dari Maxim/Dallas Semiconductor
• Sensor Suhu DS1820, DS18S20, dan DS18B20 dari Maxim/Dallas Semiconductor
• Termometer/Termostat DS1621 dari Maxim/Dallas Semiconductor
• EEPROM DS2430 dan DS2433 dari Maxim/Dallas Semiconductor
• SPI
• Power Management
• Delay
• Konversi ke Kode Gray

CodeVisionAVR juga mempunyai Automatic Program Generator bernama CodeWizardAVR,


yang mengujinkan Anda untuk menulis, dalam hitungan menit, semua instruksi yang diperlukan
untuk membuat fungsi-fungsi berikut:

• Set-up akses memori eksternal


• Identifikasi sumber reset untuk chip
• Inisialisasi port input/output
• Inisialisasi interupsi eksternal
• Inisialisasi Timer/Counter
• Inisialisasi Watchdog-Timer
• Inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang digerakkan
oleh interupsi
• Inisialisasi Pembanding Analog
• Inisialisasi ADC
• Inisialisasi Antarmuka SPI
• Inisialisasi Antarmuka Two-Wire
• Inisialisasi Antarmuka CAN
• Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat DS1621 dan
Real-Time Clock PCF8563, PCF8583, DS1302, dan DS1307
• Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20
• Inisialisasi modul LCD
CodeVisionAVR merupakan hak cipta dari Pavel Haiduc, HP InfoTech s.r.l.
Instalasi CodeVisionAVR.

Anda dapat memperoleh file instalasi CodeVisionAVR dengan cara mendownload pada
situs pembuatnya yaitu HP InfoTech di http://www.hpinfotech.com. File yang dapat didownload
adalah tipe evaluation yang artinya mempunyai keterbatasan, salah satunya adalah ukuran

31 

 
program yang dapat dikompilasi terbatas. Contoh yang digunakan adalah CodeVisionAVR versi
1.24.7a. Klik ganda file setup.exe yang didapat dari proses download dari situs HP InfoTech.

Gambar 1. Ikon file setup.exe

Untuk pilihan bahasa pilih English, klik OK, seperti pada Gambar 2.

Gambar 2. Pilihan bahasa

Kemudian akan muncul kotak dialog seperti pada Gambar 3, klik tombol next.

Gambar 3. Klik tombol next

32 

 
Selanjutnya pada kotak dialog Licence Agreement, pilih I accept the agreement lalu klik
tombol next seperti pada Gambar 4.

Gambar 4. Menyetujui syarat-syarat yang diberikan


Berikutnya kotak dialog Select Destination Location seperti pada Gambar 5 menanyakan
tempat dimana software akan diletakkan. Gunakan tempat yang telah ditentukan lalu klik tombol
next.

Gambar 5. Menentukan lokasi tujuan

33 

 
Akan muncul kotak dialog yang menginformasikan bahwa tempat tersebut belum ada
sebelumnya. Klik tombol Yes untuk membuat tempat baru tersebut seperti yang ditunjukkan oleh
Gambar 6.

Gambar 6. Setuju untuk membuat tempat baru

Kemudian muncul kotak dialog seperti pada Gambar 7 untuk menanyakan nama program
shortcut pada menu Start dari Windows. Lanjutkan dengan menekan tombol next

Gambar 7. Nama folder pada Start Menu

34 

 
Program CodeVisionAVR telah siap untuk di-install. Tekan tombol Install seperti pada Gambar
8. Maka proses instalasi akan bekerja seperti ditunjukkan oleh Gambar 9. Setelah selesai akan
dimunculkan kotak dialog informasi seperti pada Gambar 10.

Gambar 8. Nama folder pada Start Menu

Gambar 9. Proses instalasi sedang berlangsung


35 

 
Gambar 10. Informasi tambahan

Klik tombol next pada Gambar 10 untuk mengakhiri proses instalasi. Setelah kotak dialog seperti
yang ditunjukkan oleh Gambar 11 muncul, Anda dapat menekan tombol Finish dengan pilihan
langsung menjalankan software CodeVisionAVR atau tidak

Gambar 11. Proses instalasi selesai


36 

 
Un-Install CodeVisionAVR.
Bila suatu saat Anda tidak membutuhkan aplikasi CodeVisionAVR, Anda dapat
membuang hasil instalasi dari komputer Anda. Pada menu Start dari Windows, klik shortcut
“Uninstall CodeVisionAVR C Compiler Evaluation” seperti pada Gambar 12.

Gambar 12. Shortcut untuk melakukan un-install

Maka kotak dialog seperti pada Gambar 13 akan muncul untuk menanyakan keseriusan
Anda. Klik tombol Yes untuk membuang aplikasi tersebut dari komputer Anda.

Gambar 13. Yakin akan membuang aplikasi dari computer

Berikutnya proses pembuangan aplikasi berlangsung seperti ditunjukkan oleh Gambar 14.
Lalu kotak dialog seperti Gambar 15 akan muncuk, klik OK untuk menutup proses pembuangan.

Gambar 14. Proses un-install sedang berlangsung

37 

 
Gambar 15. Proses selesai

Proses pembuangan tersebut biasanya tidak bersih, artinya masih ada file yang tertinggal.
Anda dapat melanjutkan dengan melakukan proses delete secara manual menggunakan aplikasi
windows explorer.

Membuat Project dengan CodeVisionAVR.


Pada penjelasan berikutnya, sebagai contoh digunakan modul AVR yang mempunyai
hubungan sebagai berikut:
• PortA terhubung dengan 8 buah LED dengan operasi aktif high
• PortB terhubung dengan 8 buah saklar dengan operasi aktif high
• PortC terhubung dengan LCD alphanumeric 16 kolom x 2 baris
Jalankan aplikasi CodeVisionAVR dengan cara melakukan klik ganda pada shortcut ikon
CodeVisionAVR yang terbentuk pada Desktop.

Gambar 16. Ikon CodeVisionAVR pada Desktop


Sebuah Splash Screen akan muncul seperti ditunjukkan oleh Gambar 17. Informasi tentang
versi yang dipakai dan keterangan evaluation akan terlihat Gambar

Gambar 17. Tampilan Splash Screen


38 

 
Beberapa detik kemudian IDE dari CodeVisionAVR akan muncul seperti yang ditunjukkan
oleh Gambar 18.

Gambar 18. IDE CodeVisionAVR


Untuk memulai membuat project baru, pada menubar, pilih File New, seperti yang
ditunjukkan oleh Gambar 19Untuk memulai membuat project baru, pada menubar, pilih File
New, seperti yang ditunjukkan oleh Gambar 19

Gambar 19. Membuat file baru


39 

 
Anda harus membuat sebuah project sebagai induk desain dengan memilih Project, lalu
klik tombol OK seperti pada Gambar 20.

Gambar 20. Membuat project baru

Berikutnya Anda akan ditanya apakah akan menggunakan CodeWizardAVR. Tentu saja lebih
menyenangkan bila Anda memilih jawaban “ya” dengan cara menekan tombol Yes seperti pada
Gambar 21.

Gambar 21. Memilih untuk menggunakan CodeWizardAVR

Tampilan CodeWizardAVR yang sederhana namun lengkap ditunjukkan oleh Gambar 22. Pilih
Chip dengan IC yang Anda gunakan. Sebagai contoh Anda memilih Chip ATmega8535. Tab-tab
pada CodeWizardAVR menunjukkan fasilitas yang dimiliki oleh chip yang Anda pilih.
Cocokkan pula frekuensi kristal yang Anda gunakan pada bagian Clock. Pengisian frekuensi
clock digunakan oleh software untuk menghitung rutin-rutin seperti delay agar diperoleh
perhitungan yang cukup akurat.

40 

 
Gambar 22. CodeWizardAVR pada tab Chip
Berikutnya Anda akan menginisialisasi Port A yang terhubung dengan LED. LED merupakan
modul output. Pada tab Port bagian Port A, ubah bagian Data Direction menjadi OUT dengan
nilai output sama dengan 0 seperti pada Gambar 23. Artinya Port Adigunakan sebagai port
output dengan nilai awal nol setelah kondisi reset. Kemudian lakukan inisialisasi Port B seperti
pada Gambar 24. Port B tersambung dengan saklar sebagai modul input. Pada sub-tab Port B,
yakinkan Data Direction pada posisi IN dengan resistor pullup internal yang disingkat dengan
huruf P. Dengan mengaktifkan resistor pull-up internal, Anda tidak perlu menambahkan resistor
pull-up pada saklar.

Gambar 23. Seting Port A sebagai pin output

41 

 
Gambar 24 Gambar 25

Gambar 24. Seting Port B sebagai pin input dengan pull-up resistor
Gambar 25. Seting LCD pada Port C

LCD alphanumeric yang dihubungkan dengan Port C haruslah mempunyai pengkawatan


seperti yang ditunjukkan oleh Gambar 25. Pada tab LCD, pilihlah Port C.
Karena pada contoh ini tidak digunakan fasilitas lain maka seting CodeWizardAVR siap
disimpan dalam file. Pada menu CodeWizardAVR, pilih File Generate, Save and Exit,
seperti yang ditunjukkan oleh Gambar 26.

42 

 
Gambar 26. Menyimpan seting

Agar file yang dihasilkan tidak berantakan, buatlah sebuah folder baru, misalnya folder
bernama “my project”, seperti yang ditunjukkan oleh Gambar 27.

Gambar 26. Membuat folder baru

43 

 
Kemudian masuk kedalam folder tersebut untuk menyimpan file-file yang dihasilkan oleh
CodeWizardAVR. Yang pertama Anda diminta untuk memberikan nama file C yang dihasilkan.
Misalnya beri nama “coba”, lalu klik tombol Save. Lebih jelas pada Gambar 27.File tersebut
nantinya akan mempunyai akhiran .C.

Gambar 27. Menyimpan file pertama

Yang kedua Anda diminta untuk memberikan nama file project yang dihasilkan. Misalnya
beri nama “coba”, lalu klik tombol Save. Lebih jelas pada Gambar 28. File tersebut
nantinya akan mempunyai akhiran .prj.

Gambar 28. Menyimpan file kedua


44 

 
Yang terakhir Anda diminta untuk memberikan nama file project CodeWizard yang
dihasilkan. Misalnya beri nama “coba”, lalu klik tombol Save. Lebih jelas pada Gambar 29.
File tersebut nantinya akan mempunyai akhiran .cwp.

Gambar 29. Menyimpan file ketiga

Setelah ketiga file disimpan maka pada Project Navigator akan muncul nama project beserta file
C-nya. Secara bersamaan isi file C akan dibuka pada jendela editor seperti ditunjukkan oleh
Gambar 30.

Gambar 30. Project baru telah siap dalam hitungan detik

Sekarang Anda coba untuk menyisipkan instruksi utama. Instruksi ini ditambahkan pada
badan program file coba.c seperti yang ditunjukkan oleh Gambar 31.
45 

 
Gambar 31. Menambahkan inti program

Program tambahan tersebut bertujuan untuk menampilkan kata-kata pada LCD kemudian
menampilkan nilai pada saklar pada LED yang terpasang. Jika nanti saklar diaktifkan maka LED
yang bersesuaian akan aktif pula. Kemudian pilih menu Project Compile untuk melakukan
kompilasi seperti yang ditunjukkan oleh Gambar 32. Lalu kotak dialog seperti ditunjukkan
Gambar 33 akan muncul. Klik tombol OK.

Gambar 32. Melakukan kompilasi


46 

 
Gambar 33. Informasi hasil kompilasi
Program yang Anda buat siap untuk ditransfer kedalam mikrokontroler. Sebelumnya Anda harus
melakukan seting pada programmernya. Pada menu pilih Setting Programmer, seperti pada
Gambar 34.

Gambar 34. Melakukan seting pada programmer

47 

 
Pilihlah programmer sesuai dengan yang Anda gunakan. Pada Gambar 35 ditunjukkan
menggunakan programmer Kanda Systems STK200+/300 sebagai contoh. Programmer ini
menggunakan kabel paralel yang terhubung dengan port paralel pada komputer Anda.

Gambar 35. Menggunakan programmer STK200+/300

Kemudian pilih menu Project Configure, seperti yang ditunjukkan oleh Gambar 36.
Kotak dialog pada Gambar 37 akan muncul, pada tab After Make, pilih “Program the
Chip”. Lalu klik tombol OK.

Gambar 36. Melakukan konfigurasi project

48 

 
Gambar 37. Memilih opsi “Program the Chip” After Make

Setelah melakukan seting, lakukan make project dengan memilih menu Project Make, seperti
ditunjukkan oleh Gambar 38. Apabila tidak ada kesalahan maka kotak dialog informasi seperti
pada Gambar 39 akan muncul. Klik tombol Program untuk mentransfer program kedalam
mikrokontroler.

Gambar 38. Melakukan make project


49 

 
Gambar 39. Kotak dialog informasi hasil make

Apabila muncul kotak dialog seperti pada Gambar 40 menandakan telah terjadi suatu hal
yang menyebabkan proses transfer gagal. Penyebabnya adalah: suplai tegangan
mikrokontroler dan programmer belum dinyalakan, tipe programmer tidak sama dengan
yang digunakan, alamat port paralel tidak cocok, atau mikrokontrolernya rusak.

Gambar 40. Gagal melakukan transfer program

50 

 
Bila kerusakan seperti yang ditampilkan oleh Gambar 40 telah diperbaiki atau bila tidak ada
kerusakan maka proses transfer atau yang umum disebut dengan proses download akan
berlangsung seperti yang ditunjukkan oleh Gambar 41.

Gambar 41. Proses transfer ke mikrokontroler

Coba Anda perhatikan yang terjadi dengan modul yang terpasang, apakah pada LCD muncul
tulisan seperti yang telah Anda program dan bila saklar diubah posisinya maka LED yang
bersesuaian akan menyala. Bila Anda ingin menambahkan instruksi lain maka Anda dapat
melakukan penyuntingan program pada file .C-nya. Kemudian lakukan kompilasi dan make
project berikutnya proses download.

LINE TRACER 2

Pengertian line tracer:


Sebuah line-following robot atau disebut juga line follower sangat sering dijumpai dan dibuat
oleh para penghobi robot. Banyak sekali kompetisi robotik yang berupa lomba line following.
Line atau jalur yang di ikuti biasanya merupakan jalur gelap diatas permukaan terang atau
sebaliknya. Robot mendeteksi garis dengan cara mengukur intensitas cahaya yang di pantulkan
dari permukaan yang dilaluinya. Intensitas cahaya yang di pantulkan permukaan gelap lebih
sedikit dari pada yang dipantulkan oleh permukaan yang terang.

PERGERAKAN DT-ROBOT LINE FOLLOWER

Gerakan Keterangan
Lurus Motor kiri dan motor kanan berputar maju dengan kecepatan
yang sama
Belok Kiri Motor kiri dan motor kanan berputar maju dengan kecepatan
motor kanan lebih besar daripada kecepatan motor kiri

51 

 
Belok Kanan Motor kiri dan motor kanan berputar maju dengan kecepatan
motor kiri lebih besar daripada kecepatan motor kanan
Tikung Kiri Motor kiri berhenti dan motor kanan berputar maju dengan
kecepatan tertentu
Tikung Kanan Motor kanan berhenti dan motor kiri berputar maju dengan
kecepatan tertentu
Putar Kiri Motor kiri berputar mundur dan motor kanan berputar maju
Putar Kanan Motor kiri berputar maju dan motor kanan berputar mundur
Mundur Motor kiri dan motor kanan berputar mundur
Stop Motor kiri dan motor kanan berhenti

DT-SENSE LINE-TRACKING SFH 4 SENSOR

Gambar. Tata Letak DT-SENSE LINE TRACKING SFH 4 SENSOR


ProsedurPengujian :
1. Hubungkan sumbercatu daya 5 VDC dan ground-nya masing-masing pada pin 2 dan pin 1
konektor J4 DTSENSE LINE-TRACKING SFH 4 SENSOR.
2. Hubungkan tegangan 5 VDC ke pin 4 konektor J4 untuk mengaktifkan/menyalakan LED.
3. Bila tidak ada masalah pada modul, maka seluruh LED (4 buah) akan menyala.
4. Letakkan modul sensor di atas kertas/jalur berwarna putih dan ukur tegangan output masing-
masing sensor (pada pin 5 - 8 konektor J4).
5. Atur variabel resistor kalibrasi untuk sensor ke-1 sehingga tegangan output sensor ke-1
bernilai sekitar 0,1 - 0,2 VDC.

52 

 
6. Atur variabel resistor kalibrasi untuk sensor-sensor yang lain sehingga tegangan output
masing-masing sensor juga bernilai sekitar 0,1 - 0,2 VDC.
7. Letakkan modul sensor di atas kertas/jalur berwarna hitam dan ukur tegangan output masing-
masing sensor (pada pin 5 - 8 konektor J4).
8. Nilai tegangan output masing-masing sensor akan berubah menjadi lebih tinggi (sekitar 3,2 -
3,4 VDC).

ALGORITMA LINE FOLLOWING


Bila sensor garis yang terpasang pada DT-ROBOT memiliki 4 buah sensor,Maka semua
gerakan robot juga ditentukan oleh hasil pembacaan keempat Sensor tersebut. Misalkan bila
sensor berada tepat di atas jalur maka hasil pembacaannya bernilai 1 dan bila sensor tidak
mendeteksi jalur maka hasil pembacaannya bernilai 0. Contoh keputusan yang dapat diambil
berdasarkan Hasil pembacaan sensor dapat dilihat pada table berikutini.

Hasil Sensor Contoh Keputusan Yang Dapat Diambil


0110 Jalur tepat di tengah. Robot bergerak lurus.
0010 Jalur agak menyimpang ke kanan. Robot belok kanan.
0011 Jalur menyimpang ke kanan. Robot tikung kanan.
0001 Jalur ada di ujung ke kanan. Robot putar kanan.
0111 Kemungkinan ada tikungan ke kanan. Robot putar kanan.
0100 Jalur agak menyimpang ke kiri. Robot belok kiri.
1100 Jalur menyimpang ke kiri. Robot tikung kiri.
1000 Jalur ada di ujung ke kiri. Robot putar kiri.
1110 Kemungkinan ada tikungan ke kiri. Robot putar kiri.
1111 Kemungkinan ada perempatan. Robot bergerak lurus.
0000 Robot keluar jalur. Jalankan algoritma untuk kembali ke jalur

TATA LETAK KOMPONEN DT-ROBOT LINE FOLLOWER


gambar 1.gambar layout line tracer dari sisi atas

53 

 
B. PenjelasanBagian-Bagian DT Robot Line

gambar 3.Baut tempat baterai harus di lepas gambar4.Baut untukbracket(dibawah tempat


terlebih dahulu saat mengganti bracket baterai), dilepas saat mengganti bracket
(untuk memasang jenis motor berbeda) (untuk memasang jenis motor berbeda)

gambar6. Baut untuk LCD, dilepas lebih gambar5. Baut untuk lampu digunakan
dulu saat memasang motor berjenis metal gear. dulu saat mengganti spacer.

54 

 
Pertama, dengan mengatur parameter-parameter yang tersedia melalui software GUI
yang disediakan .Algoritma tersebu tsudah terprogram di robot. Di dalam DVD yang disertakan
,algoritma default tersebut disimpan dengan nama file ”default.hex” untukprogramdan
”default.eep” untuk parameter awal.

Padasaat DT-ROBOT LINE FOLLOWER pertama kali dinyalakan, pada LCD akan
tampil Menu Tracking yang ditandai dengan tulisan "READY" pada baris bawah dan kombinasi
digital hasil pembacaan sensor pada baris atas.

XXXX
READY!
Jika Tombol TS1 ditekan, makaDT-ROBOT LINE FOLLOWER akan mulai melakukan
line following dan pada LCD akan tampil tulisan seperti berikut ini.
TRACKING
START!
Untuk menghentikan line following,dapat dilakukan dengan menekanTombo lTS2
sehingga DT-ROBOT LINE FOLLOWER kembalike Menu Tracking.
Pada saat DT-ROBOT LINE FOLLOWER berada pada Menu Tracking, dan Tombol
TS2 ditekanselama 2 detik, maka DT-ROBOT LINE FOLLOWER akan Berpindah ke menu
selanjutnya yaitu Menu Raw Data.
SSS SSS
SSS SSS
Pada posisi Menu Raw Data ini pada LCD akan tampil nilai hasil pembacaan sensor
sehingga pengguna dapat melakukan pengaturan pada variable resistor masing-masing sensor
serta mencatat nilai sensor jika berada di atas jalur dan nilai sensor jika berada di atas permukaan
selain jalur. Untuk berpindah dari Menu Raw Data ke menu selanjutnya dapat dilakukan dengan
menekan Tombol TS2 selama 2 detik. Menu selanjutnya adalah Menu Threshold yang ditandai
dengan tampilan LCD yang menyerupai gambar berikut ini.
XXXX
Th = YYY
Threshold atau Batas merupakan sebuah nilai yang digunakan untuk mengkategorikan
apakah sensor berada di atas jalur atau tidak.Untuk mode Black Track yaitu jalur gelap di atas
permukaan terang, jika nilai hasil pembacaan sensor lebih besar dari pada nilai Batas maka akan
dikategorikan sebagai jalur (data digital bernilai 1). Sedangkan untuk mode White Track yaitu
jalur terang di atas permukaan gelap, jika nilai hasil pembacaan sensor lebih kecil atau sama
55 

 
dengan nilai Batas maka akan dikategorikan sebagai jalur (data digital bernilai 1).Untuk
menaikkan nilai Batas dapatdilakukan dengan menekan Tombol TS1 sedangkan untuk
menurunkan nilai Batas dapat dilakukan dengan menekan Tombol TS1 dan Tombol TS2 secara
bersamaan.
Nilai Batas akan disimpan pada EEPROM DT-ROBOT LINE FOLLOWER jika
pengguna berpindah ke menu selanjutnya dengan menekan Tombol TS2 selama 2 detik. Menu
selanjutnya adalah Menu Track Mode yang ditandai dengan tampilan LCD yang menyerupai
gambar berikut ini.
Black
Track
Pada posisi Menu Track Mode, pengguna dapat menentukan apakah jalur yang akan
dilalui oleh DT-ROBOT LINE FOLLOWER termasuk kategori Black Track yaitu jalur gelap di
atas permukaan terang atau White Track yaitu jalur terang di atas permukaan gelap.Untuk
merubah track mode dapat dilakukan dengan menekan Tombol TS1. Track mode akan disimpan
pada EEPROM DT-ROBOT LINE FOLLOWER jika pengguna berpindah ke menu selanjutnya
dengan menekan Tombol TS2 selama 2 detik.
DT-ROBOT LINE FOLLOWER GUI
Untuk memudahkan bereksperimen dengan mengatur parameter-parameter algoritma line
following yang disertakan, maka pada paket DT-ROBOT LINEFOLLOWER juga tersedia
software GUI yaitu “DT-ROBOT-LINE-FOLLOWER-GUI”. Untuk mengatur parameter-
parameter telah tersimpan pada DT-ROBOTLINE FOLLOWER, hubungkan DT-ROBOT LINE
FOLLOWER dengan PC melalui jalur komunikasi UART menggunakan kabel serial yang
disertakan (parameter komunikasi UART dapat dilihat pada bagian COM Setting).Berikut
tampilan dari GUI beserta penjelasan tentang bagian-bagiannya.

gambar8.contoh pemprogaman pada line tracer


56 

 
Keterangan :
A = COM Setting H = Sensor
B = Connection Status I = Left Motor Action
C = Test Connection J = Left Motor Speed
D = Track Mode K = Right Motor Action
E = Raw Data L = Right Motor Speed
F = Track Threshold M = Send Setting to DT-ROBOT
G = Digital Data N = DT-ROBOT LINE FOLLOWER Model

PROSEDUR PENGUJIAN :
1. Hubungkan catu daya ke terminal biru J7 (dari baterai ataupun dari sumber lain).
2. Nyalakan DT-ROBOT LINE FOLLOWER menggunakan saklar ON/OFF yang tersedia.
3. Pada LCD akan tampil Menu Tracking yang ditandai dengan tulisan"READY" pada baris
bawah dan kombinasi digital hasil pembacaan sensor pada baris atas.
4. Tekan Tombol TS1 sehingga DT-ROBOT LINE FOLLOWER akan mulai melakukan line-
following (motor kanan dan/atau kiri akan berputar).
5. Tekan Tombol TS2 untuk kembali ke Menu Tracking.
6. Tekan Tombol TS2 selama 2 detik.
7. DT-ROBOT LINE FOLLOWER akan masuk keposisi Menu Raw Data dan pada LCD akan
tampil nilai hasil pembacaan sensor.
8. Letakkan sensor di atas permukaan terang atau permukaan gelap. Nilai sensor akan berubah
sesuai dengan tingkat kecerahan permukaan.
9. Hubungkan DT-ROBOT LINE FOLLOWER dan PC menggunakan kabel serial yang
disediakan.
10. Jalankan software DT-ROBOT-LINE-FOLLOWER-GUI.
11. Atur konfigurasi Serial Port yang digunakan melalui tombol COM Setting.
12. Tekan tombol Test Connection.

57 

 
13. Jika koneksi berhasil, maka akan tampil "Connected to DT-ROBOT" pada bagian
Connection Status.

gambar9.Line Tracer Robot

ƒ Line Tracer Robot juga ada yang menyebutnya dengan Line Tracker, Line Following
Robot dan sebagainya.
ƒ Sedangkan LightFollower adalah robot yang pergerakannya mengikuti cahaya.

Blok Diagram Rangkaian Robot Line tracer


gambar10.WRC Line Tracer

Cara kerjasecaraumum:
ƒ Robot Line tracer ini bekerjadengan sensor -sensor yang terdiri dari LED atau photo
dioda yang tersambung di rangkaian PCB tertentu yang disambungkan ke motor DC ke 2
roda utama.

58 

 
KOMPARATOR

komparator adalah membandingkan dua masukan, yaitu sinyal atau tegangan dari sensor
dengan tegangan referensi. Hasil yang dicapai adalah output dari sumber (Vcc atau ground) op-
amp sesuai tegangan input mana yang lebih besar.

Gambar11.Rangkain Sensor dan comparator


DRIVER MOTOR DC
Driver motor yang dimaksud adalah suatu rangkaian elektronik yang memiliki tujuan
untuk mengendalikan arah putar dari motor DC. Jika pada keadaan pertama motor berputar
searah jarum jam maka pada keadaan ke dua motor berputar berlawanan jarum jam. Prinsip ini
yang diperlukan robot untuk maju, belok, dan mundur

Gambar12.rangkaian motor DC Gambar13.rangkain motor DC

59 

 
PRINSIP GERAK MOTOR DC

Robot line tracer dapat berjalan mengikuti perbedaan warna gelap/terang pada alasnya.
Prinsip geraknya terdapat pada perubahan arah putar dari motornya, pada robot ini roda kanan
dan kiri dikendalikan dengan driver motor secara terpisah. Untuk lebih jelasnya dapat dilihat
pada gambar dibawah ini.

Gambar 14 prinsipkerja line tracer Gambar 15.prinsip kerja line tracer [12]

60 

Anda mungkin juga menyukai