BAB II DASAR TEORI
2.1. Mikrokontroller ATmega 8535 Mikrokontroler
merupakan
suatu
trobosan
teknologi
mikrokontroler
dan
mikrokomputer menjadi kebutuhan pasar dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semikondultor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah yang banyak) sehingga harga menjadi murah (dibandingkan mikroprosesor). Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan pada alat-alat bantu dan mainan yang lebih canggih. Sebagai contoh yang mungkin dapat memberikan gambaran yang jelas dalam penggunaan mikrokontroler adalah pada aplikasi alat ukur tinggi badan otomatis. Umumnya alat ukur tinggi badan masih bersifat manual, dimana pengguna harus menaikkan dan menurunkan sendiri palang atas kepala, dan kemudian membaca penunjukan skalanya. Sementara itu, bagi anak kecil atau orang yang tubuhnya pendek tentu akan kesulitan atau bahkan tidak dapat melakukannya sendiri. Olehkarenanya dengan adanya alat ukur tinggi badan yang berbasis kendali elektronika, orang yang hendak mengetahui tinggi badannya cukup berdiri di depan alat, dan secara otomatis alat tersebut akan mengukur dan menapilkannya pada display, yang semua itu bisa diperoleh dari mikrokontroler yang digunakan. Mikrokontroler adalah suatu keping IC dimana terdapat mikroprosesor dan memori program (ROM) serta memori serbaguna (RAM), bahkan ada beberapa jenis mikrokontroler yang memiliki fasilitas ADC, PPL, EEPROM dalam suatau kemasan. Penggunaan mikrokontroler dalam bidang kontrol sangat luas dan popular. Ada beberapa vendor yang membuat mikrokontroler diantaranya Intel, Microchip, Winbond, Atmel, Philips, Xemics dan lain-lain buatan Atmel. Mikrokontroler Atmega8535 merupakan generasi AVR ( Alf and Vegard’s Risk processor). Mikrokontroler AVR memiliki arsitektur RISC (Reduced Instruction Set Computing) 8 bit, dimana semua instruksi dalam kode 16-bit (16-bit word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. AVR menjalankan sebuah instruksi komponen eksternal dapat dikurangi. Mikrokontroler AVR didesain menggunakan arsitektur
Universitas Sumatera Utara
Harvard, di mana ruang dan jalur bus bagi memori program dipisahkan dengan memori data. Memori program diakses dengan single-level pipelining, di mana ketika sebuah instruksi dijalankan, instruksinya akan di-prefetch dari memori program. 2.1.1.Arsitektur Mikrokontroller ATMega8535
Gambar 2.1.1. Diagram Blok Fungsional ATmega8535 Keterangan Gambar 2.1.1 diatas memperlihatkan bahwa ATmega8535 memiliki bagian sebagai berikut: 1. Saluran I/O sebanyak 32 buah, yaitu PortA, Port B, Port C, dan Port D. 2. ADC 10 bit sebanyak 8 saluran. 3. Tiga buah Timer/Counter dengan kemampuan pembanding 4. CPU yang terdiri atas 32 buah register.
Universitas Sumatera Utara
5. Watchdog Timer dengan osilator internal. 6. SRAM sebesar 512 byte. 7. Memori Flash sebesar 8 Kb dengan kemampuan Read While Write. 8. Unit interupsi internal dan eksternal. 9. Port antarmuka SPI. 10. EEPROM (Electrically Ersable Programmable Read Only Memori) sebesar 512 byte yang diprogram saat operasi. 11. Antarmuka komparator analog. 12. Port USART untuk komunikasi serial dengan kecepatan maksimal 12,5 Mbps. 13. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.
Universitas Sumatera Utara
2.1.2. Konfigurasi Pin ATmega 8535
Gambar 2.2 Konfigurasi Pin ATmega8535 Konfigurasi pin ATmega8535 dapat dilihat pada gambar 2.5 Secara fungsional konfigurasi pin ATmega 8535 sebagai berikut: 1. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya. 2. GND merupakan pin ground. 3. Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC. 4. Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus untuk Timer/Counter, Komparator analog , dan SPI. 5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin khusus untuk TWI, Komparator analog, dan Timer Oscilator. 6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin khusus untuk Komparator analog, Interupsi eksternal, dan Komunikasi serial. 7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroller.
Universitas Sumatera Utara
8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. 9. AVCC merupakan pin masukan tegangan untuk ADC. 10. AREF merupakan pin masukan tegangan referensi ADC. 2.2. LCD (Liquid Crystal Display) Kegunaan LCD banyak sekali dalam perancangan suatu sistem dengan menggunakan menggunakan mikrokontroler, LCD (Liquid Crysral Display) dapat berfungsi untuk menampilakan suatu nilai hasil sensor, menampilakan teks, atau menampilakan menu pada aplikasi mikrokontroler. M1632 merupakan modul LCD matrix dengan konfigurasi 16 karakter dan 2 baris dengan setiap karakternya dibentuk oleh baris pixel dan 5 kolom pixel (1 baris pixel terakhir adalah kursor). Didalam modul M1632 sudah tersedia HD44780 yang dikeluarkan oleh Hitachi, Hyundai dan modul-modul M1632 lainnya. HD44780 sebetulnya merupakan mikrokontroler dirancang khusus untuk mengenendalikan LCD dan mempunyai kemampuan untuk mengatur proses scanning pada layar LCD yang terbentuk oleh 16 COM dan 40 SEG sehingga mikrokontroler/perangkat yang mengakses modul LCD ini tidak perlu lagi mengatur scanning pada layar LCD. Mikrokontroler atau perangkat tersebut hanya mengirim data-data yang merupakan karakter yang akan ditampilkan pada LCD atau perintah yang mengatur proses tampilan pada LCD saja. Adapun konfigurasi dan deskripsi dari pin-pin LCD M1632 antara lain: 1. Pin 1 dihubungkan ke Gnd 2. Pin 2 dihubungkan ke Vcc +5V 3. Pin 3 dihubungkan ke bagian tengan potensiometer 10KOhm sebagai pengatur kontras. 4. Pin 4 untuk membritahukan LCD bahwa sinyal yang dikirim adalah data, jika Pin 4 ini diset ke logika 1 (high, +5V), atau memberitahukan bahwa sinyal yang dikirim adalah perintah jika pin ini di set ke logika 0 (low, 0V). 5. Pin 5 digunakan untuk mengatur fungsi LCD. Jika di set ke logika 1 (high, +5V) maka LCD berfungsi untuk menerima data (membaca data). Dan fungsi untuk mengeluarkan data, jika pin ini di set ke logika 0 (low, 0V). Namun kebanyakan
Universitas Sumatera Utara
aplikasi hanya digunakan untuk menerima data, sehingga pin 5 ini selalu dihubungkan ke Gnd. 6. Pin 6 adalah terminal enable. Berlogika 1 setiap kali pengiriman atau pembaca data. 7. Pin 7 – Pin 14 adalah data 8 bit data bus (Aplikasi ini menggunakan 4 bit MSB saja, sehingga pin data yang digunkan hanya Pin 11 – Pin 14). 8. Pin 15 dan Pin 16 adalah tegangan untuk menyalakan lampu LCD. Adapun gambar dari LCD 2x16 adalah sebagai berikut:
Gambar 2.3 Struktur Memori LCD Modul LCD M1632 memilki beberapa jenis memori yang digunakan untuk menyimpan atau memproses data-data yang ditampilkan pada layar LCD. Setiap memori mempunyai fungsi-fungsi tersendiri: a. DDRAM DDRAM merupakan memori tempat karakter yang ditampilkan berada. Contohnya karakter ‘A’ atau 41h yang ditulis pada alamat 00 akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut di alamat 40h, karakter tersebut akan tampil pada baris kedua kolom pertama darai LCD. b. CGRAM CGRAM merupakan memori untuk menggambarkan pola seluruh karakter dan bentuk karakter dapat diubah-ubah sesuai keinginan. Akan tetapi isi memori akan hilang saat power supplay tidak aktif sehingga pola karakter akan hilang. c. CGROM Adalah memori untuk menggambarkan pola sebuah karakter dan pola tersebut ditentukan secara permanen dari HD44780 sehingga pengguna tidak dapat menubah lagi. Oleh karena
Universitas Sumatera Utara
ROM bersifat permanen, pola karakter tersebut akan hilang walaupun power supplay tidak aktif. 2.3. Transistor Sebagai Saklar Didalam pemakaiannya transistor dipakai sebagai komponen saklar (switching) dengan memanfaatkan daerah penjenuhan (saturasi) dan daerah penyumbatan (cut off) yang ada pada karakteristik transistor. Pada daerah penjenuhan nilai resistansi persambungan kolektor emiter secara ideal sama dengan nol atau kolektor dan emiter terhubung langsung (short). Keadaan ini menyebabkan tegangan kolektor emiter (VCE) = 0 Volt pada keadaan ideal, tetapi pada kenyataannya VCE bernilai 0 sampai 0,3 Volt. Dengan menganalogikan transistor sebagai saklar, transistor tersebut dalam keadaan on seperti pada gambar 2.10
Vcc
Vcc IC
RB VB
VCE IB
R Saklar On
VBE
Gambar 2.4. Transistor sebagai Saklar On Saturasi pada transistor terjadi apabila arus pada kolektor menjadi maksimum dan untuk mencari besar arus basis agar transistor saturi adalah :
I max
Vcc ……………………………………………..…………….(2.13) Rc
hfe . I B IB
Vcc ………………………………………….…………….(2.14) Rc
Vcc ………………………………………………………….(2.15) hfe . Rc
Universitas Sumatera Utara
Hubungan antara tegangan basis (VB) dan arus basis (IB) adalah :
IB
VB VBE …………………………………………………….(2.16) RB
VB = IB . RB + BE…………………………………………………..(2.17) VB
Vcc . R B VBE ………………………………………………(2.13) hfe . Rc
Jika tegangan VB telah mencapai VB
Vcc . R B VBE , maka transistor akan saturasi, hfe . Rc
dengan Ic mencapai maksimum. Gambar 2.2.2 dibawah ini menunjukkan apa yang dimaksud dengan VCE (sat) adalah harga VCE pada beberapa titik dibawah knee dengan posisi tepatnya ditentukan pada lembar data. Biasanya VCE (sat) hanya beberapa perpuluhan volt, walaupun pada arus kolektor sangat besar bisa melebihi 1 volt. Bagian dibawah knee pada gambar 2.2.2 dikenal sebagai daerah saturasi.
IC Penjenuhan (saturation)
Vcc Rc
IB > IB (sat) IB = IB (sat) IB
IB = 0
Titik Sumbat (Cut off)
VCE
Gambar 2.5 Karakteristik daerah saturasi pada transistor Pada daerah penyumbatan,nilai resistansi persambungan kolektor emiter secara ideal sama dengan tak terhitung atau terminal kolektor dan emiter terbuka (open).
Universitas Sumatera Utara
Keadaan ini menyebabkan tegangan (VCB) sama dengan tegangan sumber (Vcc). Tetapi pada kenyataannya Vcc pada saat ini kurang dari Vcc karena terdapat arus bocor dari kolektor ke emiter. Dengan menganalogikan transistor sebagai saklar, transistor tersebut dalam keadaan off seperti gambar dibawah ini.
Vcc
Vcc IC
RB VB
VCE IB
R Saklar Off
VBE
Gambar 2.6.Transistor Sebagai Saklar OFF Keadaan penyumbatan terjadi apabila besar tegangan habis (VB) sama dengan tegangan kerja transistor (VBE) sehingga arus basis (IB) = 0 maka :
IB
IC ………………………………………………………………(2.19) hfe
IC = IB . hfe ….………………………………………………………(2.20) IC = 0 . hfe ………..…………………………………………………(2.21) IC = 0 ………………………………………………………………..(2.22) Hal ini menyebabkan VCE sama dengan Vcc dapat dibuktikan dengan rumus : Vcc
= Vc + VCE ………..…………………………………………(2.23)
VCE
= Vcc – (Ic . Rc) ..……………………………………………(2.24)
VCE
= Vcc ..………………………………………………………(2.25)
2.4. Sinar Infra Merah Infra merah (infra red) ialah sinar elektromagnet yang panjang gelombangnya lebih dari pada cahaya tampak yaitu diantara 700 nm. Sinar infra merah merupakan cahaya yang tidak tampak. Jika dilihat dengan spektroskop cahaya maka radiasi cahaya infra merah akan nampak pada spektrum elektromagnet dengan panjang gelombang diatas panjang gelombang
Universitas Sumatera Utara
cahaya merah. Dengan panjang gelombang ini maka cahaya infra merah ini akan tidak tampak oleh mata namun radisi panas yang ditimbulkannya masih terasa / dideteksi. Infra merah dapat dibedakan menjadi tiga daerah yakni: Near Infra red…………….0.75 - 1.5 mikrometer Mid Infra red……………..1.50 – 10 mikrometer Far Infra red……………...10 – 100 mikrometer Contoh aplikasi sederhana untuk far infra red adalah terdapat pada alat-alat kesehatan. Sedangkan untuk mid infra red pada alat ini untuk sensor alarm biasa, sedangkan near infra red digunakan untuk pencitraan pandangan malam seperti pada nightscoop. Penggunaan infra merah sebagai media transmisi data mulai diaplikasikan pada berbagai peralatan elektronik seperti pada televisi, handphone sampai pada transfer data pada PC. Media infra merah ini dapat digunakan baik untuk kontrol aplikasi lain maupun transmisi data (temperatur). Sifat-sifat cahaya infra merah : 1. Tidak tampak manusia 2. Tidak dapat menembus materi yang tidak tembus pandang 3. Dapat ditimbulkan oleh komponen yang menghasilkan panas. Komunikasi Infra merah dilakukan dengan menggunakan dioda infra merah sebagai pemancar dan modul penerima infra merah sebagai penerimanya. Untuk jarak yang cukup jauh, kurang lebih tiga sampai lima meter, pancaran data infra merah harus dimodulasikan terlebih dahulu untuk menghindari kerusakan data akibat noise Saat ini telah dikenal berbagai macam gelombang elektromagnetik dengan rentang panjang gelombang tertentu. Spektrum elektromagnetik merupakan kumpulan spectrum dari berbagai panjang gelombang. Berdasarkan pembagian daerah panjang gelombang, sinar inframerah dibagi dalam 3 daerah, yaitu: 1. Daerah inframerah dekat dengan panjang gelombang 0,75 micrometer – 2,5 micrometer. 2. Daerah inframerah pertengahan dengan panjang gelombang 2,5 micrometer – 50 micrometer. 3. Daerah inframerah jauh dengan panjang gelombang 50 micrometer – 1000 micrometer.
Universitas Sumatera Utara
Spektrum sinar matahari terdiri dari sinar tampak dan sinar tidak tampak. Dimana sinar tampak meliputi: merah, orange, kuning, hijau, biru, dan ungu. Sinar yang tidak tampak antara lain: sinar ultraviolet, sinar – X, sinar gamma, sinar kosmik, microwave, gelombang listrik dan sinar inframerah. Gelombang elektromagnetik diantara sinar tampak dan sinar microwave dinamakan sinar inframerah, dengan karakteristik adalah tidak kasat mata atau tidak terlihat, bersifat linier atau menyebar, refraktif atau dapat dipantulkan dan dapat diserap oleh beberapa obyek. Dibawah ini terdapat gambar berdasarkan pembagian panjang gelombang, yaitu:
Gambar 2.7. Karakteristik Spektrum Elektromagnetik Dari pembagian daerah spektrum elektromagnetik tersebut diatas, daerah panjang gelombang yang digunakan pada alat spektrofotometer infra merah adalah pada daerah infra merah pertengahan, yaitu pada panjang gelombang 2,5 μm – 50 μm atau pada bilangan gelombang 4.000 – 200 cm.
Universitas Sumatera Utara
Gelombang elektromagnetik diantara sinar tampak dan sinar microwave dinamakan sinar inframerah, dengan karakteristik adalah tidak kasat mata atau tidak terlihat, bersifat linier atau menyebar, refraktif atau dapat dipantulkan dan dapat diserap oleh beberapa obyek. Daerah N pada saat LED dibias maju [3]. Selama perubahan energi ini, proton akan dibangkitkan, sebagian akan diserap oleh bahan semikonduktor dan sebagian lagi akan dipancarkan sebagai energi cahaya. Tingkatan energidari proton dinyatakan dengan persamaan dibawah ini: λ E=hc dimana: E adalah energi dalam elektron volt c dalah kecepatan cahaya λ adalah panjang gelombang h adalah konstanta Plank (6,62.10 −34 Js) Infra merah yang digunakan sebagai transmisi data dalam artikel ini hanya memanfaatkan pancaran cahaya infra merah. Jika LED infra merah memancarkan cahaya berarti datanya dianggap 1, sedangkan jika LED infra merah tidak memancarkan cahaya berarti datanya adalah 0. 2.5. Kapasitor Kapasitor adalah komponen elektronika yang dapat menyimpan muatan listrik. Struktur sebuah kapasitor terbuat dari 2 buah plat metal yang dipisahkan oleh suatu bahan dielektrik. Bahan-bahan dielektrik yang umum dikenal misalnya udara vakum, keramik, gelas dan lain-lain. Jika kedua ujung plat metal diberi tegangan listrik, maka muatan-muatan positif akan mengumpul pada salah satu kaki elektroda metalnya dan pada saat yang sama muatanmuatan negatif terkumpul pada ujung metal yang satu lagi. Muatan positif tidak dapat mengalir menuju ujung kutup negatif dan sebaliknya muatan negatif tidak bisa menuju ke ujung kutup positif karena terpisah oleh bahan elektrik yang non-konduktif. Muatan elektrik ini “tersimpan” selama tidak ada konduktif pada ujung- ujung kakinya. Di alam bebas phenomena kapasitor terjadi pada saat terkumpulnya muatan-muatan positif dan negatif diawan.
Universitas Sumatera Utara
dielektrik Elektroda
Elektroda
Gambar 2.8. Skema kapasitor.
Kapasitor merupakan komponen pasif elektronika yang sering dipakai didalam merancang suatu sistem yang berfungsi untuk mengeblok arus DC, Filter, dan penyimpan energi listrik. Didalamnya 2 buah pelat elektroda yang saling berhadapan dan dipisahkan oleh sebuah insulator. Sedangkan bahan yang digunakan sebagai insulator dinamakan dielektrik. Ketika kapasitor diberikan tegangan DC maka energi listrik disimpan pada tiap elektrodanya. Selama kapasitor melakukan pengisian, arus mengalir. Aliran arus tersebut akan berhenti bila kapasitor telah penuh. Yang membedakan tiap - tiap kapasitor adalah dielektriknya. Berikut ini adalah jenis– jenis kapasitor yang dipergunakan dalam perancangan ini. 2.5.1. Electrolytic Capacitor (ELCO)
Gambar 2.9. Electrolytic Capacitor (ELCO) Elektroda dari kapasitor ini terbuat dari alumunium yang menggunakan membrane oksidasi yang tipis. Karakteristik utama dari Electrolytic Capacitor adalah perbedaan polaritas pada kedua kakinya. Dari karakteristik tersebut kita harus berhati – hati di dalam pemasangannya pada rangkaian, jangan sampai terbalik. Bila polaritasnya terbalik maka akan menjadi rusak bahkan meledak. Biasanya jenis kapasitor ini digunakan pada rangkaian power supply. Kapasitor ini tidak bisa digunakan pada rangkaian frekuensi tinggi. Biasanya tegangan kerja dari kapasitor dihitung dengan cara mengalikan tegangan catu daya dengan 2.
Universitas Sumatera Utara
Misalnya kapasitor akan diberikan catu daya dengan tegangan 5 Volt, berarti kapasitor yang dipilih harus memiliki tegangan kerja minimum 2 x 5 = 10 Volt. 2.5.2 Ceramic Capacitor Kapasitor menggunakan bahan titanium acid barium untuk dielektriknya. Karena tidak dikonstruksi seperti koil maka komponen ini dapat digunakan pada rangkaian frekuensi tinggi. Biasanya digunakan untuk melewatkan sinyal frekuensi tinggi menuju ke ground. Kapasitor ini tidak baik digunakan untuk rangkaian analog, karena dapat mengubah bentuk sinyal. Jenis ini tidak mempunyai polaritas dan hanya tersedia dengan nilai kapasitor yang sangat kecil dibandingkan dengan kedua kapasitor diatas.
Gambar 2.10. Ceramic Capacitor 2.5.3 Nilai Kapasitor Untuk mencari nilai dari kapasitor biasanya dilakukan dengan melihat angka/kode yang tertera pada badan kapasitor tersebut. Untuk kapasitor jenis elektrolit memang mudah, karena nilai kapasitansinya telah tertera dengan jelas pada tubuhnya. Sedangkan untuk kapasitor keramik dan beberapa jenis yang lain nilainya dikodekan. Biasanya kode tersebut terdiri dari 4 digit, dimana 3 digit pertama merupakan angka dan digit terakhir berupa huruf yang menyatakan toleransinya. Untuk 3 digit pertama angka yang terakhir berfungsi untuk menentukan 10n, nilai n dapat dilihat pada tabel dibawah.
Universitas Sumatera Utara
Tabel 1. Nilai Kapasitor Misalnya suatu kapasitor pada badannya tertulis kode 474J, berarti nilai kapasitansinya adalah 47 + 104 = 470.000 pF = 0.47µF sedangkan toleransinya 5%. Yang harus diingat didalam mencari nilai kapasitor adalah satuannya dalam pF (Pico Farad). 2.6. Resistor Resistor komponen pasif elektronika yang berfungsi untuk membatasi arus listrik yang mengalir. Berdasarkan kelasnya resistor dibagi menjadi 2 yaitu : Fixed Resistor dan Variable R esistor Dan umumnya terbuat dari carbon film atau metal film, tetapi tidak menutup kemungkinan untuk dibuat dari material yang lain. Pada dasarnya semua bahan memiliki sifat resistif namun beberapa bahan tembaga perak emas dan bahan metal umumnya memiliki resistansi yang sangat kecil. Bahan–bahan tersebut menghantar arus listrik dengan baik, sehingga dinamakan konduktor. Kebalikan dari bahan yang konduktif, bahan material seperti karet, gelas, karbon memiliki resistansi yang lebih besar menahan aliran elektron dan disebut sebagai insulator. 2.7. Fotodioda Pengertian merupakan piranti semikonduktor dengan struktur p-n atau p-i-n untuk mendeteksi cahaya. Fotodioda biasanya digunakan untuk mendeteksi cahaya. Fotodioda adalah piranti semikonduktor yang mengandung sambungan p-n, dan biasanya terdapat lapisan intrinsik antara lapisan n dan p. Piranti yang memiliki lapisan intrinsik disebut p-i-n atau PIN fotodioda. Cahaya diserap di daerah penggambungan atau daerah intrinsik
Universitas Sumatera Utara
menimbulkan pasangan elektron-hole, kebanyakan pasangan tersebut menghasilkan arus yang berasal dari cahaya. Fotodioda dapat dioperasikan dalam 2 mode yang berbeda: 1. Mode fotovoltaik: seperti solar sel,
penyerapan pada fotodioda menghasilkan
tegangan yang dapat diukur. Bagaimanapun, tegangan yang dihasilkan dari tenaga cahaya ini sedikit tidak linier, dan range perubahannya sangat kecil. 2. mode fotokonduktivitas : disini, fotodioda diaplikasikan sebagai tegangan revers (tegangan balik) dari sebuah dioda (yaitu tegangan pada arah tersebut pada dioda tidak akan menhantarkan tanpa terkena cahaya) dan pengukuran menghasilkan arus foto. ( hal ini juga
bagus untuk mengaplikasikan tegangan mendekati nol).
Ketergantungan arus foto pada kekuatan cahaya dapat sangat linier . Karakteristik bahan fotodioda: 1. silikon (Si) : arus lemah saat gelap, kecepatan tinggi, sensitivitas yang bagus antara 400 nm sampai 1000 nm ( terbaik antara 800 sampai 900 nm). 2. Germanium (Ge): arus tinggi saat gelap, kecepatan lambat, sensitivitas baik antara 600 nm sampai 1800 nm (terbaik 1400 sampai 1500 nm). 3. Indium Gallium Arsenida (InGaAs): mahal, arus kecil saat gelap, kecepatan tinggi sensitivitas baik pada jarak 800 sampai 1700nm (terbaik antara 1300 sampai 1600nm).
Gambar 2.11. Fotodioda 2.8. Bahasa BASIC Menggunakan BASCOM-AVR BASCOM-AVR adalah program BASIC Compiler berbasis Windows untuk mikrokontroler keluarga AVR seperti ATmega, dan yang lainnya. BASCOM-AVR merupakan program dengan bahasa tingkat tinggi BASIC yang dikembangkan dan dikeluarkan oleh MCS Elektronika.
Universitas Sumatera Utara
2.8.1 Karakteristik Dalam BASCOM Dalam progrm BASCOM, karakter dasarnya terdiri atas karakter alphabel (A-Z dan az), karakter numeric (0-9), dan karakter spesial (lihat tabel dibawah ini). karakter
Nama Blank
‘
Apostrophe
*
Asterisk (symbol perkalian)
+
Plus sign
,
Comma
-
Minus sign
.
Period (decimal point)
/
Slash (division symbol) will be handled as\
:
Colon
“
Double quotation mark
;
Semicolon
<
Less than
=
Equal sign (assignment symbol or relational operator)
>
Greater than
\
Backspace (integer or word division symbol) Tabel 1.1 Karakter Spesial
2.8.2 Tipe Data Setiap variabel dalam BASCOM memiliki tipe data yang menunjukkan daya tampungannya. Hal ini berhubungan denga penggunaan memori mikrokontroler. Berikut ini adalah tipe data pada BASCOM berikut keterangannya :
Universitas Sumatera Utara
Tipe Data
Ukuran (byte)
Range
Bit
1/8
-
Byte
1
0 – 255
Integer
2
-32,768 - +32,767
Word
2
0 – 65535
Long
4
-214783648 - +2147483647
Single
4
-
String
hingga 254 byte
-
Tabel 1.2 Tipe data BASCOM 2.8.3 Variabel Variabel dalam sebuah pemrograman berfungsi sebagai tempat penyimpanan atau penampungan data sementara, misalnya menampung hasil perhitungan, menampung data hasil pembacaan register, dan lainnya. Variabel merupakan pointer yang menunjukkan pada alamat memori fisik dan mikrokontroler. Dalam BASCOM, ada beberapa aturan dalam penamaan sebuah variabl: a. Nana variabel maksimum terdiri atas 32 karakter. b. Karakter bisa berupa angka atau huruf. c. Nama variabel harus dimula dengan huruf. d. Variabel tidak boleh menggunkan katae. kata yang digunakan oleh BASCOM sebagai perintah, pernyataan, internal register, dan nama operator (AND, OR, DIM, dan lain-lain) Sebelum digunakan maka variabel harus dideklarasikan terlebih dahu. Dalam BASCOM, ada beberapa cara untuk mendeklarasikan sebuah variabel. Cara pertama adalah menggunakan pernyataan ‘DIM’ diikuti nama tipe datanya. Contohnya pendeklarasian menggunkan DIM sebagai berikut: Dim nama as byte Dim tombol1 as integer Dim tombol2 as word
Universitas Sumatera Utara
Dim tombol3 as word Dim tombol4 as word Dim Kas as string*10 2.8.4 Alias Dengan menggunkan alias, variabel yang sama dapat diberikan nama yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias digunakan untuk mengganti nama variabel yang baku, seperti port mikrokontroler. Dim LedBar as byte Led1 as LedBar.0 Led2 as LedBar.1 Led3 as LedBar.2 Dalam deklarasi diatas, variabel yang sama dapat diberikan nama yang lain. Tujuannya adalah mempermudah proses pemrograman. Umumnya, alias digunakan untuk mengganti nama variabel yang baku, seperti port mikrokontroler. Dim LedBar as byte Led1 as LedBar.0 Led2 as LedBar.1 Led3 as LedBar. 2.8.5 Konstanta Dalam BASCOM, selain variabel kita mengenal pula konstanta. Konstansa merupakan variabel pula, perbedaannya dengan variabel adalah nilai yang terkandung tetap. Dengan konstanta, kode program yang kita buat akan lebih mudah dibaca dan dapat mencegah kesalahan penulisan pada program kita. Misalnya, kita akan lbih mudah menulis phi dari pada menulis 3,14159867. Sama seperti variabel, agar konstanta bisa dikenal oleh program, maka harus dideklarasikan terlebih dahulu. Berikut adalah pendeklarasikan sebuah konstanta. Dim A As Const 5 Dim B1 As Const &B1001 Cara lain yang paling mudah: Const Cbyte = &HF Const Cint = -1000 Const Csingle = 1.1
Universitas Sumatera Utara
Const Cstring = “test” 2.8.6 Array Dengan array, kita bisa menggunakan sekumpulan variabel dengan nama dan tipe yang sama. Untuk mengakses variabel tertentu dalam array, kita harus menggunakan indeks. Indeks harus berupa angka dengan tipe data byte, integer, atau word. Artinya nilai maksimal sebuah indeks sebesar 65535. Proses pendeklarasikan sebuah array hampir sama dengan variabel, namun perbedaannya kita mengikuti jumlah elemennya. Berikut adalah contoh pemakaian array: Dim kelas(10) as byte Dim c as Integer For C = 1 To 10 a(c) = c p1 = a(c) Next Program diatas membuat sebuah array dengan nama ‘kelas’ yang berisi 10 elelmen (1-10) dan kemudian seluruh elemennya diisikan dengan nilai c yang berurutan. Untuk pembacanya kita menggunakan indeks dimana elemen disimpan. Pada program diatas, elemen-elemen arraynya dikeluarkan ke Port 1 dari mikrokontroler.
2.8.7 Operasi-Operasi Dalam BASCOM Pada bagian ini akan dibahas tentang cara menggabungkan, memodifikasi, membandingkan, atau mendapatkan informasi tentang sebuah pernyataan dengan menggunkan operator-operator yang tersedia di BASCOM dan bagaimana sebuah pernyataan terbentuk dan dihasilkan dari operator-operator berikut: a. Operator Aritmatika Operator digunakan dalam perhitungan aritmatika meliuti + (tambah), - (kurang), / (bagi), dan * (kali).
Universitas Sumatera Utara
b. Operator Relasi Operator berfungsi membandingkan nilai sebuah angka. Hasilnya dapat digunakan untuk membuat keputusan sesuai dengan program yang kita buat. Operator relasi meliputi: Operator Relasi
Pernyataan
=
Sama dengan
X=Y
<>
Tidak sama dengan
X <> Y
<
Lebih kecil dari
X
>
Lebih besar dari
X>Y
<=
Lebih kecil atau sama dengan
X <= Y
>=
Lebih besar atau sama dengan
X >= Y
Tabel 1.3 Tabel Operator Relasi c. Operator Logika Operator logika digunakan untuk menguji sebuah kondisi atau memanipulasi bit dan operasi bolean. Dalam BASCOM, ada empat buah operator logika, yaitu AND, OR , NOT, dan XOR.
d.
Operator Fungsi
e.
Operator fungsi digunakan untuk melengkapi operator yang sederhana.
2.8.8
Aplikasi BASCOM dengan LCD Salah satu kelebihan yang dimiliki oleh BASCOM adalah programnya yang
menyediakan rutin-rutin khusus untuk menampilkan karakter menggunakan LCD. Bahkan kita pun dapat membuat karakter special dengan fasilitas LCD designer. Antarmauka antara LCD dengan ATmega8535 menggunakan mode antarmuka 4 bit. Selain lebih hemat I/O, mode demikian mempermudah proses pembuatan PCB-nya. Program berikut akan menjalankan beberapa perintah berkenan dengan LCD $regfile = “m8535.dat” $crystal = 4000000
Universitas Sumatera Utara
dim x as byte config LCD = 16*2 Cursor off do X = 100 Cls Lcd “namaku Fajar” Lowerline Lcd “Nilaiku selalu”; x Wait 1
Cls Lcd “<<<< Hebat >>>>” For x=1 to 16 Shiftlcd left next For x=1 to 32 Shiftlcd right Waitms 200 Next x = 100 cls lcd hex x loop penjelasan programnya sebagai berikut: a.
Dim x As Byte
Pernyataan di atas merupakan pendeklarasian variabel c/x dengan ukuran byte. b.
Config LCD = 16 * 2 Oleh karana itu konfigurasi pendeklarasikannya delisting program yang kita
buat
seperti dikontrolkan diatas. c.
CLS
Universitas Sumatera Utara
Perintah CLS berfungsi membersihkan atau mengosongkan tampilan LCD. d.
Lowerline Perintah berfungsi memindahkan kursor ke baris bawah. Karena LCD yang digunakan adalah LCD 2x16, maka LCD memilih 2 baris dan kolom.
e.
X = 100
Lcd “namaku Fajar” Lowerline Lcd “Nilaiku selalu”; x Ketika kita menjalankan perintah di atas, maka keluarannya adalah: Nama Fajar Nilaiku selalu 100 Contoh
tersebut
menunjukkan
bahwa
kita
dapat
menampilkan
isi
sebuah
variabel menggunakan LCD hanya dengan menulis. f. Shift LCD left/right Perintah digunakan untuk menggeser tampilan LCD ke kiri atau ke kanan sebanyak 1 langkah. Perintah berguna untuk menampilkan kalimat yang panjang dan membuat animasi LCD. g. Lcdhex xPerintah berfungsi mengirim isi sebuah variabel LCD dalam format hexadecimal. Jika ingin menjalankan program, maka hasilnya 64 .
Universitas Sumatera Utara