LUX METER DIGITAL BERBASIS MIKROKONTROLER
ATMEGA8535
TUGAS AKHIR
ELDA BELINA P
072408008
PROGRAM STUDI D-III FISIKA INSTRUMENTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
LUX METER DIGITAL BERBASIS MIKROKONTROLER ATMEGA8535
TUGAS AKHIR
Diajukan untuk melengkapi syarat memperoleh gelar Ahli Madya
ELDA BELINA P 072408008
PROGRAM STUDI D-III FISIKA INSTRUMENTASI DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
JUDUL : LUX METER DIGITAL BERBASIS
MIKROKONTROLER ATMEGA8535
KATEGORI : TUGAS AKHIR
NAMA : ELDA BELINA P
NIM : 072408008
PROGRAM STUDI : DIPLOMA III FISIKA INSTRUMENTASI
DEPARTEMEN : FISIKA
FAKULTAS : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM
Diluluskan di : Medan, Juni 2010
Diketahui :
Departemen Fisika FMIPA USU Pembimbing
Ketua Program Studi D – III FIN
Drs. Syahrul Humaidi, M.Sc Tua Raja Simbolon, S.Si, M.Si
PERNYATAAN
LUX METER DIGITAL BERBASIS MIKROKONTROLER ATMEGA8535
TUGAS AKHIR
Saya mengakui bahwa Tugas Akhir ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.
Medan, Juni 2010
PENGHARGAAN
Puji dan Syukur penulis sampaikan kepada Tuhan Yang Maha Kuasa karena atas berkat kasih dan karunia-Nya, Tugas Akhir ini berhasil diselesaikan dalam waktu yang ditetapkan.
Ucapan terimakasih saya sampaikan kepada Bapak Tua Raja Simbolon, S.Si, M.Si, selaku pembimbing pada penyelesaian tugas akhir ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan tugas akhir ini. Ucapan terimakasih juga ditujukan kepada Ketua dan Sekretaris Departemen Dr. Marhaposan Situmorang, M.Sc dan Drs. Justinon, M.Si, Ketua Jurusan Drs. Syahrul Humaidi, M.Sc, Dekan dan Pembantu Dekan Fakultas Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua Dosen pada Departemen Fisika FMIPA USU, pegawai di FMIPA USU.
Akhirnya tidak terlupakan kepada Ayahanda T. Perangin-angin dan Ibunda R. Sembiring atas doa, kasih sayang serta bantuan yang berupa materi maupun nonmateri yang telah diberikan kepada penulis selama ini, serta Kakak saya Astrid Perangin-Angin, dan Adik saya Andi Perangin-angin, yang selama ini memberikan bantuan dan dorongan kepada penulis. Juga teman-teman WALANG 07 yang banyak membantu serta rekan – rekan seperjuangan khususnya Program Studi D-III Fisika Instrumentasi stambuk 2007.
ABSTRAK
BAB 3 PERANCANGAN ALAT DAN PROGRAM
4.3 Pengujian Rangkaian Minimum Mikrokontroller Atmega8535 45
4.4 Pengujian Rangkaian LCD ( Liquid Crystal Display ) 47
4.5 Pengujian Intensitas Cahaya Lux meter Berbasis ATmega8535 Dengan Lux Meter Komersial 49
BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan 53
5.2 Saran 54
DAFTAR TABEL
Halaman
Tabel 2.1 Karakter Spesial BASCOM 20
Tabel 2.2 Tipe Data BASCOM 21
Tabel 2.3 Tabel Operator Relasi 26
Tabel 4.1 Hasil pengukuran Sensor LDR 43
Tabel 4.2 Hasil Pengukuran Intensitas Cahaya di Luar Ruangan 50
ABSTRAK
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Pada zaman modern seperti sekarang ini, selain untuk meringankan kerja
manusia, alat-alat yang digunakan oleh manusia diharapkan mempunyai nilai lebih
daripada meringankan kerja manusia. Nilai lebih itu antara lain adalah kemampuan
alat tersebut untuk menghemat tenaga dan waktu yang diperlukan manusia dalam
melakukan suatu kegiatan.
Pada saat ini diperlukan suatu alat untuk mengetahui nilai intensitas cahaya
dimana nilai tersebut dapat dilihat dalam bentuk digital sehingga dapat dengan mudah
mengukur nilai intensitas cahaya. Salah satu manfaat yang diperlukan untuk
mengetahui nilai intensitas cahaya yaitu pada suatu ruangan yang membutuhkan
kondisi ruangan yang memiliki nilai intensitas cahaya yang sudah disesuaikan terlebih
dahulu. Untuk itu diperlukan alat untuk mengetahui seberapa besar nilai intensitas
cahaya yang diukur. Contoh lain ialah pada lokasi yang memiliki intensitas cahaya
ukur intensitas cahaya agar dapat mengetahui berapa besar nilai intensitas cahayanya
sehingga tidak mempengaruhi kondisi mata.
Oleh karenanya perlu dirintis pembuatan alat ukur intensitas cahaya yang
berbasis kendali elektronika. Untuk mengetahui berapa besar intensitas cahaya cukup
meletakkan rangkaian LDR pada suatau tempat atau objek yang kita inginkan dan
dikendalikan dengan menggunakan mikrokontroler ATmega8535 maka secara
otomatis alat tersebut akan mengukur dan menampilkan hasilnya pada display.
1.2 Rumusan Masalah
Berdasarkan uraian yang terdapat pada latar belakang di atas, maka dalam laporan
Tugas akhir ini dapat diidentifikasikan beberapa masalah yang perlu diperhatikan
sebagai berikut:
1. Diperlukan suatu sistem pengukuran intensitas cahaya
2. Diperlukan sensor yang dapat mengukur intensitas cahaya.
3. Diperlukan mikrokontroler sebagai pengendali rangkaian
4. Diperlukan sarana untuk menyampaikan kepada pemakai nilai dari intensitas
cahaya yang terukur.
5. Pada setiap pembuatan suatu alat ukur harus mempertimbangkan ketelitian dan
1.3 Tujuan Penulisan
Adapun tujuan dari penulisan Tugas Akhir ini adalah sebagai berikut:
1. Membuat suatu sistem (perangkat keras dan perangkat lunak) pada alat ukur
lux meter digital berbasis mikrokontroler ATmega8535.
2. Mengetahui prinsip kerja alat ukur lux meter digital berbasis mikrokontroler
ATmega8535.
1.4 Batasan Masalah
Penulisan Laporan Tugas Akhir ini dibatasi pada:
1. Menggunakan sensor cahaya yaitu LDR (Light Dependent Resistor).
2. Menggunakan mikrokontroler ATmega8535 sebagai pengendali utama
3. Menggunakan LCD M1632 sebagai penampil hasil pengukuran.
1.5 Sistematika Penulisan
Agar Tugas akhir ini lebih mengarah pada permasalahan dan membuat keteraturan
dalam penyusunan dan penulisannya maka dibuat dalam beberapa bab, sebagai
BAB 1. PENDAHULUAN
Bab ini meliputi latar belakang masalah, rumusan masalah maksud dan
tujuan dari penulisan, batasan masalah, dan sistematika penulisan.
BAB 2. DASAR TEORI
Dalam bab ini dijelaskan tentang teori pendukung yang digunakan
untuk pembahasan dan cara kerja dari rangkaian. Teori pendukung itu
antara lain tentang mikrokontroler ATmega8535 (hardware dan
software), bahasa program yang digunakan, serta cara kerja dari
rangkaian penerima.
BAB 3. PERANCANGAN ALAT DAN PROGRAM
Dalam bab ini ,eliputi perancangan dari alat, yaitu diagram blok dari
rangkaian, skematik dari masing-masing rangkaian dan diagram alir
dari program yang akan diisikan ke dalam mikrokontroler
ATmega8535.
BAB 4. PENGUJIAN ALAT DAN PROGRAM
Pada bab ini akan dibahas hasil dari analisa rangkaian dan sistem kerja
alat, penjelasan mengenai program-program yang digunakan untuk
mengaktifkan rangkaian, dan penjelasan mengenai program yang
BAB 5. KESIMPULAN DAN SARAN
Bab ini merupakan penutup yang meliputi tentang kesimpulan yang
didapat setelah merakit proyek ini dan saran yang diberikan demi
kesempurnaan dan pengembangan proyek ini pada massa yang akan
datang.
BAB 2
DASAR TEORI
2.1 Perangkat Keras
2.1.1 LDR (Light Dependent Resistor)
LDR (Light Dependent Resistant) merupakan suatu jenis resistor yang nilai
resistansinya berubah-ubah karena adanya intensitas cahaya yang diserap. LDR
dibentuk dari Cadium Sulfide (CDS) yang mana Cadium Sulfide dihasilkan dari
serbuk keramik. Prinsip kerja LDR ini pada saat mendapatkan cahaya maka
tahanannya turun, sehingga pada saat LDR mendapatkan kuat cahaya terbesar maka
tegangan yang dihasilkan adalah tertinggi.
Pada saat gelap atau cahaya redup, bahan dari cakram pada LDR menghasilkan
elektron bebas dengan jumlah yang relatif kecil. Sehingga hanya ada sedikit elektron
untuk mengangkut muatan elektrik. Artinya pada saat cahaya redup LDR menjadi
pengantar arus yang kurang baik, atau bisa disebut juga LDR memiliki resistansi yang
besar pada saat gelap atau cahaya redup. Pada saat cahaya terang, ada lebih banyak
banyak elektron untuk mengangkut muatan elektrik. Artinya pada saat cahaya terang
LDR menjadi konduktor atau bisa disebut juga LDR memilki resistansi yang kecil
pada saat cahaya terang. Simbol LDR seperti ditunjukan pada Gambar 2.1, sedangkan
Gambar 2.2 menunjukkan grafik hubungan antara resistansi dan intensitas cahaya.
Gambar 2.1 Simbol LDR
LDR digunakan untuk mengubah energi cahaya menjadi energi listrik. Saklar
cahaya otomatis adalah salah satu contoh alat yang menggunakan LDR. Akan tetapi
karena responsnya terhadap cahaya cukup lambat, LDR tidak digunakan pada situasi
dimana intesitas cahaya berubah secara drastis.
Gambar 2.3 LDR (Light Dependent Resistor)
2.1.2 Mikrokontroler ATmega8535
2.1.2.1 Gambaran Umum
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
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 Harvard, di mana ruang dan jalur bus bagi memori program
pipelining, di mana ketika sebuah instruksi dijalankan, instruksinya akan di-prefetch
dari memori program.
2.1.2.2 Arsitektur ATMega8535
Gambar 2.4 Diagram Blok Fungsional ATmega8535
Gambar 2.4 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.
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
2.1.2.3 Konfigurasi Pin ATmega8535
Gambar 2.5 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) meruapakn pin I/O dua arah dan pin fungsi khusus untuk
5. Port C (PC0..PC7) meruapan 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.
8. XTAL1 dan XTAL2 meruapakan pin masukan clock eksternal.
9. AVCC meruapakan pin masukan tegangan untuk ADC.
10. AREF meruapkan pin masukan tegangan referensi ADC.
2.1.2.4 Peta Memori
ATmega8535 memiliki ruang pengalamatan memori data dan memori program yang
terpisah. Memori data terbagi manjadi 3 bagian, yaitu 32 buah register umum, 64 buah
register I/O, dan 512 byte SRAM Interbal.
Register dengan fungsi umum menempati space data pada alamat terbawah,
yaitu $00 sampai $1F, register khusus untuk menangani I/O dan kontrol
mikrokontroller menpati 64 alamat $20 hingga $5F, sedangkan SRAM 512 byte. Pada
alamat $60 sampai dengan $25F. Konfigurasi memori data ditunjukkan pada gambar
Gambar 2.6 Konfigurasi Memori Data ATmega8535
Memori program yang terletak dalam Flash PEROM tersusun dalam word
karena setuiap insruksi memilki lebar 16-bit atau 32-bit. AVR ATmega8535 memiliki
4 Kbyte x 16-bit Flash PEROM dengan alamat mulai dari $000 sampai $FFF. AVR
Gambar 2.7 Memori Program ATmega8535
ATmega8535 juga memiliki memori data berupa EEPROM 8-bit sebanyak
512 byte. Alamat EEPROM dimulai dari $000 sampai $1EF.
2.1.2.5 Status Register (SREG)
Status Register merupakan register berisi status yang dihasilkan pada setiap
operasi yang dilakukan ketika suatu instruksi dieksekusi SREG merupakan bagian dari
inti CPU mikrokontroler.
1. Bit 7-I : Global Interrupt Enable
Bit yang harus diset untuk meng-enable interupsi.
2. Bit 6-1 : Bit Copy Storage
Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam
operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T
menggunakan instruksi BST, dan sebaliknya bit-T dapat disalin kembali ke
suatu bit dalam segister GPR menggunakan instruksi BLD.
3. Bit 5-H : Half Carry Flag.
4. Bit 4-S : Sign Bit
Bit-S merupakan hasil operasi EOR antara flag –N (negative) dan flag-V
(two’s complement overflow).
5. Bit 3-V : Two’s Complement Overflow Flag
Bit yang berguna untuk mendukung opersai aritmatika.
6. Bit 2-N : Negative Flag
7. Bit 2 – N : Negative Flag
Bit akan diset bila suatu operasi menghailkan bilangan negatif.
8. Bit 1-Z : Zero Flag
Bit akan diset bila hasil operasi yang diperoleh adalah nol.
9. Bit 0-C : Carry Flag
2.1.3 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
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 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:
2.1.3.1 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 ROM bersifat permanen, pola karakter tersebut akan hilang
2.2 Perangkat Lunak
2.2.1 Bahasa BASIC Menggunkan 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.
2.2.1.1 Karakteristik Dalam BASCOM
Dalam progrm BASCOM, karakter dasarnya terdiri atas karakter alphabel (A-Z dan
a-z), 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
; Semicolon
< Less than
= Equal sign (assignment symbol or relational operator)
> Greater than
\ Backspace (integer or word division symbol)
Tabel 2.1 Karakter Spesial
2.2.1.2 Tipe Data
Stiap 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.
Tipe Data Ukuran (byte) Range
Bit 1/8 -
Byte 1 0 – 255
Integer 2 -32,768 - +32,767
Word 2 0 – 65535
Single 4 -
String hingga 254 byte -
Tabel 2.2 Tipe data BASCOM
2.2.1.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 kata-
e. 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 tombol2 as word
Dim tombol3 as word
Dim tombol4 as word
Dim Kas as string*10
2.2.1.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
2.2.1.5 Konatanta
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
Const Cstring = “test”
2.2.1.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
Proses pendeklarasikan sebuah array hampir sama dengan variabel, namun
perbedaannya kita mengikuti jumlah elemennya. Berikut adalah contoh pemakaian
array:
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.2.2 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
a. Operator Aritmatika
Operator digunakan dalam perhitungan aritmatika meliuti + (tambah), -
(kurang), / (bagi), dan * (kali).
b. Operator Relasi
Operator berfungsi membandingkan nilai sebuah angka. Hasilnya dapat
digunakan untuk membuat keputusan sesuai dengan program yang kita buat.
Operator relasi meliput i:
Operator Relasi Pernyataan
= Sama dengan X = Y
Tabel 2.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,
Operator logika bisa pula digunakan untuk menguji sebuah byte dengan pola bit
tertentu, sebagai contoh:
Dim A As Byte
A = 63 And 19 PPRINT A A = 10 or 9
PRTINT A
Output
16 11
d. Operator Fungsi
Operator fungsi digunakan untuk melengkapi operator yang sederhana.
2.2.3 Aplikasi BASCOM dengan LCD
Salah satu kelebihan yang dimiliki oleh BASCOM adalah programnya yang
menyediakan rutin-rutin khusus untuk menampilkan karakter menggunakan LCD.
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
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
c. CLS
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 Elda”
Lowerline
Lcd “Nilaiku selalu”; x
Ketika kita menjalankan perintah di atas, maka keluarannya adalah:
Nama Elda
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
g. Lcdhex x
Perintah berfungsi mengirim isi sebuah variabel LCD dalam format
BAB 3
PERANCANGAN ALAT DAN PROGRAM
3.1 Diagaram Blok
Berikut ini akan diperlihatkan mengenai diagram blok dari rangkaian lux meter
dengan menggunakan sensor LDR (Light Dependent Resistor). Secara umum alat ini
terdiri dari 3 blok yaitu blok sensor cahaya yaitu LDR, blok mikrokontroler
ATmega8535, dan blok LCD. Blok sensor cahaya yaitu LDR berfungsi sebagai input,
dimana blok ini akan memberikan tegangan yang berubah-ubah ke ADC yang terdapat
pada mikrokontroler ATmega8535 sesuai dengan intensitas cahaya yang diterimanya
dan selanjutnya mikrokontroler akan diprogram lagi sehingga keluaran dari
mikrokontrolernya berupa nilai intensitas cahaya. Blok mikrokontroler ATmega8535
berfungsi untuk mengubah sinyal analog menjadi sinyal digital dan kemudian
mengolah sinyal tersebut sesuai dengan apa yang telah di programkan ke dalamnya.
Blok LCD 16 x 2, blok ini berfungsi untuk menampilkan nilai intensitas cahaya yang
ditampilkan merupakan data yang dihasilkan. Nilai intensitas cahaya yang ditampilkan
3.2 Diagaram Alir (Flowchart)
Adapun diagaram (flowchart) dari pemprograman adalah sebagai berikut :
Program dimulai dengan inisialisasi program untuk menentukan alamat memori dan
port yang dipakai pada program. Setelah itu program akan membaca variabel E,L,D
dan A yang terdapat pada LDR 0,1 ,2 dan 3 yang memberikan nilai yang
berubah-ubah ke ADC. Untuk menghasilkan nilai ADC diambil nilai rata-rata dari ke empat
LDR, selanjutnya untuk pembacaan nilai intensitas LDR adalah dengan membaca
hasil pengukuran rata-rata dari hasil konversi nilai ADC yang terdapat pada
mikrokontroler Atmega8535. Dimana hasil konversi tersebut adalah hasil konversi
nilai output dari sensor LDR menjadi nilai digital dengan nilai Lux meter komersial.
3.3 Perancangan Power Supplay (PSA)
Rangakaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada.
Rangkian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 vol, keluaran
5 volt digunakan untuk mensupplay tegangan keseluruh rangkaian, sedangkan
keluaran 12 volt digunakan untuk mensupplay tegangan pada aplikasi yaitu rangkaian
voltage devider. Rangakain power supplay ditunjukkan pada gambar berikut ini :
Trafo CT merupakan trafo stepdown yang berfungsi untuk menurunkan
tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan
diserahkan dengan menggunakan dua buah dioda, selanjutnya 12 volt DC akan
diratakan oleh kapasitor 2200 μF. Regulator tegangan 5 vollt (LM7805CT) digunakan
agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan
masukannya. LED hanya sebagai indikator apabila PSA dinyalakan. Transistor PNP
TIP 32 disini berfungsi untuk mensupplay arus apabila terjadi kekuranagn arus pada
rangkaian, sehingga regulator tegangan (LM7805CT) tidak akan panas ketika
rangkaian bututh arus yang cukup besar. Tegangan 12 volt DC langsung diambil dari
keluaran 2 buah dioda penyearah.
3.4 Rankaian Sensor Cahaya
3.4.1 Prinsip Kerja Rangakian
Untuk mengetahui berapa intensitas cahaya, maka alat dilengkapi dengan sebuah
sensor. Sensor yang digunakan adalah sensor cahaya LDR (Light Dependent Resistor).
. Semakin besar intensitas cahaya yang datang, semakin banyak elektron yang
terlepas dari ikatan. Sehingga hambatan LDR akan turun saat cahaya meneranginya.
LDR akan dikenai cahaya besar yang diumpankan ke transistor adalah:
Tegangan tersebut akan mengaktifkan transistor C945. Pada saat aktif,
kolektornya akan mendapatkan tegangan 0 Volt dari ground. Tegangan 0 Volt inilah
yang meruapakan sinyal low (0) yang diumpankan ke mikrokontroler Atmega8535.
Pada saat tidak ada cahaya yang mengenai LDR, tegangan yang diumpankan
ke transistor adalah:
Tegangan tersebut belum dapat mengaktifkan transistor C495, dengan demikian
tegangan kolektor-emitornya antara 4,5 V – 5 V. Tegangan inilah yang merupakan
3.5 Rangkaian Sistem Minimum Mikrokontroler Atmega8535
Gambar 3.5 Rangkaian Skematik Sistem Minimum Mikrokontroler ATmega8535
Rangkaian skematik dan layout PCB system mkrokontroler ini berfungsi mengontrol
apakah seluruh rangkaian sudah bekerja dengan baik. Pada gambar diatas dapat dilihat
XTAL ini akan mempengaruhi kecepatan mikrokntroler ATmega8535 dalam
mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif
rendah). Pulsa transisi dari tinggi ke rendah akan me-reset mikrokontrler ini.
Unutk men-download file heksadesimal ke mikrokontroler, Mosi, Miso, Sck,
Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke RJ45. RJ45 sebagai
konektor yang dihubungkan ke ISP Progremmer. Dari ISP Programmer inilah
dihubungkan ke komputer melalui port paralel.
Kaki Mosi, Miso, Sck, Reset, Vcc dan Gnd pada mikrokonreoler terletak pada
kaki 6, 7, 8, 9, 10 dan 11. Apabila terjadi keterbalikan pemasangan jalur ke ISP
programmer, maka pemograman mikrokontroler tidak dapat dilakukan karena
3.6 Rangakaian LCD (Liquid Crystal Display)
Pada rangakaian ini hanya terdapat dua komponen yang berfungsi sebagai pelengkap
yaitu sebuah potensiometer dan sebuah dioda. Potensiometer berfungsi sebagai
penyesuaian layar pada LCD (Liquid Crystal Display).
Gambar 3.6 Rangakaian Driver LCD
M1632 adalah merupakan modul LCD dengan tampilan 16x12 baris dengan
konsumsi daya yang rendah. Modul ini dilengkapi dengan mikrokontroler yang
didisain khusus untuk mengendalikan LCD. Mikrokontroler HD44780 buatan Hitachi
yang berfungsi sebagai pengendali. LCD ini mempunyai CGROM (Character
Generator Read Only Memory), CGRAM (Character Generator Random Acces Memory), dan DDRAM (Display data Random Acces Memory). DDRAM adalah
merupakan memori tempat karakter yang diltampilkan berada. Contoh, untuk karakter
baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut ditulis di
alamat 40, maka karakter tersebut akan tampil pada baris kedua kolom pertama dari
LCD.
CGRAM adalah meruapakan memori untuk menggambarkan pola sebuah
karakter dimana bentuk dari karakter dapat diubah-ubah sesusai keinginan. Namun
memori ini akan hilang saat power supplay tidak aktif, sehingga pola karakter akan
hilang. CGROM adalah merupakan memori untuk menggambarkan pola sebuah
karakter dimana pola tersebut sudah ditentukan secara permanen dari HD44780
sehingga pengguna kita tidak dapat mengubah lagi. Namun karena ROM bersifat
permanen, maka pola karakter tersebut tidak akan hilang walaupun power supplay
tidak aktif tampak terlihat pola-pola karakter yang tersimpan dalam lokasi-lokasi
tertentu tersimpan pada DDRAM, maka HD44780 akan menampilakn data 41H yang
tersimpan pada DDRAM, maka HD44780 akan mengambil data di alamat 41 H
BAB 4
PENGUJIAN ALAT DAN PROGRAM
4.1 Pengujian Rangkaian Power Supplay (PSA)
Pengujian pada bagian rangkaian power supplay ini dapat dilakukan dengan mengukur
tegangan dari rangkaian ini dengn menggunakan volt meter digital. Dari hasil
pengujian diperoleh tegangan keluaran sebesar +5,1 volt. Tegangan ini dipergunakan
untuk mensupplay tegangan ke suluruh rangakian Mikrokontroler ATmeg8535 dapat
bekerja pada tegangan 4,0 Volt sampai dengan 5,5volt, sehingga tegangan 5,1 volt ini
cukup untuk mensupplay tegangan ke mikrokontroler ATmega8535. Tegangan
keluaran kedua sebesar 13,7 volt.
4.2 Pengujian Program Pembacaan Nilai Intensita Cahaya LDR
Untuk melakukan pengujian terhadap rangkaian LDR diperlukan beberapa alat bantu
seperti PSA, multimeter dan lux meter komersial. Hubungan rangakain LDR ke
tegangan 5V yang dihasilkan PSA, kemudian dilakukan pengukuran tegangan
Selanjutnya dilakukukan pengukuran dengan mengatur jarak antara lampu
dengan rangkaian LDR pada jarak 50 cm sampai 10 cm dan dilakukan juga
pengukuran dengan cara yang sama pada lux meter digital komersial. Dari hasil
pengujian didapatkan data sebagai berikut :
NO Jarak Lampu Nilai ADC
Tabel 4.1 Hasil pengukuran Sensor LDR
Dari hasil pengujian diketahui nilai rata-rata perbandingan antara nilai keluaran ADC
dengan nilai lux meter komersial adalah sebagai berikut:
Rata-rata =
=
Pembacaan keluaran LDR adalah dengan membaca hasil konversi dari ADC
mikrokontroler ATmega8535, konversi tersebut ialah hasil konversi nilai output dari
sensor LDR menjadi digital. Berikut adalah program untuk pembacaan ADC dari
mikrokontroler ATmega8535 :
Pada penggalan program tersebut variabel E,L,D dan A akan menyimpan hasil
konversi dari ADC dari LDR 0 sampai 3. Pengambilan nilai LDR dilakukan secara
berturut dimulai dari E,L,D dan A. Setelah nilai di dapat maka Lux akan
menambahkan variabel E dan L kemudian Lux akan menambahkan nilai Lux dengan
D selanjutnya pada baris berikutnya Lux akan menambahkan nilai Lux terakhir
dengan A sehingga terciptalah Lux = E+L+D+A. Pada baris berikutnya Lux
merupakan tegangan rata-rata yang di baca oleh sensor LDR.
Proses selanjutnya adalah pembacaan nilai intensitas LDR adalah dengan
membaca hasil pengukuran rata-rata dari hasil konversi dari ADC mikrokontroler
menjadi digital dan nilai Lux meter komersial. Berikut adalah program untuk
pembacaan nilai intensitas cahaya dari mikrokontroler :
E = Getadc(0)
Pada penggalan program diatas merupakn kelanjutan dari hasil nilai rata-rata
yang di baca oleh sensor LDR sebelumnya kemudian dikali dengan nilai rata-rata
antara konversi dari ADC mikrokontroler ATmega8535 dimana konversi tersebut
ialah hasil konversi nilai output dari sensor LDR menjadi digital dengan nilai Lux
meter komersial. Maka di dapat nilai LDR ke dalam bentuk nilai intesitas cahaya.
4.3 Pengujian Rangkaian Minimum Mikrokontroler ATmega8535
Pengujian pada rangkaian mikrokontroler ATmega8535 ini dapat dilakukan dengan
menghubungkan rangkian ini dengan rangkian power supplay sebagai sumber
tegangan. Kaki 40 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaki 20
dihubungkan dengan ground. Kemudian tegangan pada kaki 40 diukur dengan
sebesar 5,1 volt. Langkah selanjutnya adalah memberikan program sederhana pada
mikrokontroler ATmega8535. Program yang diberikan adalah sebagai berikut:
Loop:
Cpl P3.7
Acall Tunda
Sjmp Loop
Tunda:
Mov R7,#255
Tnd:
Mov R6,#255
Djnz r6,$
Djnz r7,Tnd
Ret
Program diatas akan mengubah logika yang ada pada P3.7 selama selang
waktu tunda. Jika logika pada P3.7 high maka akan menjadi low, demikian juga
4.4 Pengujian Rangkaian LCD (Liquid Crystal Display)
Setelah rangkaian LCD diberikan tegangan sebesar 5V, maka LCD dapat
menyala, namun belum tentu LCD dapat bekerja dengan baik. Untuk
mengetahui apakah rangkaian LCD dapat menampilkan data yang diberikan, maka
penulis membuat program sebagai berikut:
call delay
mov b,#’h’
call kirim_data
call delay
mov b,#’a’
call kirim_data
call delay
mov b,#’y’
call kirim_data
call delay
mov b,#’a’
call kirim_data
call delay
Dari program yang telah diberikan, maka pada layar LCD muncul huruf yang tersusun
4.5 Pengujian Intensitas cahaya Lux Meter Berbasis ATmega8535 Dengan Lux Meter Komersial
Pengujian untuk pengambilan nilai intensitas cahaya dilakukan dengan pencahayaan
pada LDR yang terdapat pada Lux meter dengan pengendali mikrokontroler
ATmega8535 dan pada lux meter komersial. Pengujian dilakukan di luar ruangan dan
di dalam ruangan. Pengujian yang pertama dilakukan di luar ruangan dengan lokasi
yang sama, karena perpindahan matahari yang tidak terlalu cepat maka pengambilan
data dilakukan setiap 15 (lima belas) menit. Pengujian yang kedua dilakukan di dalam
ruangan pada lokasi yang berbeda yaitu pada lokasi yang memilki intesitas yang
Tabel 4.2 Hasil Pengukuran Intensitas Cahaya di Luar Ruangan
0 500 1000 1500 2000 2500
L8535
L
k
`
Gambar 4. 1 Grafik Nilai Intensitas Cahaya di Luar Ruangan Waktu Lux Meter Berbasis
Tabel 4.3 Hasil Pengukuran Intensitas Cahaya di Dalam Ruangan
Lokasi Lux Meter Berbasis
Dari hasil pengukuran nilai intensitas cahaya dilakukan dengan pencahayaan
pada LDR yang terdapat pada lux meter dengan pengendalai mikrokontroler
ATmega8535 dan lux meter komersial, dapat di lihat bahwa intensitas berubah setiap
saat tergantung pada lokasi yang memiliki intensitas cahaya yang tinggi atau tidak.
Semakin terang cahayanya maka semakin besar nilai intensitas cahaya yang
dihasilkan.
Pada hasil pengukuran nilai intensitas cahaya di luar ruangan dapat di lihat
bahwa nilai intensitas cahaya lux meter komersial jauh lebih besar dibandingkan
dengan nilai intensitas lux meter berbasis mikrokontroler ATmega8535. Hal ini
disebabkan pada lux meter berbasis mikrokotroler ATmega8535 tidak memiliki
pemfokus intensitas cahaya seperti terdapat pada lux meter komersial sehingga
intensitas cahaya yang di terima LDR tidak banyak atau kurang baik. Juga pada LDR
lux meter berbasis mikrokotroler ATmega8535 tidak terlalu peka apabila di luar
ruangan karena LDR memiliki batas nilai intensitas cahaya yang diterimanya.
Begitu pula pada hasil pengukuran nilai intensitas cahaya di dalam ruangan
yang dilakukan pada lokasi yang memiliki nilai intensitas yang rendah hingga lokasi
yang memiliki nilai intensitas yang tinggi. Dari hasil pengukuran tersebut juga dapat
kita lihat bahwa nilai intensitas cahaya lux meter komersial dan nilai intensitas cahaya
berbasis lux meter berbasis mikrokontroler ATmega8535 tidak begitu jauh
BAB 5
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Dari hasil kerja alat dapat diambil beberapa kesimpulan dalam pembuatan alat ini.
Kesimpulan yang diambil oleh penulis adalah :
1. Sistem ATmega8535 berfungsi sebagai central processing unit yang mengolah
sinyal analog dari LDR menjadi suatu nilai keluaran berupa nilai ADC dan
nilai intensitas cahaya.
2. Mikrokontroler ATmega8535 dapat bekerja dengan baik karena hubungan
antara intensitas cahaya dan tegangan berbentuk linier.
3. Perbandingan nilai pengukuran yamg dihasilkan ADC pada mikrokontroler
dengan Lux meter komersial adalah 1 banding 4,53.
4. Lux meter berbasis ATmega8535 memiliki batas kerja sehingga jika lux meter
berbasis ATmega8535 melebihi nilai intensitas cahayanya maka nilai tidak
5.2 SARAN
1. Pada penggunaan sensor cahaya sebaiknya menggunakan sensor yang lebih
peka terhadap intensitas cahaya.
2. Sebaiknya penggunaan LDR pada lux meter lebih diperbanyak supaya cahaya
yang diterimanya lebih banyak.
3. Sebaiknya pada alat lux meter digital memiliki pemfokus intensitas cahaya
DAFTAR PUSTAKA
Bejo, Agus. 2008 C dan AVR Rahasia Kemudahan Bahasa C dalam
Mikrokontroller ATMega8535. Yogyakarta: Graha Ilmu.
Diakses Kamis, 08 April 2010.
Diakses kamis, 04 Maret 2010
Diakses Selasa, 20 April 2010
Diakses Kamis, 08 April 2010.