• Tidak ada hasil yang ditemukan

BAB II TEORI - Alat Ukur Densitas Debu di Udara Berbasis Mikrokontroler

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB II TEORI - Alat Ukur Densitas Debu di Udara Berbasis Mikrokontroler"

Copied!
23
0
0

Teks penuh

(1)

BAB II TEORI

2.1. GP2Y1010AU0F Optical Dust Sensor

GP2Y1010AU0F Optical Dust Sensor ialah sensor debu yang berbasis inframerah. Sensor ini

sangat efektif dalam mendeteksi partikel yang sangat halus seperti debu atau asap rokok, dan

umumnya digunakan dalam sistem pembersih udara.

Gambar 2.1. GP2Y1010AU0F Optical Dust Sensor

Prinsip kerja dari sensor ini ialah dengan mendeteksi debu ataupun partikel yang lain

kemudian akan di pantulkan cahaya ke bagian penerima.

(2)

(b)

Gambar 2.2 : (a). Internal Schematic (b) Outline Dimensions 1

• Berbasis Inframerah

Cahaya dicerminkan pada partikel melewati keseluruhan permukaan, kemudian oleh

photodiode diubah menjadi tegangan. Tegangan harus diperkuat untuk dapat membaca

perubahan. Output dari sensor adalah tegangan analog sebanding dengan kepadatan debu yang

terukur, dengan sensitivitas 0.5V/0.1 mg/m3.

Spesifikasi dari GP2Y1010AU0F Optical Dust Sensor :

• Output tegangan : analog, semakin tinggi intensitas debu semakin tinggi nilai tegangan output

• Sensitivitas : 0,5/01.mg/m3

• Suplai tegangan: 5-7 V

1

(3)

• Suhu operasi : -10-65 derajat Celcius

• Konsumsi saat ini: 20mA max

2.2. Mikrokontroler ATMega 16

Mikrokontroler adalah sebuah komputer kecil (“special purpose computers”) di dalam satu IC

yang berisi CPU , memori, timer, saluran komunikasi serial dan paralel, port input/output, ADC.

Mikrokontroler digunakan untuk suatu tugas dan menjalankan suatu program.

Mikrokontroler AVR mempunyai beberapa kelebihan, antara lain murah, dukungan

software dan dokumentasi yang memadai, dan memerlukan komponen pendukung yang sangat

sedikit. Salah satu tipe mikrokontroler AVR untuk aplikasi standar yang memiliki fitur

memuaskan ialah ATMega 16.

Mikrokontroler AVR (Alf and Vegard’s Risc processor) standar memiliki arsitektur 8 bit,

dimana semua instruksi dikemas dalam kode 16-bit dan sebagian besar instruksi dieksekusi

dalam 1 (satu) siklus clock. AVR berteknologi RISC (Reduced Instruction Set Computing). AVR

dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATtiny, keluarga AT90Sxx, keluarga

ATMega, dan AT86RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah

memori, peripheral, dan fungsinya.

Teknologi elektronika saat ini membutuhkan pengontrol berukuran kecil dan

berkecepatan tinggi, yang bisa dipenuhi oleh mikrokontroler. Mikrokontroler adalah chip yang

berisi berbagai unit penting untuk melakukan pemrosesan data (I/O, timer, memory, Arithmetic

Logic Unit (ALU) dan lainnya) sehingga dapat berlaku sebagai pengendali dan computer

sederhana.

Gambar 2.3. Diagram blok contoh perkembangan mikrokontroler ATMEL2

2

(4)

Keuntungan menggunakan mikrokontroler adalah harganya murah, dapat diprogram

berulang kali, dan dapat diprogram sesuai dengan keinginan kita. Keunggulan dari

mikrokontroler diantaranya :

1. Tersedianya I/O

I/O dalam mikrokontroler sudah tersedia

2. Memori Internal

Memori merupakan media untuk menyimpan program dan data sehingga mutlak harus ada.

2.2.1. Spesifikasi Mikrokontroler ATMega 16

Mikrokontroler ATMega16 memiliki fitur yang lengkap (ADC internal, EEPROM internal,

Timer/Counter, Watchdog Timer, PWM, Port I/O, komunikasi serial, Komparator, I2C, dll). Di

dalam mikrokontroler ATMega 16, sudah terdiri dari :

1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D

2. ADC (Analog Digital Converter) 10 bit sebanyak 8 channel

3. Tiga buah timer/counter dengan kemampuan pembandingan

4. CPU yang terdiri dari 32 buah register

5. 131 instruksi handal yang umumnya hanya membutuhkan 1 siklus clock

6. Watchdog Timer dengan osilator internal

7. 2 buah timer/counter 8 bit

8. 1 buah timer/counter 16 bit

9. Tegangan operasi 2.7 V- 5.5 V pada ATMega 16 L

10. Internal SRAM sebesar 1 KB

11. Memory flash sebesar 16 KB dengan kemampuan Read While Write

12. Unit interupsi internal dan eksternal

13. Port antarmuka SPI

14. EPROM sebesar 512 byte yang dapat di program saat operasi

15. Antarmuka komparator analog

16. 4 chanel PWM

17. 32x8 general purpose register

18. Hampir mencapai 16 MIPS pada Kristal 16 MHz

(5)

Gambar 2.4. Block Diagram Mikrokontroler ATMega 163

3

(6)

2.2.2. Konfigurasi Pin Mikrokontroler ATMega 16

Susunan pin mikrokontroler ATMega 16 diperlihatkan pada Gambar 2.5 di bawah ini :

Gambar 2.5. Konfigurasi Pin Mikrokontroler ATMega 164

1. Vcc merupakan pin yang berfungsi sebagai masukan catu daya.

Konfigurasi pin ATMega16 dengan kemasan 40 pin DIP (Dual In-line Package) dapat dilihat

pada Gambar 2.5. Dari gambar di atas dapat dijelaskan fungsi dari masing-masing pin

ATMega16 sebagai berikut:

2. GND merupakan pin Ground

3. Port A (PA0...7) merupakan pin input/output dua arah dan pin masukan ADC.

4. Port B (PB0...7) merupakan pin input/output dua arah dan pin dengan fungsi khusus seperti

SPI, MISO, MOSI, SS, AIN1/OC0, AIN0/INT2, T1, T0 T1/XCK

5. Port C (PC0...7) merupakan pin input/output dua arah dan pin dengan fungsi khusus, seperti

TOSC2, TOSC1, TDI, TD0, TMS, TCK, SDA, SCL

6. Port D (PD0...7) merupakan pin input/output dua arah dan pin dengan fungsi khusus, seperti

RXD, TXD, INT0, INT1, OC1B, OC1A, ICP1

7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.

8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal

9. AVCC merupakan pin masukan tegangan untuk ADC .

4

(7)

10. AREF merupakan pin masukan tegangan referensi AD

2.2.3. Port-Port Pada Mikrokontroler ATMega 16 dan Fungsinya 2.2.3.1.Port A

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor

(dapat diatur per bit). Output buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan

display LED secara langsung. Data Direction Register port A (DDRA) harus disetting terlebih

dahulu sebelum Port A digunakan. Bit-bit DDRA diisi 0 jika ingin memfungsikan pin-pin port A

yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, kedelapan pin port A

juga digunakan untuk masukan sinyal analog bagi A/D converter.

2.2.3.2.Port B

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor

(dapat diatur per bit). Output buffer Port B dapat memberi arus 20 mA dan dapat mengendalikan

display LED secara langsung. Data Direction Register port B (DDRB) harus disetting terlebih

dahulu sebelum Port B digunakan. Bit-bit DDRB diisi 0 jika ingin memfungsikan pin-pin port B

yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Pin-pin port B juga memiliki

untuk fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut.

Tabel 2.1. Fungsi Pin-pin Port B5

Pin Fungsi Khusus

PB7 SCK (SPI Bus Serial Clock)

PB6 MISO (SPI Bus Master Input/Slave Output)

PB5 MOSI (SPI Bus Master Output/Slave Input)

PB4 SS (SPI Slave Select Input)

PB3 AIN1 (Analog Comparator Negative Input)

OC0 (Timer/Counter 0 Output Compare Match Output)

(8)

INT2 (External Interrupt 2 input)

PB1 T1 (Timer/Counter 0 External Counter Input)

PB0 T0T1 (Timer/Counter 0 External Counter Input)

XCK (USART External Clock Input/Output)

2.2.3.3.Port C

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor

(dapat diatur per bit). Output buffer Port C dapat memberi arus 20 mA dan dapat

mengendalikan display LED secara langsung. Data Direction Register port C (DDRC) harus

disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin

memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output.

Selain itu, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternatif sebagai oscillator

untuk timer/counter 2.

Tabel 2.2. Fungsi Pin-pin Port C5

Pin Fungsi Khusus

PC7 TOSC2 (Timer Oscillator Pin2)

PC6 TOSC1 (Timer Oscillator Pin1)

PC5 TDI (JTAG Test Data In)

PC4 TDO (JTAG Test Data Out)

PC3 TMS (JTAG Test Mode Select)

PC2 TCK (JTAG Test Clock)

PC1 SDA (Two-wire Serial Bus Data Input/Output Line)

PC0 SCL (Two-wire Serial Bus Clock Line)

2.2.3.4.Port D

Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor

(dapat diatur per bit). Output buffer Port D dapat memberi arus 20 mA dan dapat

mengendalikan display LED secara langsung. Data Direction Register port D (DDRD) harus

disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin

(9)

Selain itu, pin-pin port D juga memiliki untuk fungsi-fungsi alternatif khusus seperti yang dapat

dilihat dalam tabel berikut.

Tabel 2.3. Fungsi Pin-pin Port D5

Pin Fungsi Khusus

PD7 OC2 (Timer/Counter 2Output/Input Compare Match Output)

PD6 ICP (Timer/Counter 1 Input Capture Pin)

PD5 OC1A (Timer/Counter 1 Output Compare A Match Output)

PD4 OC1B (Timer/Counter Output Compare B Match Output)

PD3 INT1 (External Interrupt 1 Input)

PD2 INT0 (External Interrupt 0 Input)

PD1 TXD (USART Output Pin)

PD0 RXD (USART Input Pin)

2.2.3.5.RESET

RST pada pin 9 merupakan reset dari AVR. Jika pada pin ini diberi masukan low selama

minimal 2 machine cycle maka system akan di-reset.

2.2.3.6.XTAL1

XTAL1 adalah masukan ke inverting oscillator amplifier dan input ke internal clock operating

circuit

2.2.3.7.XTAL2

XTAL2 adalah output dari inverting oscillator amplifier.

2.2.3.8.AVcc

Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal

terhubung ke Vcc melalui lowpass filter.

2.2.3.9.AREF

AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu

level tegangan antara AGND dan Avcc harus diberikan ke kaki ini.

5

(10)

2.2.3.10.AGND

AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board

memiliki analog ground yang terpisah

Tabel 2.4. Keterangan pin-pin Mikrokontroler ATMega 166

No Pin Nama Fungsi

1 PBO (XCK/TO) Port B.0/Counter/clock eksternal untuk USART (xck)

2 PB1 (T1) Port B.1/Counter 1

3 PB2 (INT2/AIN0) Port B.2/Input (+) Analog komparator (AIN0) dan

interupsi eksternal 2 (INT2)

8 PB7 (SCK) Port B.7/Sinyal Clock Serial SPI

9 RESET Me-reset Mikrokontroler

10 VCC Catu Daya (+)

11 GND Sinyal ground terhadap catu daya

12-13 XTAL2-XTAL1 Sinyal input Clock Eksternal (kristal)

14 PD0 (RXD) Port D.0/Penerima data serial

15 PD1 (TXD) Port D.1/Pengirim data serial

16 PD2 (INT0) Port D.2/Interupsi Eksternal 0

17 PD3 (INT1) Port D.3/Interupsi Eksternal 1

6

(11)

18 PD4 (OC1) Port D.4/Pembanding Timer-Counter 1

19 PD5 (OC1A) Port D.5/Output PWM 1 A

20 PD6 (ICP1) Port D.6/Timer-Counter 1 Input

21 PD7 (OC2) Port D.7/Output PWM 2

22 PC0 (SCL) Port C.0/Serial bus clock line

23 PC1 (SDA) Port C.1/Serial bus data input-output

24-27 PC2-PC5 Port C.2 –Port C.5

28 PC6 (TOSC1) Port C.6/Timer Osilator 1

29 PC7 (TOSC2) Port C.7/Timer Osilator 2

30 AVCC Tegangan ADC

31 GND Sinyal ground ADC

32 AREFF Tegangan referensi ADC

33-40 PA0 (ADC0) – PA7 (AD7) Port A.0 – Port A.7 dan input untuk ADC (8 channel

: ADC0-ADC7)

2.2.4. Arsitektur Mikrokontroler ATMega16

ATMega16 menggunakan arsitektur Harvard dengan memisahkan antara memori dan bus untuk

program dan data untuk memaksimalkan kemampuan dan kecepatan. Instruksi dalam memori

program dieksekusi dengan pipelining single level dimana ketika satu instruksi dieksekusi,

instruksi berikutnya diambil dari memori program. Konsep ini mengakibatkan instruksi

dieksekusi setiap siklus clock

- CPU terdiri dari 32 x 8 bit general purpose register yang dapat diakses dengan cepat dalam

satu siklus clock, yang mengakibatkan operasi Arithmetic Logic Unit (ALU) dapat dilakukan

dalam satu siklus. Pada operasi ALU, dua operand berasal dari register, kemudian operasi

(12)

- Operasi aritmetik dan logika pada ALU akan mengubah bit-bit yang terdapat pada Status

Register (SREG). Arsitektur Mikrokontroler ATMega 16 dapat dilihat pada Gambar 2.7 yang

terdapat di bawah ini.

2.2.5. Peta Memori Mikrokontroler ATMega16 2.2.5.1. Memori Program

Arsitektur ATMega16 mempunyai dua memori utama, yaitu memori data dan memori program.

Selain itu, ATMega16 memiliki memori EEPROM untuk menyimpan data. ATMega16 memiliki

16 Kbyte On-chip In-System Reprogrammable Flash Memory untuk menyimpan program.

Instruksi ATMega 16 semuanya memiliki format 16 atau 32 bit, maka memori flash diatur

dalam 8K x 16 bit. Memori flash dibagi kedalam dua bagian, yaitu bagian program boot dan

aplikasi seperti terlihat pada Gambar 2.8. Bootloader adalah program kecil yang bekerja pada

saat sistem dimulai yang dapat memasukkan seluruh program aplikasi ke dalam memori

prosesor.

(13)

Gambar 2.7. Peta Memori Mikrokontroler ATMega 167

2.2.5.2. Memori Data (SRAM)

Memori data AVR ATMega 16 terbagi menjadi 3 bagian, yaitu 32 register umum, 64 buah

register I/O dan 1 Kbyte SRAM internal. General purpose register menempati alamat data

terbawah, yaitu $00 sampai $1F. Sedangkan memori I/O menempati 64 alamat berikutnya mulai

dari $20 hingga $5F. Memori I/O merupakan register yang khusus digunakan untuk mengatur

fungsi terhadap berbagai fitur mikrokontroler seperti kontrol register, timer/counter,

fungsi-fungsi I/O, dan sebagainya. 1024 alamat berikutnya mulai dari $60 hingga $45F digunakan untuk

SRAM internal

Gambar 2.8. Peta Memori Mikrokontroler ATMega 167

7

(14)

2.2.5.3. Memori Data EEPROM

ATMega16 terdiri dari 512 byte memori data EEPROM 8 bit, data dapat ditulis/dibaca dari

memori ini, ketika catu daya dimatikan, data terakhir yang ditulis pada memori EEPROM masih

tersimpan pada memori ini, atau dengan kata lain memori EEPROM bersifat nonvolatile. Alamat

EEPROM mulai dari $000 sampai $1FF.

2.2.6. Software Mikrokontroler

Sebuah mikrokontroler tidak akan bekerja bila tidak diberikan program untuk diisikan ke dalam

mikrokontroler tersebut. Oleh karena itu, dalam tugas akhir ini akan digunakan perangkat lunak

CodeVisionAVR sebagai media penghubung antara program yang akan diisikan ke

mikrokontroler ATMega16 yang menggunakan bahasa C.

Pemrograman mikrokontroler AVR dapat menggunakan low level language (assembly)

dan high level language (C, Basic, Pascal, JAVA, dll) tergantung compiler yang digunakan.

Bahasa Assembler pada mikrokontroler AVR memiliki kesamaan instruksi, sehingga jika telah

menguasai pemrograman satu jenis mikrokontroler AVR, maka akan dengan mudah untuk

memprogram mikrokontroler AVR jenis lain, tetapi bahasa assembler relatif lebih sulit dipelajari

daripada bahasa C, untuk pembuatan suatu proyek yang besar akan memakan waktu yang lama,

serta penulisan programnya akan panjang. Sedangkan bahasa C memiliki keunggulan

dibandingkan bahasa assembly yaitu penyusunan program akan lebih sederhana dan mudah pada

proyek yang lebih besar. Bahasa C hampir bisa melakukan semua operasi yang dapat dikerjakan

oleh bahasa mesin.

CodeVisionAVR pada dasarnya merupakan perangkat lunak pemrograman mikrokontroler

keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang telah diintegrasikan dalam

perangkat lunak ini: Compiler C, IDE dan program generator. Berdasarkan spesifikasi yang

dikeluarkan oleh perusahaan pengembangnya, Compiler C yang digunakan hampir

mengimplementasikan semua komponen standar. yang ada pada bahasa C standar ANSI (seperti

struktur program, jenis tipe data, jenis operator, dan library fungsi standar berikut

(15)

compiler C untuk mikrokontroler ini memiliki sedikit perbedaan yang disesuaikan dengan

arsitektur AVR tempat program C tersebut ditanamkan (embedded).

Khusus untuk library fungsi, disamping library standar (seperti fungsi-fungsi matematik,

manipulasi string, pengaksesan memori dan sebagainya), CodeVisionAVR juga menyediakan

fungsi-fungsi tambahan yang sangat bermanfaat dalam pemrograman antarmuka AVR dengan

perangkat luar yang umum digunakan dalam aplikasi kontrol. Beberapa fungsi library yang

penting diantaranya adalah fungsi-fungsi untuk pengaksesan LCD, komunikasi I2C, IC RTC

(Real time Clock), sensor suhu, SPI (Serial Peripheral Interface) dan lain sebagainya.

Untuk memudahkan pengembangan program aplikasi, CodeVisionAVR juga dilengkapi

IDE yang sangat user friendly. Selain menu-menu pilihan yang umum dijumpai pada setiap

perangkat lunak berbasis Windows, CodeVisionAVR ini telah mengintegrasikan perangkat lunak

downloader yang bersifat In System Programmer yang dapat digunakan untuk mentransfer kode

mesin hasil kompilasi ke dalam sistem memori mikrokontroler AVR yang sedang diprogram.

Selain itu, CodeVisionAVR juga menyediakan sebuah fitur yang dinamakan dengan Code

Generator atau CodeWizardAVR. Secara praktis, fitur ini sangat bermanfaat membentuk sebuah

kerangka program (template), dan juga memberi kemudahan bagi programmer dalam

peng-inisialisasian register-register yang terdapat pada mikrokontroler AVR yang sedang diprogram.

Dinamakan Code Generator, karena perangkat lunak CodeVision ini akan membangkitkan

kode-kode program secara otomatis setelah fase inisialisasi pada jendela CodeWizardAVR selesai

dilakukan. Penggunaan fitur ini pada dasarnya hampir sama dengan application wizard pada

bahasa-bahasa pemrograman visual untuk komputer.

2.3. Bahasa Pemrograman Mikrokontroler

Pengembangan sebuah system menggunakan mikrokontroler AVR buatan ATMEL

menggunakan software CodeVisionAVR. CodeVisionAVR merupakan software C-cross

Compiler, dimana program dapat ditulis dalam bahasa C, CodeVision memiliki IDE (Integrated

development Environment) yang lengkap, dimana penulisan program, compile, link, pembuatan

kode mesin (assembler) dan download program kechip AVR dapat dilakukan dengan

CodeVision, selain itu ada fasilitas terminal, yaitu melakukan komunikasi serial dengan

(16)

dapat menggunakan System Programmable Flash on-Chip mengizinkan memori program untuk

di program ulang dalam system menggunakan hubungan serial SPI.

2.3.1. Bahasa C

Bahasa C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa tingkat rendah

(bahasa yang berorientasi pada mesin) dan bahasa tingkat tinggi (bahasa yang berorientasi pada

manusia). Bahasa C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk

mikrokontroler. Bahasa ini sudah merupakan high level language, dimana memudahkan

programmer menuangkan algoritmanya.

Kelebihan Bahasa C:

- Bahasa C tersedia hampir di semua jenis computer.

- Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer.

- Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata kunci.

- Proses executable program bahasa C lebih cepat

- Dukungan pustaka yang banyak.

- C adalah bahasa yang terstruktur

- Bahasa C termasuk bahasa tingkat menengah

Kekurangan Bahasa C:

- Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan

pemakai.

- Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

2.3.2. Penulisan Program Dalam Bahasa C

#include <mega16.h>

#include <delay.h>

#define IRsensor PINA.o

(17)

{

Preprocessor (#) : digunakan untuk memasukkan (include) text dari file lain, mendefinisikan macro yang dapat mengurangi beban kerja pemrograman dan meningkatkan legibility source

code (mudah dibaca)

#define : digunakan untuk mendefinisikan macro Contoh : #define ALFA oxff

#define SUM(a,b) a+b

#define sensor PINA.2

#define pompa PORTB.o

Komentar

Penulisan komentar untuk beberapa baris komentar sekaligus

/*

….komentar

/*

…komentar untuk beberapa baris ..*/

Atau jika untuk satu baris saja //….komentar…

Inisialisasi

Program utama

(18)

..*/

Penulisan komentar untuk satu baris saja

//..komentar..

2.4. LCD (Liquid Crystal Display)

LCD adalah suatu display dari bahan cairan Kristal yang pengoperasiannya menggunakan system

dot matriks. LCD banyak digunakan sebagai display dari alat-alat elektronika seperti kalkulator,

multitester digital, jam digital, dan sebagainya. Adapun fitur yang disajikan dalam LCD ini

adalah :

a. Terdiri dari 16 karakter dan 2 baris.

b. Mempunyai 192 karakter tersimpan.

c. Terdapat karakter generator terprogram.

d. Dapat dialamati dengan mode 4-bit dan 8-bit.

e. Dilengkapi dengan back light.

COMMON SIGNAL

SEGMENT SIGNAL

SERIAL DATA

TIMING SIGNAL

(19)

Gambar 2.10. LCD (Liquid Crystal Display)8

LCD dapat dengan mudah dihubungkan dengan mikrokontroler AVR ATMega 16. LCD

yang digunakan dalam percobaan adalah LCD 2x16, lebar display 2 baris 16 kolom, yang

mempunyai 16 pin konektor.

Tabel 2.5. Pin LCD dan Fungsinya8

PIN Nama Pin Fungsi

1 VSS Ground Voltage

2 VCC +5V

3 VEE Contrast Voltage

4 RS Register Select

0 = Instruction Register

1 = Data Register

5 R/W Read/Write, to choose write or read mode

0 = write mode

1 = read mode

6 E Enable

0 = start to lacht data to LCD character

1 = disable

7 DB0 Data bit ke-0 (LSB)

8 DB1 Data bit ke-1

9 DB2 Data bit ke-2

8

(20)

10 DB3 Data bit ke-3

2.4.1. Cara kerja LCD (Liquid Crystal Display)

Pada aplikasi umumnya RW diberi logika rendah “0”. Bus data terdiri dari 4-bit atau 8-bit. Jika

jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat pada

tabel, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan

sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang

ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu waktu.

Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya

8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock EN setiap nibblenya). Jalur

kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke

LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high “1” dan

kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur

data bus.

Saat jalur lainnya sudah siap, EN harus diset ke “0” dan tunggu beberapa saat (tergantung

pada datasheet LCD), dan set EN kembali ke high “1”. Ketika jalur RS berada dalam kondisi

low “0”, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus

(seperti bersihkan layar, posisi kursor dan lain-lain). Ketika RS dalam kondisi high atau “1”, data

yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan

huruf “A” pada layar maka RS harus diset ke “1”. Jalur kontrol R/W harus berada dalam kondisi

low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi

(21)

Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya

merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu

diset ke “0”. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna),

DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau

8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD,

menentukan mode operasi merupakan hal yang paling penting.

Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah

aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk

data).Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin untuk kontrol, 4 pin untuk

data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara

mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu

dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD

atau status eksekusi dari instruksi terakhir yang dibaca.

2.5. ADC (Analog Digital Converter)

ADC merupakan sebuah alat pengkonversi sinyal analog ke sinyal digital. Biasanya ADC

terdapat dalam dua bentuk yaitu single chip dan integrated chip. Pada simulasi rangkaian ini

menggunakan integrated chip. Dinamakan integrated chip karena ADC nya sudah menjadi satu

dengan mikorkontroler ATMega 16.

Mikrokontroler ATMega 16 memiliki 8 channel ADC yaitu ADC0 - ADC7 yang bisa

mengkonversikan kedalam 8 bit data digital maupun 10 bit data digital. Walaupun terdapat 8

channel input ADC dalam proses konversi hanya bisa dilakukan pada 1 channel input dalam satu

waktu karena pengkonversi data analog ke digital didalam mikrokontroler itu sendiri hanya

terdapat satu yang dihubungkan dengan 8 channel input ADC. Proses dilakukan secara

(22)

Proses yang terjadi dalam ADC adalah :

Gambar 2.11. Diagram Block ADC9

1. Pen-cuplik-an

adalah proses mengambil suatu nilai pasti (diskrit) dalam suatu data kontinu dalam satu titik

waktu tertentu dengan periode yang tetap.

2. Peng-kuantisasi-an

adalah proses pengelompokan data diskrit yang didapatkan pada proses pertama ke dalam

kelompok-kelompok data. Kuantisasi, dalam matematika dan pemrosesan sinyal digital,

adalah proses pemetaan nilai input seperti nilai pembulatan.

3. Peng-kode-an

adalah meng-kode-kan data hasil kuantisasi ke dalam bentuk digital (0/1) atau dalam suatu

nilai biner.

2.5.1. Prinsip kerja ADC

ADC adalah proses pengubahan sinyal analog menjadi sinyal digital. Proses pengubahan terjadi

pada konverter/pengubah yang dikenal dengan analog to digital converter. Proses pengubahan

ini dikenal juga dengan nama sistem akusisi data. Terdapat empat macam ADC yang memenuhi

standar industri, yaitu integrating, tracking converter, successive approximation dan

flash/paralel. Keempat jenis ADC tersebut mewakili beberapa macam pertimbangan diantaranya

resolusi, kecepatan konversi dan biaya.

Prinsip kerja dari ADC adalah dengan banyak masukan, terutama yang berasal dari

transduser, yang merupakan isyarat analog yang harus disandikan menjadi informasi digital

sebelum masukan itu diproses, dianalisa atau disimpan didalam kalang digital. Pengubah

9

(23)

mengambil masukan, mencobanya, dan kemudian memproduksi suatu kata digital bersandi yang

sesuai dengan taraf dari isyarat analog yang sedang diperiksa. Keluaran digital bisa berderet (bit

demi bit) atau berjajar dengan semua bit yang disandikan disajikan serentak. Dalam sebagian

Gambar

Gambar 2.1. GP2Y1010AU0F Optical Dust Sensor
Gambar 2.2 : (a). Internal Schematic (b) Outline Dimensions 1
Gambar 2.3. Diagram blok contoh perkembangan mikrokontroler ATMEL2
Gambar 2.4. Block Diagram Mikrokontroler ATMega 163
+7

Referensi

Dokumen terkait

1. Koneksikan papan Arduino dengan komputer melalui USB port. Tuliskan sketsa rancangan suatu program yang akan dimasukkan ke dalam papan Arduino. Upload sketsa program ke

Dipakai untuk mengukur aliran fluida dalam suatu pipa dengan head flow meter, maka dengan itu dipasang suatu penghalang dengan diameter lubang yang lebih kecil dari

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

Selain itu, pin-pin port D juga memiliki untuk fungsifungsi alternatif khusus seperti yang dapat dilihat dalam tabel berikut:.. Tabel 2.2: fungsi

Jika pembacaan lebih tinggi dari 0°C, maka pembacaan barometer dikurangi dengan koreksi suhu ini, jika lebih rendah dari 0°C koreksi ditambah. Adanya

Identifier atau nama pengenal adalah nama yang ditentukan sendiri oleh pemrogram yang digunakan untuk menyimpan nilai, misalnya nama variable, nama konstanta, nama suatu

yang diuji untuk mengetahui keberhasilan dari alat yang di buat. Pengujian Rangkaian Sensor TGS 2442. Pengujian Rangkaian LCD. Pengujian Rangkaian Buzzerr. Pengujian Rangkaian

Sebuah bit dari sebuah register dalam Register File dapat disalin ke dalam bit ini dengan menggunakan instruksi BST, dan. sebuah bit di dalam bit ini dapat disalin