bab 2 dasar teori - Universitas Sumatera Utara

advertisement
BAB 2
DASAR TEORI
2.1 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 5V dan ground.
Perhatikan gambar dibawah ini :
Gambar 2.1 Sensor jarak ultrasonik ping
Sensor PING mendeteksi jarak objek dengan cara memancarkan gelombang
ultrasonik ( 40 KHz ) selama t = 200 µs kemudian mendeteksi pantulannya.
Sensor PING memancarkan gelombang ultrasonik sesuai dengan kontrol dari
mikrokontroller pengendali ( pulsa trigger dengan tout min 2 µs ).
Spesifikasi sensor ini :
a. Kisaran pengukuran 3cm-3m.
b. Input trigger –positive TTL pulse, 2 µs min., 5 µs tipikal.
c. Echo hold off 750 µs dari fall of trigger pulse.
Universitas Sumatera Utara
d. Delay before next measurement 200 µs.
e. Burst indicator LED menampilkan aktifitas sensor.
Gambar 2.2 Diagram Waktu Sensor Ping
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).
Gelombang ultrasonik ini melalui udara dengan kecepatan 344 m/det, mengenai
obyek dan memantul kembali ke sensor. Ping mengeluarkan pulsa output high
pada pin SIG setelah memancarkan gelombang ultrasonik dan setelah gelombang
pantulan terdeteksi Ping akan membuat output low pada pin SIG. Lebar pulsa
Universitas Sumatera Utara
High (tIN) akan sesuai dengan lama waktu tempuh gelombang ultrasonik untuk
2x jarak ukur dengan obyek. Maka jarak yang diukur adalah
S = (tIN x V ) ÷ 2
Dimana :
S = Jarak antara sensor ultrasonik dengan objek yang dideteksi
V = Cepat rambat gelombang ultrasonik di udara (344 m/s)
tIN = Selisih waktu pemancaran dan penerimaan pantulan gelombang.
Gambar 2.3 Jarak Ukur Sensor Ping
Sistem minimal mikrokontroller ATMega 8535 dan software basic stamp
Editor diperlukan untuk memprogram mikrokontroller dan mencoba sensor ini.
Keluaran dari pin SIG ini yang dihubungkan ke salah satu port di kit
mikrokontroller. Contoh aplikasi sensor PING pada mikrokontroler 8535 dan
memberikan catu daya 5V dan ground. fungsi Sigout untuk mentrigger ping,
sedangkan fungsi Sig in digunakan untuk mengukur pulsa yang sesuai dengan
jarak dari objek target.
Universitas Sumatera Utara
2.1.1. Prinsip Kerja Sensor Ultrasonik
Seperti telah disebutkan bahwa sensor ultrasonik terdiri dari rangkaian
pemancar ultrasonik yang disebut transmitter dan rangkaian penerima ultrasonik
yang disebut receiver. Sinyal ultrasonik yang dibangkitkan akan dipancarkan dari
transmitter ultrasonik.
Ketika sinyal mengenai benda penghalang, maka sinyal ini dipantulkan,
dan diterima oleh receiver ultrasonik. Sinyal yang diterima oleh rangkaian
receiver dikirimkan ke rangkaian mikrokontroler untuk selanjutnya diolah untuk
menghitung jarak terhadap benda di depannya (bidang pantul).
Gambar 2.4. Ilustrasi Cara Kerja Sensor
Prinsip kerja dari sensor ultrasonik adalah sebagai berikut:
1. Sinyal dipancarkan oleh pemancar ultrasonik. Sinyal tersebut berfrekuensi
diatas 20 KHz, biasanya yang digunakan untuk mengukur jarak benda adalah
40KHz. Sinyal tersebut di bangkitkan oleh rangkaian pemancar ultrasonik.
2. Sinyal yang dipancarkan tersebut kemudian akan merambat sebagai sinyal /
gelombang bunyi dengan kecepatan bunyi yang berkisar 340 m/s. Sinyal tersebut
kemudian akan dipantulkan dan akan diterima kembali oleh bagian penerima
Ultrasonik.
Universitas Sumatera Utara
3. Setelah sinyal tersebut sampai di penerima ultrasonik, kemudian sinyal tersebut
akan diproses untuk menghitung jaraknya. Jarak dihitung berdasarkan rumus : S =
340.t/2 dimana S adalah jarak antara sensor ultrasonik dengan bidang pantul, dan t
adalah selisih waktu antara pemancaran gelombang ultrasonik sampai diterima
kembali oleh bagian penerima ultrasonik.
2.1.2. Pengaktifan Sensor Ultrasonik
Gambar 2.5 Skematik Hubungan Pin
Untuk pengaktifan sensor ultrasonik, hubungkan Pin Vss ke Ground,
kemudian pin Vdd ke catu daya yang keluarannya sudah diset 5V, setelah baterai
dihubungkan dengan IC Regulator 7805, selanjutnya Pin SIG dihubungkan ke pin
pada Mikrokontroller, sebagai pengendali sistem mikrokontroler diprogram untuk
membuat sensor pada PORT D yaitu pin D.0 dan pin D.1.
2.1.3. Pemancar (Transmitter) Pada Sensor Ultrasonik
.
Pemancar
Ultrasonik
(Transmitter)
ini
berupa
rangkaian
yang
memancarkan sinyal sinusoidal berfrekuensi di atas 20 KHz menggunakan sebuah
transducer transmitter ultrasonic.
Universitas Sumatera Utara
Prinsip kerja dari rangkaian pemancar gelombang ultrasonik tersebut
adalah sebagai berikut :
1.Sinyal 40 kHz dibangkitkan melalui mikrokontroler.
2. Sinyal tersebut dilewatkan pada sebuah resistor sebesar 3 KΩ untuk pengaman
ketika sinyal tersebut membias maju rangkaian dioda dan transistor.
3. Kemudian sinyal tersebut dimasukkan ke rangkaian penguat arus yang
merupakan kombinasi dari 2 buah dioda dan 2 buah transistor.
4. Ketika sinyal dari masukan berlogika tinggi (+5V) maka arus akan melewati
dioda D1 (D1 on), kemudian arus tersebut akan membias transistor T1, sehingga
arus yang akan mengalir pada kolektor T1 akan besar sesuai dari penguatan dari
transistor.
5. Ketika sinyal dari masukan berlogika tinggi (0V) maka arus akan melewati
dioda D2 (D2 on), kemudian arus tersebut akan membias transistor T2, sehingga
arus yang akan mengalir pada kolektotr T2 akan besar sesuai dari penguatan dari
transistor.
6. Resistor R4 dan R6 berfungsi untuk membagi tengangan menjadi 2,5 V.
Sehingga pemancar ultrasonik akan menerima tegangan bolak – balik dengan
Vpeak-peak adalah 5V (+2,5 V s.d -2,5 V).
Universitas Sumatera Utara
10
VCC
10 K
9
25
PC.4
Reset
26
PC.5
27
PC.6
2
37 PA.2
ATMEGA
8535
22
PC.0
23
PC.2
38 PA.3
3
28
PC.7
24
PC.3
PB.0
1
12
13
GND
4 MHz
11
VR1
10K
R1
4,7K
4
8
Reset
D1
IN4148
VCC
7
BATTERY
5V
Discharge
R2
10K
Threshold
IC
555
GND
1
T1
SL100
Ouput
R3
1K
6
Trigger 2
C1
680F
3
R4
220Ω
T2
SK100
D2
IN4148
Control
5
R5
220Ω
ULTRASONIC
TRANSMITER
TRANSDUCER
C2
0,01µ
Gambar 2.6. Rangkaian Pemancar Sensor Ultrasonik
Rangkaian pemancar ultrasonik di atas adalah merupakan rangkaian
pembangkit sinyal suara frekuensi tinggi dengan memanfaatkan multivibrator
astable IC 555. Jadi sebenarnya untuk rangkaian pemancar ini kita bebas
menggunakan rangkaian apa saja yang penting bisa membangkitkan frekuensi
cukup tinggi. Kita bisa menggunakan rangkaian oscillator transistor, oscillator
gerbang logika atau jenis oscillator lainnya, karena memang yang penting bisa
menghasilkan sinyal yang berfrekuensi tinggi.
Untuh contoh rangkaian pemancar ultrasonik kali ini menggunakan IC 555
yang merupakan IC serbaguna dan mudah diaplikasikan dengan fungsi yang
bervariatif. Bahkan dengan IC555 ini anda juga bisa membuat rangkaian FM
Universitas Sumatera Utara
modulator dengan modulasi yang bisa dikatakan hampir sempurna, hanya saja
memang IC555 ini tidak mampu berkerja dengan baik pada frekuensi yang sangat
tinggi hingga MHz. Tapi untuk sinyal suara ultrasonic yang range frekuensinya
hanya berkisar ribuan Hz, maka IC ini sangat bisa untuk diandalkan. Perhitungan
frekuensinya juga sangat mudah dan akurat, sehingga anda bisa dengan mudah
menentukan frekuensi dari pancaran suara ultrasonic yang anda perlukan. Untuk
mengetahui rumus perhitungan frekuensi yang dihasilkan anda bisa membaca
postingan saya tentang multivibrator astable di blog ini.
Prinsip kerja rangkaian pemancar ultrasonik diatas tidak ada bedanya dengan
rangkaian astable 555, dimana nilai frekuensi yang dihasilkan ditentukan oleh
nilai VR1, R1, R2 dan C1. Hanya saja dianggap sebagai pemancar gelombang
ultrasonic dikarenakan sinyal frekuensi tinggi yang dihasilkan oleh rangkaian
diubah kedalam bentuk gelombang suara dengan bantuan loudspeaker dan juga
penambahan dua buah transistor pada jalur output hanya dimaksudkan sebagai
driver loudspkear agar output IC555 tidak terbebani oleh impedansi loudspeaker
yang sangat rendah. Sebagai catatan bahwa gelombang suara yang mempunyai
range frekuensi diatas 20 KHz disebut dengan gelombang ultrasonik.
Sedangkan jika sinyal frekuensi tinggi tersebut anda hubungkan dengan
batangan logam maka hantaran gelombang yang dihasilkan disebut dengan
gelombang radio. Pemancar penerima gelombang ultrasonik ini biasanya
dimanfaatkan untuk mengukur jarak suatu benda dengan melakukan perhitungan
waktu dari pantulan gelombang ultrasonik tersebut. Ada juga yang memanfaatkan
gelombang ultrasonik ini untuk mengusir binatang-binatang pengganggu yang
tidak diinginkan seperti nyamuk, tikus, serangga dan jenis binatang lainnya. Hal
Universitas Sumatera Utara
ini karena kebanyakan pendengaran binatang bisa mencapai frekuensi puluhan
ribu hertz (ultrasonik) dibandingkan pendengaran manusia yang hanya maksimum
20 Khz.
2.1.4. Penerima (Receiver) Pada Sensor Ultrasonik
Penerima Ultrasonik ini akan menerima sinyal ultrasonik yang
dipancarkan oleh pemancar ultrasonik dengan karakteristik frekuensi yang sesuai.
Sinyal yang diterima tersebut akan melalui proses filterisasi frekuensi dengan
menggunakan rangkaian band pass filter (penyaring pelewat pita), dengan nilai
frekuensi yang dilewatkan telah ditentukan.
Kemudian sinyal keluarannya akan dikuatkan dan dilewatkan ke rangkaian
komparator (pembanding) dengan tegangan referensi ditentukan berdasarkan
tegangan keluaran penguat pada saat jarak antara sensor kendaraan mini dengan
sekat/dinding pembatas mencapai jarak minimum untuk berbelok arah. Dapat
dianggap keluaran komparator pada kondisi ini adalah high (logika ‘1’) sedangkan
jarak yang lebih jauh adalah low (logika’0’). Logika-logika biner ini kemudian
diteruskan ke rangkaian pengendali (mikrokontroler).
Prinsip kerja dari rangkaian penerima gelombang ultrasonik tersebut adalah
sebagai berikut :
1. Pertama – tama sinyal yang diterima akan dikuatkan terlebih dahulu oleh
rangkaian transistor penguat Q2.
2. Kemudian sinyal tersebut akan di filter menggunakan High pass filter pada
frekuensi 40 KHz oleh rangkaian transistor Q1.
Universitas Sumatera Utara
3. Setelah sinyal tersebut dikuatkan dan di filter, kemudian sinyal tersebut akan
disearahkan oleh rangkaian dioda D1 dan D2.
4. Kemudian sinyal tersebut melalui rangkaian filter low pass filter pada frekuensi
40 KHz melalui rangkaian filter C4 dan R4.
5. Setelah itu sinyal akan melalui komparator Op-Amp pada U3.
6. Jadi ketika ada sinyal ultrasonik yang masuk ke rangkaian, maka pada
komparator akan mengeluarkan logika rendah (0V) yang kemudian akan diproses
oleh mikrokontroler untuk menghitung jaraknya
R11
4,7K
R8
15K
R6
390K
R10
10K
R13
10K
D4
IN4148
2 -
T4
BC548
T3
BC548
VR2
250K
R9
12K
R12
15K
C3
0,22µF
C4
0,1µF
R14
100K
ULTRASONIC
RECEIVER
TRANDUCER
9
6
R1
33Ω
C5
560nF
25
PC.4
Reset
26
PC.5
27
PC.6
3
4
10
VCC
10 K
2
7
IC2
CA3140
D3
IN4148
R7
470K
3
+
37 PA.2
ATMEGA
8535
28
PC.7
22
PC.0
23
PC.2
38 PA.3
24
PC.3
PB.0
1
12
13
GND
4 MHz
11
Gambar 2.7. Rangkaian Penerima Sensor Ultrasonik
Universitas Sumatera Utara
Pada rangkaian sensor ultrasonik diatas juga sebenarnya mempunyai cara
kerja yang cukup sederhana. Dimana tidak ada sistem modulasi atau pengiriman
data yang diterapkan, rangkaian penerima ini hanya difungsikan untuk
mengaktifkan relay pada saat adanya pancaran sinyal ultrasonic dari rangkaian
pemancar. Beban yang akan anda saklarkan terserah kita, karena sudah berada
diluar sistem rangkaian. Apakah ingin membunyikan Buzzer atau menghidupkan
lampu semuanya terserah kita. Bahkan untuk beban yang memakai tegangan PLN
220 volt juga bisa.
Cara Kerja rangkaian di atas adalah :
1. Loudspeaker tweeter atau mikrofon digunakan sebagai penangkap
gelombang suara ultrasonik.
2. Gelombang ultrasonik yang diterima kemudian diperkuat dengan
menggunakan dua buah transistor.
3. Sebagai pemilih frekuensi digunakan kapasitor tapis C5 dengan nilai 560
nF, disamping itu juga dibantu oleh R14 (100 Kohm).
4. IC Op-Amp pada rangkaian penerima ini hanya dimaksudkan sebagai
pembanding bukan sebagai penguat.
5. Sebagai referensi pembanding digunakan potensio VR2 yang membagi
tegangan supply 9 volt menjadi dua bagian tegangan.
6. Jika tegangan pada input positif Op-Amp (pin3) lebih besar dibanding
tegangan pada terminal negatif op-amp (pin2), maka tegangan keluaran
akan mendekati tegangan suppy (secara teori jika tidak ada beban), dan
jika sebaliknya maka tegangan keluaran adalah 0 volt.
Universitas Sumatera Utara
7. Dua buah transistor pada jalur keluaran op-amp berguna sebagai driver
relay, sehingga arus sebagian besar mengalir dari transistor bukan dari
output op-amp.
Sinyal listrik dengan frekuensi diatas 20 Khz jika anda hubungkan dengan
loudspeaker maka akan menghasilkan gelombang ultrasonik. Kecepatan rambat
dari gelombang suara jauh lebih kecil dari gelombang elektromagnetik (radio)
sehingga bisa dilakukan perhitungan waktu sebagai dasar perhitungan jarak suatu
benda.
2.1.5. Pengukur Jarak dengan UltraSonic
Teknik echo sounder yang dipakai untuk mengukur kedalaman laut, bisa
dibuat alat pengukur jarak dengan ultra sonic. Pengukur jarak ini memakai
rangkaian yang sama dengan Jam Digital dalam artikel yang lalu, ditambah
dengan rangkaian pemancar dan penerima Ultra Sonic.
Prinsip kerja echo sounder untuk pengukuran jarak digambarkan dalam
Gambar 2.8. Pulsa Ultrasonic, yang merupakan sinyal ultrasonic dengan
frekwensi lebih kurang 41 KHz sebanyak 12 periode, dikirimkan dari pemancar
Ultrasonic. Ketika pulsa mengenai benda penghalang, pulsa ini dipantulkan, dan
diterima kembali oleh penerima Ultrasonic. Dengan mengukur selang waktu
antara saat pulsa dikirim dan pulsa pantul diterima, jarak antara alat pengukur dan
benda penghalang bisa dihitung.
Universitas Sumatera Utara
Gambar 2.8. Prinsip Echo Sounder
2.1.6. Transducer Sensor Ultrasonik
Transducer ultrasonic adalah komponen elektronika yang dapat mengubah
energi listrik menjadi energi mekanik dalam bentuk gelombang suara ultrasonic
dan sebaliknya. Gelombang suara ultrasonic adalah gelombang suara yang tidak
dapat didengar oleh manusia secara normal karena frekuensi gelombang ultrasonic
diatas 20KHz. Transducer ultrasonic dalam aplikasinya selalu berpasangan, yaitu
terdapat transducer ultrasonic yang berfungsi sebagai pemancar (transmitter ) dan
transducer ultrasonic sebagai penerima (receiver). Secara umum transducer
ultrasonic yang beredar dipasaran adalah sepasang dandapat dilihat pada gambar
salah satu contoh transducer ultrasonic berikut.
Gambar 2.9. Transducer Ultrasonik
Universitas Sumatera Utara
2.2 Mikrokontroller ATmega 8535
2.2.1 Pengertian Mikrokontroller
Mikrokontroler adalah sebuah system microprocessor dimana didalamnya
sudah terdapat CPU, ROM, RAM, I/O, Clock dan peralatan internal lainnya yang
sudah saling terhubung dan terorganisasi (teralamati) dengan baik oleh pabrik
pembuatnya dan dikemas dalam satu chip yang siap pakai. Sehingga kita tinggal
memprogram isi ROM sesuai aturan penggunaan oleh pabrik yang membuatnya.
Teknologi yang digunakan pada mikrokontroler AVR berbeda dengan
mikrokontroler seri MCS-51.
AVR berteknologi RISC (Reduced Instruction Set Computer), sedangkan
seri MCS-51 berteknologi CISC (Complex Instruction Set Computer).
Mikrokontroler AVR dapat dikelompokkan menjadi empat kelas, yaitu keluarga
ATtiny, keluarga AT90Sxx, keluarga ATMega, dan keluarga AT89RFxx. Pada
dasarnya yang membedakan masing-masing kelas adalah memori, kelengkapan
periperal dan fungsi-fungsi tambahan yang dimiliki. Berikut ini penjelasan lebih
lengkap mengenai Mikrokontroler ATMega 8535: Mikrokontroller 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 ATMega 8535 dapat bekerja
dengan kecepatan tinggi walaupun dengan penggunaan daya rendah. Ilustrasi
yang mungkin bisa memberikan gambaran yang jelas dalam penggunaan
mikrokontroler adalah aplikasi mesin tiket dalam arena permainan yang saat ini
terkenal di Indonesia.
Universitas Sumatera Utara
Jika kita sudah selesai bermain, maka akan diberikan suatu nilai, nilai
inilah yang menentukan berapa jumlah tiket yang bisa diperoleh dan jika
dikumpulkan dapat ditukar dengan berbagai macam hadiah. Sistem tiket ini
ditangani dengan mikrokontroler, karena tidak mungkin menggunakan computer
PC yang harus dipasang disamping (atau di belakang) mesin permainan yang
bersangkutan. Selain system tiket, kita juga dapat menjumpai aplikasi
mikrokontroler dalam bidang pengukuran jarak jauh atau yang dikenal dengan
system telemetri.
Misalnya pengukuran disuatu tempat yang membahayakan manusia, maka
akan lebih nyaman jika dipasang suatu system pengukuran yang bisa
mengirimkan data lewat pemancar dan diterima oleh stasiun pengamatan dari
jarak yang cukup aman dari sumbernya. Sistem pengukuran jarak jauh ini jelas
membutuhkan suatu system akusisi data sekaligus system pengiriman data secara
serial (melalui pemancar), yang semuanya itu bisa diperoleh dari mikrokontroler
yang digunakan. Tidak seperti sistem komputer, yang mampu menangani berbagai
macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain
sebagainya), mikrokontroler hanya bisa digunakan untuk satu aplikasi tertentu
saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada
system computer perbandingan RAM dan ROM-nya besar, artinya programprogram pengguna disimpan dalam ruang RAM yang relative besar, sedangkan
rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil.
Sedangkan pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar
artinya program control disimpan dalam ROM (bisa Masked ROM atau Flash
PEROM) yang ukurannya relatif lebih besar.
Universitas Sumatera Utara
Mikrokontroler ATmega8535 memiliki beberapa fitur atau spesifikasi
yang menjadikannya sebuah solusi pengendali yang efektif untuk berbagai
keperluan. Fitur-fitur tersebut antara lain:
1. Saluran I/O sebanyak 32 buah, yang terdiri atas Port A, B, C dan D
2. ADC (Analog to Digital Converter)
3. Tiga buah Timer/Counter dengan kemampuan perbandingan
4. CPU yang terdiri atas 32 register
5. Watchdog Timer dengan osilator internal
6. SRAM sebesar 512 byte
7. Memori Flash sebesar 8kb dengan kemampuan read while write
8. Unit Interupsi Internal dan External
9. Port antarmuka SPI untuk men-download program ke flash
10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi
11. Antarmuka komparator analog
12. Port USART untuk komunikasi serial.
2.2.2 Chip Mikrokontroller ATmega 8535
Mikrokontroler sebagai sebuah “one chip solution” pada dasarnya adalah
rangkaian terintregrasi (Integrated Circuit-IC) yang telah mengandung secara
lengkap berbagai komponen pembentuk sebuah komputer. Berbeda dengan
penggunaan mikroprosesor yang masih memerlukan komponen luar tambahan
seperti RAM, ROM, Timer, dan sebagainya untuk sistem mikrokontroler,
tambahan komponen diatas secara praktis hampir tidak dibutuhkan lagi.
Universitas Sumatera Utara
Hal ini disebabkan semua komponen penting tersebut telah ditanam
bersama dengan sistem prosesor ke dalam IC tunggal mikrokontroler
bersangkutan. Dengan alasan itu sistem mikrokontroler dikenal juga dengan
istilah populer the real Computer On a Chip (komputer utuh dalam keping
tunggal), sedangkan sistem mikroprosesor dikenal dengan istilah yang lebih
terbatas yaitu Computer On a Chip (computer dalam keeping tunggal).
Mikrokontroler AVR memiliki arsitektur RISC 8 bit, dimana semua instruksi
dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi
dalam 1 (satu) siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan
12 siklus clock.
Tentu saja itu terjadi karena kedua jenis mikrokontroler tersebut memiliki
arsitektur yang berbeda. AVR berteknologi RISC (Reduced Instruction Set
Computing), sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set
Computing). Secara umum, AVR dapat dikelompokkan menjadi empat kelas,
yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga ATMega dan AT86RFxx.
Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral
dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa
dikatakan hampir sama. Mikrokontroler ATMega8535 merupakan salah satu
keluarga dari MCS-51 keluaran Atmel. Jenis Mikrokontroler ini pada prinsipnya
dapat digunakan untuk mengolah data per bit ataupun 8 bit secara bersamaan.
Pada prinsipnya program pada Mikrokontroler dijalankan bertahap, jadi pada
program itu sendiri terdapat beberapa set instruksi dan tiap instriksi itu dijalankan
secara bertahap atau berurutan. Beberapa fasilitas yang dimiliki oleh
Mikrokontroler ATMega 8535 adalah sebagai berikut :
Universitas Sumatera Utara
a. Sebuah Central Processing Unit 8 bit.
b. Osilatc : Internal dan rangkaian pewaktu.
c. RAM internal 128 byte.
d. Flash Memory 2 Kbyte.
e. Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah
interupsi internal).
f. Empat buah programmable port I/O yang masing – masing terdiri dari
delapan buah jalur I/O.
g. Sebuah port serial dengan control serial full duplex UART.
h. Kemampuan untuk melaksanakan operasi aritmatika dan operasi logika.
Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada
frekuensi 1 MHz. Membuat perbandingan di antara ragam mikrokontroler,
bukanlah pekerjaan yang mudah karena banyak parameter yang perlu
dipertimbangkan. Salah satu cara praktis yang dapat dilakukan adalah dengan
mengambil salah satu paramater, misalkan kecepatan pemrosesannya. Pada Tabel
2.1. menunjukkan perbandingan kecepatan prosesor dan efisiensi eksekusi dari
beberapa mikrokontroler populer.
Tabel 2.1. Perbandingan Kecepatan Mikrokontroler pada Beberapa Merek
Mikrokontroler
Produsen
Ukuran Kode
Waktu Eksekusi
Terkompilasi
(Siklus)
AVR
ATMEL
335
8051
INTEL
9384
PIC1674
MICROCHIP
2492
68HC11
MOTOROLA
112
5244
Universitas Sumatera Utara
Tabel 2.1. terlihat bahwa ketika bekerja dengan frekuensi siklus normal
(clock) yang sama, mikrokontroler keluarga AVR bekerja 7 kali lebih cepat
dibandingkan dengan PIC1674, 15 kali lebih cepat daripada 68 HC11, dan 28 kali
lebih cepat dibanding 8051. Ditinjau dari kemampuan dan fasilitas yang dimiliki
mikrokontroler ATmega 8535 keluarga AVR cocok dipilih untuk membangun
bermacam-macam aplikasi (embedded system). Kemasan mikrokontroler ATmega
8535 dapat dilihat pada Gambar 2.10.
Kaki/pin (Input/Output)
Gambar 2.10. Kemasan Mikrokontroler ATmega 8535
Universitas Sumatera Utara
Gambar 2.11. Blok Diagram Fungsional ATmega8535
Universitas Sumatera Utara
2.2.3 Konfigurasi Pin ATmega 8535
Mikrokontroler AVR ATMega memiliki 40 pin dengan 32 pin diantaranya
digunakan sebagai port paralel. Satu
port paralel terdiri dari 8 pin, sehingga
jumlah port pada mikrokontroler adalah 4 port, yaitu port A, port B, port C dan
port D. Sebagai contoh adalah port A memiliki pin antara port A.0 sampai dengan
port A.7, demikian selanjutnya untuk port B, port C, port D.
Gambar 2.12. Konfigurasi IC Mikrokontroller ATmega 8535
Penjelasan mengenai pin yang terdapat pada mikrokontroler ATMega
8535:
Tabel 2.2. Deskripsi Pin Mikrokontroler ATmega 8535
Nama
Deskripsi
Vcc
Tegangan catu digital
Gnd
Catu daya negatip (Ground)
Port A (PA0-PA7) Port A berfungsi sebagai port Input/Output. Port A juga
berfungsi sebagai ADC, jika diperlukan. Pin pada Port
Universitas Sumatera Utara
dapat diatur untuk memberikan internal pull-up resistors
pada tiap bit. Penyangga data (buffer) pada keluaran Port
A mempunyai karakteristik gerak simetris dengan
kapabilitas high sink maupun source. Ketika pin PA0 –
PA7 digunakan sebagai input dan secara eksternal
dikonfigurasi pulled-low, pin-pin tersebut menghasilkan
arus apabila internal pull-up resistors diaktifkan. Pin pada
Port A berada dalam kondisi tri-stated ketika kondisi reset
diaktifkan, meskipun clock tidak bekerja.
Port B (PB0-PB7)
Port B adalah port Input/Output dwi-arah 8-bit dengan
internal pull-up resistors pada tiap bit. Penyangga data
pada output Port B mempunyai karakteristik gerak simetris
dengan kapabilitas high sink maupun source. Sebagai
input, Port B yang secara eksternal dikonfigurasi pulledlow akan menghasilkan arus jika pull-up resistors
diaktifkan. Pin pada Port B berada dalam kondisi tri-stated
ketika kondisi reset diaktifkan, meskipun clock tidak
bekerja. Port B juga memiliki fungsi lain yaitu TO, XCK,
T1, AIN0, INT2, AIN1, SS, MOSI, MISO dan SCK.
Port C (PC0-PC7)
Port C adalah sebuah port Input/Output dwi-arah 8-bit
dengan internal pull-up resistors pada tiap bit. Penyanga
data pada output Port C mempunyai karakteristik gerak
simetris dengan kapabilitas high sink maupun source.
Sebagai input, Port C yang secara eksternal dikonfigurasi
Universitas Sumatera Utara
pulled-low akan menghasilkan arus jika pull-up resistors
diaktifkan. Pin pada Port C berada dalam kondisi tri-stated
ketika kondisi reset diaktifkan, meskipun clock tidak
bekerja. Port C juga memiliki fungsi lain seperti TOSC2
dan TOSC1.
Port D (PD0-PD7) Port D adalah sebuah port Input/Output dwi-arah 8-bit
dengan internal pull-up resistors pada tiap bit. Penyangga
data pada output Port D mempunyai karakteristik gerak
simetris dengan kapabilitas high sink maupun source.
Sebagai input, Port D yang secara eksternal dikonfigurasi
pulled-low akan menghasilkan arus jika pull-up resistors
diaktifkan. Pin pada Port D berada dalam kondisi tri-stated
ketika kondisi reset diaktifkan, meskipun clock tidak
bekerja. Port D juga memiliki fungsi lain seperti RXD
Nama
Deskripsi
, TXD, INT0, INT1, OC1B, OC1A, ICP1, OC2, SCL dan
SDA.
RESET
Input Reset. Kondisi low-level pada pin ini yang lebih
lama
dibanding
panjang
pulsa
minimum
akan
menyebabkan kondisi reset, meskipun clock tidak bekerja.
Pulsa yang lebih pendek tidak dijamin menyebabkan
kondisi reset.
XTAL1
Pin untuk eksternal clock.
XTAL2
Pin untuk eksternal clock.
Universitas Sumatera Utara
AVCC
Pin tegangan catu untuk Port A dan ADC. AVcc harus
terhubung secara eksternal dengan Vcc, meskipun ADC
tidak digunakan. Jika ADC digunakan, AVcc harus
terhubung dengan Vcc melalui sebuah low-pass filter.
AREF
Pin referensi analog bagi ADC
2.2.4. Port Masukan/Keluaran (Input/Output Port)
Port masukan/keluaran (Input/Output Port) AVR memiliki fungsionalitas
Baca-Mengubah-Tulis
(Read-Modify-Write)
saat
digunakan
sebagai
port
Input/Output (Data Sheet mikrokontroler ATmega 8535). Hal ini berarti bahwa
arah dari satu pin port dapat diubah tanpa perlu mengubah arah dari pin yang lain
dengan instruksi. Hal yang sama diterapkan ketika mengubah nilai gerak (jika
dikonfigurasi
sebagai
Input)
atau
enabel/disabel
resistor
pull-up
(jika
dikonfigurasi sebagai masukan Output).
Tiap-tiap Output memiliki karakteristik gerak simetris dengan kapabilitas
sink dan source yang tinggi. Penggerak pin cukup kuat untuk menggerakkan
display LED (Light Emitting Diode) secara langsung. Seluruh pin port memiliki
resistor pull-up terpilih secara individual dengan resistansi tetap tegangan-catu.
Semua pin Input/Output memiliki dioda proteksi pada Vcc dan Ground seperti
terlihat pada Gambar 2.13.
Universitas Sumatera Utara
Gambar 2.13. Konfigurasi Internal Pin Port
Semua referensi register dan bit dalam bagian ini dituliskan dalam bentuk
umum. Huruf kecil “x” mewakili huruf penomoran bagi port, dan huruf kecil “n”
mewakili nomor bit (Data Sheet mikrokontroler ATmega 8535). Namun sewaktu
menggunakan definisi register atau bit dalam program, bentuk yang tepat harus
digunakan. PORT B 3 bagi bit no. 3 dalam Port B, di sini didokumentasikan
secara umum sebagai PORTxn.
Tiga lokasi alamat memori Input/Output dialokasikan bagi tiap port.
Masing-masingnya bagi Data Register (PORTx), Data Direction Register
(DDRx), dan Port Input Pin (PINx) (Data Sheet mikrokontroler ATmega 8535).
Lokasi Input/Output Port Input Pin hanya bisa dibaca, sementara Data Register
dan data yang keluar (Data Direction Register) dapat dibaca/tulis. Sebagai
tambahan, bit Pull-up Disable (PUD) dalam SFIOR mendisabel fungsi pull-up
bagi semua pin pada semua port, ketika diberi logika 1. Kebanyakan pin port
dimultipleks dengan fungsi alternatif bagi fitur periferal pada perangkat.
Perhatikan bahwa mengenabel fungsi alternatif pada sebagian pin port tidak
Universitas Sumatera Utara
mempengaruhi penggunaan pin yang lain dalam port sebagai Input/Output digital
umum.
2.2.5. Konstruksi ATMega 8535
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. Sehingga organisasi memori program seperti ini sering
dituliskan dengan 4K x 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu
bagian program boot dan bagian program aplikasi. Jika tidak menggunakan fitur
boot Loader Flash maka semua kapasitas memori program di atas dapat
digunakan untuk program aplkasi. Tetapi jika kita menggunakan fitur
Boot
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 I/O dan SRAM.
ATmega8535 memiliki 32 byte register serba guna, 64 byte register I/O yang
dapat diakses sebagai bagian dari memori RAM (menggunakan instuksi LD atau
ST) atau dapat juga diakses sebagai I/O (menggunakan instruksi IN atau OUT),
dan 512 byte digunakan untuk memori data SRAM. Jika register – register I/O di
atas diakses seperti mengakses data pada memori menggunakan instruksi LD atau
Universitas Sumatera Utara
ST maka register I/O di atas menempati alamat 0020 – 005F. tetapi jika register –
register I/O di atas diakses seperti mengakses I/O pada umumnya menggunakan
instruksi IN atau OUT maka register I/O di atas menempati alamat memori 0000h
– 003Fh.
32 Register
$0000 - $001F
$0020 - $005F
64 I/O Register $0060
64 I/O Register
$0000
$003F
(b)
Internal SRAM
(512 x 8)
$025F
(a)
Gambar 2.14. (a) Register I/O Sebagai Memori Data
(b) Register I/O Sebagai I/O
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 I/O 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
Universitas Sumatera Utara
mengakses data dari SRAM. ATmega8535 merupakan tipe AVR yang telah
dilengkapi dengan 8 saluran ADC internal dengan fidelitas 10 bit. Dalam mode
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 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.
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 antarmikrokontroler 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
Universitas Sumatera Utara
saja. 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 XC.”
2.3. Bahasa Pemograman C
Bahasa C dikembangkan pada Lab Bell pada tahun 1978, oleh Dennis
Ritchi dan Brian W. Kernighan. Pada tahun 1983 dibuat standar C yaitu stnadar
ANSI ( American National Standards Institute ), yang digunakan sebagai referensi
dari berbagai versi C yang beredar dewasa ini termasuk Turbo C.
Dalam beberapa literature, bahasa C digolongkan bahasa level menenganh
karena bahasa C mengkombinasikan elemen bahasa tinggi dan elemen bahasa
rendah. Kemudahan dalam level rendah merupakan tujuan diwujudkanya bahasa
C. pada tahun 1985 lahirlah pengembangan ANSI C yang dikenal dengan C++
(diciptakan oleh Bjarne Struostrup dari AT % TLab). Bahasa C++ adalah
pengembangan dari bahasa C. bahasa C++ mendukung konsep pemrograman
berorientasu objek dan pemrograman berbasis windows. Sampai sekarang bahasa
C++ terus brkembang dan hasil perkembangannya muncul bahasa baru pada tahun
1995 (merupakan keluarga C dan C++ yang dinamakan java). Istilah prosedur dan
fungsi dianggap sama dan disebut dengan fungsi saja. Hal ini karena di C++
sebuah prosedur pada dasanya adalah sebuah fungsi yang tidak memiliki tipe data
kembalian (void). Hingga kini bahasa ni masih popular dan penggunaannya
Universitas Sumatera Utara
tersebar di berbagai platform dari windows samapi linux dan dari PC hingga main
frame.
2.3.1
Struktur Bahasa C
a. Program bahasa C tersusun atas sejumlah blok fungsi.
b. Setiap fungsi terdiri dari satu atau beberapa pernyataan untuk melakukan
suatu proses tertentu.
c. Tidak ada perbedaan antara prosedur dan fungsi.
d. Sstiap program bahasa C mempunyai suatu fungsi dengan nama “main”
(Program Utama).
e. Fungsi bisa diletakkan diatas atau dibawah fungsin “main”.
f. Setiap statemen diakhiri dengan semicolon (titik koma).
2.3.2 Pengenal
Pengenal (identifier) merupakan sebuah nama yang didefenisikan oleh
pemrograman untuk menunjukkan indetitas dari sebuah konstanta, variable,
fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenal dapat
ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi atura
berikut :
 Karakter pertama tidak boleh menggunakan angka
 Karakter kedua dapat berupa huruf, angka, atau garis bawah.
 Tidak boleh menggunakan spasi.
 Bersifat Case Sensitive, yaitu huru capital dan huruf kecil dianggap
berbeda.
Universitas Sumatera Utara
 Tidak boleh mengunakan kata – kata yang merupakan sitaks maupun
operator dalam pemrograman C, misalnya : Void, short, const, if, static,
bit, long, case, do, switch dll.
2.3.3 Tipe Data
Tipe data merupakan suatu hal yang penting untuk kita ketahui pada saat
belajar bahasa pemrograman. Kita harus dapat menentukan tipe data yang tepat
untuk menampung sebuah data, baik itu data berupa bilangan numerik ataupun
karakter. Hal ini bertujuan agar program yang kita buat tidak membutuhkan
pemesanan kapling memori yang berlebihan. Seorang programmer yang handal
harus dapat memilih dan menentukan tipe data apa yang seharusnya digunakan
dalampembuatan sebuah program. Secara garis besar tipe data pada bahasa C
dibagi menjadi beberapa bagian antara lain sebagai Berikut Macam-Macam Tipe
Data Pada Bahasa C :
1. Tipe Data Karakter
Sebuah karakter, baik itu berupa huruf atau angka dapat disimpan pada
sebuah variabel yang memiliki tipe data char dan unsigned char. Besarnya data
yang dapat disimpan pada variabel yang bertipe data char adalah -127 - 127.
Sedangkan untuk tipe data unsigned char adalah dari 0 - 255. Pada dasarnya setiap
karakter memiliki nilai ASCII, nilai inilah yang sebetulnya disimpan pada variabel
yang bertipe data karakter ini.
Universitas Sumatera Utara
2. Tipe Data Bilangan Bulat
Tipe data bilangan bulat atau dapat disebut juga bilangan desimal
merupakan sebuah bilangan yang tidak berkoma. Pada bahasa C terdapat
bermacam-macam tipe data yang dapat kita gunakan untuk menampung bilangan
bulat. Kita dapat menyesuaikan penggunaan tipe data dengan terlebih dahulu
memperhitungkan seberapa besar nilai yang akan kita simpan. Contohnya seperti
berikut, kiata akan melakukan operasi penjumlahan nilai 300 dan 100 dan
hasilnya akan disimpan pada variabel c.
Jika dilihat, hasil dari penjumlahan tersebut nilainya akan lebih besar dari
255 dan nilainya pasti positif, oleh karena itu sebaiknya kita menggunakan tipe
data unsigned int. Namun berbeda halnya jika saya ingin melakukan operasi
pengurangan -5 - 300, jika dilihat hasilnya akan negatif maka selayaknya
digunakan variabel dengan tipe data int.
3. Tipe Data Bilangan Berkoma
Pada bahasa C terdapat dua buah tipe data yang berfungsi untuk
menampung data yang berkoma. Tipe data tersebut adalah float dan double.
Double lebih memiliki panjang data yang lebih banyak dibandingkan float.
Tipe data double dapat digunakan jika kita membutuhkan variabel yang dapat
menampung tipe data berkoma yang bernilai besar.
Universitas Sumatera Utara
Tabel 2.3. Tipe Data
Tipe Data
Ukuran
Jangkauan Nilai
Bit
1 byte
0 atau 1
Char
1 byte
-128 s/d 127
Unsigned Char
1 byte
0 s/d 255
Signed Char
1 byte
-128 s/d 127
Int
2 byte
-32.768 s/d 32.767
Short Int
2 byte
-32.768 s/d 32.767
Unsigned Int
2 byte
0 s/d 65.535
Signed Int
2 byte
-32.768 s/d 32.767
Long Int
4 byte
-2.147.483.648 s/d 2.147.483.647
Unsigned Long Int
4 byte
0 s/d 4.294.967.295
Signed Long Int
4 byte
-2.147.483.648 s/d 2.147.483.647
Float
4 byte
1.2*10-38 s/d 3.4*10+38
Double
4 byte
1.2*10-38 s/d 3.4*10+38
2.3.4
Konstanta Dan Variabel
Konstanta dan variable merupakan sebuah tempat untuk menyimpan data
yang berada di dalam memori. Konstanta berisi data yang nilainya tetap dan tidak
dapat diubah selama program dijalankan, sedangkan variable berisi data yang bisa
berubah nilainya pada saat program dijalankan.
Universitas Sumatera Utara
2.3.5
Komentar
Komentar adalah tulisan – tulisan yang tidak dianggap sebagai bagian dari
tibuh program. Komentar digunakan untuk memberikan penjelasan, informasi
ataupun keterangan – keterangan yang dapat membantu mempermudah dalam
memahami kode program baik bagi si pembuat program maupun bagi orang lain
yang membacanya. Komentar yang hanya satu baris ditulis dengan diawali dengan
‘/ /’ sedangkan komentar yang lebih dari satu baris diawali dengan ‘/*’ dan
diakhiri dengan ‘*/’. Selain digunakan untuk memberikan keterangan program,
komentar juga dapat dipakai untuk membantu dalam pengujian program yaitu
dengan menon-aktifkan dan mengaktifkan kemnbali bagian program tertentu
selama proses pengujian. Dengan cara seperti ini tentu kita akan dapat lebih
menghemat waktu bila dibandingkan dengan menulis dan menghapus bagian
program tertentu berulang –ulang.
2.4. Operator Bahasa C
2.4.1 Operator Aritmatika
Operator aritmatika adalah beberapa operator yang digunakan untuk
melakukan perhitungan aritmatika.
Tabel 2.4. Operator Aritmatika
Operator
Keterangan
+
Operator untuk operasi penjumlahan
-
Operator untuk operasi pengurangan
*
Operator untuk operasi perkalian
/
Operator untuk operasi pembagian
%
Operator untuk perasi sisa pembagian
Universitas Sumatera Utara
Operator *, / dan % memiliki prioritas yang lebih tinggi bila dibandingkan
dengan operator + dan –
2.4.2. Operator Pembanding
Operator
pembanding
adalah
operator
yang
digunakan
untuk
membandingkan 2 buah data. Hasil operator pembanding bukan berupa nilai data
tetapi hanya bernilai benar (‘1’) atau salah (‘0’) saja. Berikut adalah tabel operator
pembanding :
Tabel 2.5. Operator Pembanding
Operator
Contoh
Arti
==
x == y
Bernilai benar jika kedua data sama dan
bernilai salah jika sebaliknya
!=
x != y
Bernilai benar jika kedua data tidak sama
dan bernilai salah jika sebaliknya
>
x>y
Bernilai benar jika data x lebih besar dari y
dan bernilai salah jika sebaliknya
<
x<y
Bernilai benar jika data x lebih kecil dari y
dan bernilai salah jika sebaliknya
>=
x >= y
Bernilai benar jika data x ,ebih besar atau
sama denga y dan bernilai salah jika
sebaliknya
<=
x <= y
Bernilai benar jika data x lebih kecil atau
sama dengan y dan bernilai salah jika
sebaliknya
Universitas Sumatera Utara
2.4.3. Operator Logika
Operator logika digunakan untuk membentuk suatu logika atas dua buah
kondisi atau lebih. Berikut adalah tabel operator logika :
Tabel 2.6. Operator Logika
Operator
Keterangan
&&
Operator untuk logika AND
││
Operator untuk logika OR
!
Operator untuk NOT
2.4.4. Fungsi Pustaka
Bahasa C memiliki sejumlah fungsi pustaka yang berada pada file-file
tertentu dan sengaja disediakan untuk menangani berbagai hal dengan cara
memanggil fungsi-fungsi yang telah dideklarasikan di dalam file tersebut. Dalam
banyak hal, pustaka-pustaka yang tersedia tidak berbentuk kode sumber
melainkan dalam bentuk yang telah dikompilasi. Pada saat proses linking kodekode dari fungsi ini akan dikaitkan dengan kode-kode yang ditulis oleh
pemrograman.
Beberapa fungsi pustaka yang telah disediakan oleh CodeVisionAVR
antara laian adalah :
•
Fungsi tipe karakter (ctype.h)
•
Fungsi standar I/O (stdio.h)
•
Fungsi matematika (math.h)
•
Fungsi string (string.h)
•
Fungsi konversi BCD (bcd.h)
Universitas Sumatera Utara
•
Fungsi konversi akses memori (mem.h)
•
Fungsi tunda (delay.h)
•
Fungsi LCD (lcd.h)
2.5. LCD (Liquid Crystal Display)
LCD merupakan salah satu perangkat penampil yang sekarang ini mulai
banyak digunakan. Penampil LCD mulai dirasakan menggantikan fungsi dari
penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan
manusia sebagai penampil gambar/text baik monokrom (hitam dan putih),
maupun yang berwarna. Teknologi LCD memberikan keuntungan dibandingkan
dengan teknologi CRT, kaena pada dasarnya, CRT adalah tabung triode yang
digunakan
sebelum
transistor
ditemukan.
Beberapa
keuntungan
LCD
dibandingkan dengan CRT adalah konsumsi daya yang relative kecil, lebih ringan,
tampilan yang lebih bagus, dan ketika berlama-lama di depan monitor, monitor
CRT lebih cepat memberikan kejenuhan pada mata dibandingkan dengan LCD.
Gambar 2.15. LCD Pendeteksi Jarak
LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair sebagai
pemendar cahaya. Pada layar LCD, setiap matrik adalah susunan dua dimensi
piksel yang dibagi dalam baris dan kolom. Dengan demikian, setiap pertemuan
Universitas Sumatera Utara
baris dan kolom adalah sebuah LED terdapat sebuah bidang latar (backplane),
yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang
ditutupi oleh lapisan elektroda trasparan. Dalam keadaan normal, cairan yang
digunakan memiliki warna cerah. Daerah-daerah tertentu pada cairan akan
berubah warnanya menjadi hitam ketika tegangan diterapkan antara bidang latar
dan pola elektroda yang terdapat pad sisi dalam lempeng kaca bagian depan.
Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa microampere),
sehingga alat atau sistem menjadi portable karena dapat menggunakan catu daya
yang kecil.
Keunggulan lainnya adalah tampilan yang diperlihatkan dapat dibaca
dengan mudah di bawah terang sinar matahari. Di bawah sinar cahaya yang
remang-remang dalam kondisi gelap, sebuah lampu (berupa LED) harus dipasang
dibelakang layar tampilan. LCD yang digunakan adalah jenis LCD yang
menampilkan data dengan 2 baris tampilan pada display. Keuntungan dari LCD
ini adalah :
1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk
membuat program tampilan.
2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data
dan 3 bit control.
3. Ukuran modul yang proporsional.
4. Daya yang digunakan relative sangat kecil.
Universitas Sumatera Utara
D0
D1
D2
D3
D4
D5
D6
D7
RS
4
RW 5
EN 6
LCD 16x2
1
GND
3
LCD Drv
16
V-BL
10
11
12
13
11
12
13
14
2
VCC
V+BL15
+5VDC
Gambar 2.16. Konfigurasi Pin LCD
Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses
proses internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan
instruksi membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap
karakter dengan huruf 5x7 dot matrik. Kapasitas pembangkit RAM 8 tipe karakter
(membaca program), maksimum pembacaan 80x8 bit tampilan data. Perintah
utama LCD adalah Display Clear, Cursor Home, Display ON/OFF, Display
Character Blink, Cursor Shift, dan Display Shift. Tabel 2.3 menunjukkan operasi
dasar LCD.
Tabel 2.7. Operasi Dasar LCD
RS
R/W
Operasi
0
0
Input Instruksi ke LCD
0
1
Membaca Status Flag (DB7) dan alamat counter (DB0 ke
DB6)
1
0
Menulis Data
1
1
Membaca Data
Universitas Sumatera Utara
Lapisan film yang berisis Kristal cair diletakkan di antara dua lempeng
kaca yang telah ditanami elektroda logam transparan. Saat teganga dicatukan pada
beberapa pasang elektroda, molekul – molekul Kristal cair akan menyusun diri
agar cahaya yang mengenainya akan dipantulkan atau diserap. Dari hasil
pemantulan atau penyerapan cahaya tersebut akan terbentuk pola huruf, angka,
atau gambar sesuai bagian yang di aktifka.
LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular
untuk aplikasi pada kalkulator, arloji digital, dan instrument elektronika lain
seperti Global Positioning System (GPS), baragraph display dan multimeter
digital. LCD umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan
mempunyai kemampuan untuk menampilkan beberapa kolom dan baris dalam
satu panel. Untuk membentuk pola, baik karakter maupun gambar pada kolom dan
baris secara bersamaan digunakan metode Screening.
Metode screening adalah mengaktifkan daerah perpotongan suatu kolo dan
suatu baris secara bergantian dan cepat sehingga seolah-olah aktif semua.
Penggunaan metode ini dimaksudkan untuk menghemat jalur yang digunakan
untuk mengaktifkan panel LCD. Saat ini telah dikembangkan berbagai jenis LCD,
mulai jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-Film
Transistor Active Matrix (TFT-AMLCD). Kemampuan LCD juga telah
ditingkatkan daru yang monokrom hingga yang mampu menampilkan ribuan
warna.
Universitas Sumatera Utara
Tabel 2.8. Konfigurasi Pin LCD
Pin No.
Keterangan
Konfigurasi Hubung
1
GND
Ground
2
VCC
Tegangan +5VDC
3
VEE
Ground
4
RS
Kendali RS
5
RW
Ground
6
E
Kendali E/Enable
7
D0
Bit 0
8
D1
Bit 1
9
D2
Bit 2
10
D3
Bit 3
11
D4
Bit 4
12
D5
Bit 5
13
D6
Bit 6
14
D7
Bit 7
15
A
Anoda (+5VDC)
16
K
Katoda (Ground)
2.6. Regulator Tegangan
Regulator tregangan adalah bagian power supply yang berfungsi untuk
memberikan stabilitas output pada suatu power supply. Output tegangan DC dari
penyearah tanpa regulator mempunyai kecenderungan berubah harganya saat
dioperasikan. Adanya perubahan pada masukan AC dan variasi beban merupakan
Universitas Sumatera Utara
penyebab utama terjadinya ketidakstabilan pada power supply. Pada sebagian
peralatan elektronika, terjadinya perubahan catu daya akan berakibat cukup serius.
Untuk mendapatkan pencatu daya yang stabil diperlukan regulator tegangan.
Regulator tegangan untuk suatu power supply paling sederhana adalah
menggunakan dioda zener. Rangkaian dasar penggunaan dioda zener sebagai
regulator tegangan dapat dilihat pada gambar rangkaian dibawah.
Gambar 2.17. Regulator Tegangan
Regulator Tegangan Pada Power Supply regulator tegangan,regulator
tegangan
zener,regulator
regulator,skema
zener,teori
regulator,regulator
regulator,fungsi
power
regulator,rangkaian
supply,membuat
regulator,dasar
regulator,rangkaian regulator zener,teori regulator tegangan,contoh regulator
tegangan Rangkaian pencatu daya (power supply) dengan regulator diode zener
pada gambar rangkaian diatas, merupakan contoh sederhana cara pemasangan
regulator tegangan dengan dioda zener.
Diode zener dipasang paralel atau shunt dengan L dan R . Regulator ini
hanya memerlukan sebuah diode zener terhubung seri dengan resistor RS .
Perhatikan bahwa diode zener dipasang dalam posisi reverse bias. Dengan cara
Universitas Sumatera Utara
pemasangan ini, diode zener hanya akan berkonduksi saat tegangan reverse bias
mencapai tegangan breakdown dioda zener. Penyearah berupa rangkaian diode
tipe jembatan (bridge) dengan proses penyaringan atau filter berupa filter-RC.
Resistor seri pada rangkaian ini berfungsi ganda. Pertama, resistor ini
menghubungkan C1 dan C2 sebagai rangkaian filter. Kedua, resistor ini berfungsi
sebagai resistor seri untuk regulator tegangan (dioda zener). Diode zener yang
dipasang dapat dengan sembarang dioda zener dengan tegangan breakdown misal
dioda zener 9 volt.
Tegangan output transformer harus lebih tinggi dari tegangan breakdown
dioda zener, misalnya untuk penggunaan dioda zener 9 volt maka gunakan output
transformer 12 volt. Tegangan breakdown dioda zener biasanya tertulis pada body
dari dioda tersebut. Rangkaian catu daya berfungsi untuk menyediakan arus dan
tegangan tertentu sesuai dengan kebutuhan beban dari sumber daya listrik yang
ada. Untuk mencukupi kebutuhan beban DC dari jala-jala, diperlukan suatu
rangkaian catu daya yang mengubah tegangan AC ke DC.
Biasanya dilakukan dengan suatu rangkaian penyearah yang tergandeng
dengan trafo untuk mendapatkan tegangan yang sesuai. Kemudian untuk
mengkompensasi perubahan tegangan jala-jala dan beban, rangkaian catu daya
dilengkapi dengan suatu regulator atau pengatur tegangan. Regulator linier
melalui transistor yang terpasang secara seri mengalihkan daya dari tegangan
masukan (Vi) menjadi tegangan keluaran (Vo) secara kontinyu. Dalam operasi
tersebut, regulator linier mendisipasi daya. Semakin besar perbedaan Vi dan Vo
maka akan semakin besar daya yang terdisipasi sehingga hal ini membatasi
efisiensi regulator linier.
Universitas Sumatera Utara
Regulator pensaklaran menggunakan transistor daya dalam ragam
switching (sebagai saklar) untuk menyimpankan energi ke dalam induktor dan
kapasitor yang kemudian disalurkan kepada beban. Catu daya dengan regulator
pensaklaran yang beroperasi frekuensi tinggi lebih efisien, lebih ringan, dan
mempunyai volume yang lebih kecil dibanding catu daya dengan regulator linier
yang tergandeng trafo 50Hz. Namun regulator pensaklaran mempunyai riak yang
lebih besar pada keluarannya bila dibandingkan dengan regulator linier.
Hal ini disebabkan operasi switching di dalam rangkaian itu sendiri. Disini
akan dibahas perancangan suatu catu daya dengan dua tahap regulasi. Regulator
pensaklaran sebagai regulator awal (preregulator) dan regulator linier sebagai
regulator akhir (post regulator). Tujuan utama perancangan adalah untuk
mengetahui karakteristik dari catu daya dengan dua tahap regulasi terutama dalam
persentase regulasi, efisiensi, dan tegangan riak pada keluaran.
2.6.1 Regulator Tegangan DC (Direct Current)
Regulator tegangan dalam perangkat dan rangkaian elektronika sangatlah
penting, karena hal ini sangat mempengaruhi kinerja dan stabilitas dari suatu
perangkat yang ada. Apabila suatu perangkat tidak dilengkapi suatu komponen
yang mendukung untuk regulasi catu daya maka tidak heran apabila suatu
perangkat tersebut tidak akan bertahan lama, meskipun pada saat awal pembuatan
perangkat tersebut terlihat normal.
Regulator selain bertugas untuk mengatur tegangan memiliki fungsi khas
yaitu untuk menjaga kestabilan level tegangan dari suatu catu daya yang
digunakan, sehingga dengan suatu pembebanan tertentu maka hasil keluaran dari
Universitas Sumatera Utara
suatu regulator tegangan akan lebih stabil dan mempertahankan level tegangan
tersebut sesuai dengan batasan level tegangan pada tiap regulator sampai batas
maksimum arus yang mampu diberikan oleh keluaran dari suatu regulator
tegangan tersebut.
Sehingga tidak heran apabila suatu perangkat yang telah dilengkapi
regulator tegangan, keluaran masih tetap turun dibawah batas level tegangan
tersebut karena telah melampaui batasan arus listrik yang mampu diberikan oleh
suatu regulator tegangan akibatnya pada komponen regulator tegangan terjadi
panas yang berlebihan (overheat) yang berakibat merusak regulator tegangan itu
sendiri apabila digunakan dalam waktu yang lama.
Biasanya untuk mengantisipasi penurunan tegangan akibat arus listrik
yang dibebankan melebihi dari batasan kemampuan regulator dapat ditambahkan
suatu transistor sebagai penguat arus dengan catatan bahwa arus dari sumber yang
masuk ke regulator harus lebih besar dari batasan arus maksimum regulator
tegangan itu sendiri. Pada regulator tegangan biasanya dibedakan menjadi 2, yaitu
regulator tetap dan regulator yang dapat diubah-ubah.
Regulator tegangan tetap biasanya nilai level tegangan yang diregulasikan
sudah tertera sesuai kode komponen tersebut misal 78xx dimana 'xx' tersebut
merupakan kode tegangan yang mampu diregulasikan normal, bila menginginkan
5 volt maka kode 'xx' tersebut adalah 05 sehingga kode tersebut adalah 7805.
Untuk regulator yang dapat diubah-ubah nilai level tegangan yang akan
diregulasikan dapat diatur melalui mengatur nilai tahanan yang terpasang pada
komponen regulator tersebut dan biasanya digunakan potensiometer untuk
mengaturnya.
Universitas Sumatera Utara
Berikut ini tabel regulator tegangan DC yang memiliki nilai level tegangan tetap
Tabel 2.9. Regulator Tegangan Tetap (DC)
Regulator Positif (0 dan +)
Regulator Negatif (0 dan -)
78xx
79xx
7805
+ 5 Volt
7905
-5 Volt
7806
+ 6 Volt
7906
7809
+ 9 Volt
7909
7810
+ 10 Volt
7910
-10 Volt
7812
+ 12 Volt
7912
-12 Volt
7815
+ 15 Volt
7915
-15 Volt
7824
+ 24 Volt
7924
-24 Volt
78R33
+ 3,3 Volt
-6 Volt
-9 Volt
Berikut ini tabel contoh regulator tegangan tidak tetap.
Tabel 2.10. Regulator Tegangan Tidak Tetap (AC)
Regulator Positif Tidak Tetap (Adjustable)
LM 117
0 – 40 Volt, 1,5 Amp
LM 317
0 – 40 Volt, 1,5 Amp
LM 723
0 – 30 Volt, 150 mA
L 200
2,6 – 36 Volt, 2 Amp
2.6.2. Penyearah (Rectifier)
Prinsip penyearah (rectifier) yang paling sederhana ditunjukkan pada
gambar-1 berikut ini. Transformator diperlukan untuk menurunkan tegangan AC
dari jala-jala listrik pada kumparan primernya menjadi tegangan AC yang lebih
kecil pada kumparan sekundernya.
Universitas Sumatera Utara
Gambar 2.18. Rangkaian Penyearah Sederhana
Pada rangkaian ini, dioda berperan untuk hanya meneruskan tegangan
positif ke beban RL. Ini yang disebut dengan penyearah setengah gelombang (half
wave). Untuk mendapatkan penyearah gelombang penuh (full wave) diperlukan
transformator dengan center tap (CT).
Gambar 2.19. Rangkaian Penyearah Gelombang Penuh
Tegangan positif phasa yang pertama diteruskan oleh D1 sedangkan phasa
yang berikutnya dilewatkan melalui D2 ke beban R1 dengan CT transformator
sebagai common ground.. Dengan demikian beban R1 mendapat suplai tegangan
gelombang penuh seperti gambar di atas. Untuk beberapa aplikasi seperti
misalnya untuk men-catu motor dc yang kecil atau lampu pijar dc, bentuk
tegangan seperti ini sudah cukup memadai. Walaupun terlihat di sini tegangan
ripple dari kedua rangkaian di atas masih sangat besar. Rectifier gelombang penuh
ini menawarkan perbaikan kinerja yang lebih signifikan dari rectifier setengah
Universitas Sumatera Utara
gelombang. Rectifier gelombang penuh tidak saja lebih efisien namun juga hanya
membutuhkan komponen penghalus dan komponen reservoir yang lebib sedikit,
terdapat dua jenis dasar rectifier gelombang penuh yaitu dua-fase dan jenis
rectifier jembatan.
1
T1
3
VAC
2
1
D1
2
C1
R1
4
Gambar 2.20. Rangkaian Penyearah Setengah Gelombang dengan filter C
Gambar 2.21. adalah rangkaian penyearah setengah gelombang dengan
filter kapasitor C yang paralel terhadap beban R. Ternyata dengan filter ini bentuk
gelombang tegangan keluarnya bisa menjadi rata. keluaran tegangan DC dari
rangkaian penyearah setengah gelombang dengan filter kapasitor. Garis b-c kirakira adalah garis lurus dengan kemiringan tertentu, dimana pada keadaan ini arus
untuk beban R1 dicatu oleh tegangan kapasitor. Sebenarnya garis b-c bukanlah
garis lurus tetapi eksponensial sesuai dengan sifat pengosongan kapasitor.
Rectifier setengah gelombang relative tidak efisien penghantarnya hanya terjadi
pada tiap-tipa setengah sikluas positif. Susunan rectifier yang lebih baik akan
memanfaatkan setengah siklus positif dan setengah siklus negative.
2.6.3. Penyearah Dua-Fase
Pada setengah siklus – siklus positif, titik A akan positif terhadap titik B.
sama halnya titik B akan positif pada titik C. dalam kondisi ini D1 akan
Universitas Sumatera Utara
menghantar (anodanya akan positif terhadap katodanya) sedangkan D2 tidak
menhantar (anodanya akan negative terhadap katodanya). Sehingga hanya D1 saja
yang akan menghantar dalam setengah siklus positif. Pada setengah siklus
negative, titik C akan positif terhadap titik B. sama halnya titik B akan positif
terhadap titik A. dalam kondisi ini D2 akan menghantar (anodanya akan positif
terhadap katodanya) sementara D2 akan menghantar (anodanya akan negative
terhadap katodanya). Sehingga hanya D2 saja yang akan menghantar dalam
setengah siklus negative.
D1
T1
A
RL
B
C
D2
Gambar 2.21. Rangkaian Rectifier Dua-Fase
Rectifier dua-fase dengan diode-dioda yang digantikan oleh saklar. D1
diperlihatkan menghantar dalam setengah siklus positif sedangkan D2
diperlihatkan menghantar, hasilnya adalah arus yang dialirkan pada arah yang
sama dalam tiap-tiap setengah siklus yang berurutan. Lebih jauh lagi,arus ini
diperoleh secara bergantian dari kedua gulung lilitan sekundaer. Sebagaiman pada
rectifier setengah gelombang, tindakan pensaklaran kedua diode mengakibatkan
timbulnya tegangan output yang berdenyut pada resistor beban (RL).
Universitas Sumatera Utara
Download