• Tidak ada hasil yang ditemukan

BAB 2 DASAR TEORI. LDR (Light Dependent Resistant) merupakan suatu jenis resistor yang nilai

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 DASAR TEORI. LDR (Light Dependent Resistant) merupakan suatu jenis resistor yang nilai"

Copied!
26
0
0

Teks penuh

(1)

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.

(2)

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

(3)

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

(4)

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.

(5)

pipelining, di mana ketika sebuah instruksi dijalankan, instruksinya akan di-prefetch dari memori program.

2.1.2.2 Arsitektur ATMega8535

(6)

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

(7)

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.

(8)

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.

(9)

Gambar 2.6 Konfigurasi Memori Data ATmega8535

(10)

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.

(11)

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

(12)

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.

(13)

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:

(14)

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

(15)

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

(16)

; 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

(17)

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:

(18)

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

(19)

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

(20)

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.2.2 Operasi-Operasi Dalam BASCOM

(21)

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

<> Tidak sama dengan X <> Y

< Lebih kecil dari X < Y

> Lebih besar dari X > Y

<= Lebih kecil atau sama dengan X <= Y >= Lebih besar atau sama dengan X >= Y

Tabel 2.3 Tabel Operator Relasi

c. Operator Logika

(22)

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

(23)
(24)

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

(25)

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

(26)

g. Lcdhex x

Referensi

Dokumen terkait

Kadar abu yang terendah terdapat pada ki pasang, sedangkan kadar abu yang tertinggi terdapat pada sempur lilin, kadar silika terendah terdapat pada ki bugang dan kadar

Namun demikian, berbagai pihak tersebut harus dipastikan untuk melaksanakan kewajiban yang melengkapi kewajiban negara dengan berupaya untuk menghonati, melindungi, dan

Interaksi penggunaan media MS dan hormon BAP dengan konsentrasi yang berbeda memberikan pengaruh yang berbeda terhadap multiplikasi tunas, tinggi tunas, jumlah buku,

Kendala yang dihadapi oleh Ditreskrimsus Polda Sumbar dalam penyidikan tindak pidana penambangan emas tanpa izin di Kabupaten Solok Selatan meliputi: (a) Belum

Konsep Islam mengenai kehidupan manusia didasarkan pada pendekatan theo-sentris (theocentries) atau yang menempatkan Allah melalui ketentuan syari‟atnya sebagai tolok ukur

Skripsi ini berjudul: Pengaruh Penggunaan Model Pembelajaran Kooperatif Tipe Think Talk Write (TTW) Terhadap Hasil Belajar Pendidikan Agama Islam Siswa Sekolah

Sedangkan dampak ekonomi yang ditimbulkan oleh Program PUAP terhadap petani di daerah penelitian adalah sebagai berikut: (1) petani dapat memperoleh bantuan

Menurut Sugiyono (2005:11) “penelitian deskriptif adalah penelitian yang dilakukan untuk mengetahui nilai variabel mandiri, baik satu variabel atau lebih tanpa