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