Pengendalian Bak Air Secara Otomatis Melalui Handphone Berbasis ATmega8535

(1)

PENGENDALIAN BAK AIR SECARA OTOMATIS MELALUI HANDPHONE BERBASIS ATMEGA8535

SKRIPSI

INNE STEFFI TAMBUNAN 080821013

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2010


(2)

PERSETUJUAN

Judul : PENGENDALIAN BAK AIR SECARA OTOMATIS MELALUI HANDPHONE BERBASIS ATMEGA8535

Kategori : SKRIPSI

Nama : INNE STEFFI TAMBUNAN

NIM : 080821013

Program Studi : SARJANA (S1) FISIKA INSTRUMENTASI

Departemen : FISIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Disetujui oleh :

Diketahui/disetujui oleh

Ketua Departemen Fisika FMIPA USU Pembimbing

Dr. Marhaposan Situmorang Drs. Takdir Tamba M.Eng.Sc NIP : 195510301980031003 NIP : 196006031986011002


(3)

PERNYATAAN

Pengendalian Bak Air Secara Otomatis Melalui Handphone Berbasis Atmega8535 SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Desember 2010

Inne Steffi Tambunan 080821013


(4)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, dengan cinta dan limpah karuniaNya penyelesaian tugas akhir ini dapat diselesaikan dengan waktu yang telah ditetapkan.

Dalam penyelesaian tugas akhir serta penulisan laporannya, penulis mengucapkan banyak terimakasih kepada Bapak Drs. Takdir Tamba, M.Eng.Sc selaku dosen pembimbing pada penyelesaian tugas akhir ini,yang telah banyak membimbing dan memberikan masukan serta koreksi kepada penulis dalam menyelesaikan tugas akhir ini.Ucapan terimakasih juga penulis ajukan kepada Bapak Dr.Marhaposan Situmorang, Bapak Drs.Kurnia Brahmana, M.Si, Bapak Drs. Syahrul Humaidi, M.Sc selaku dosen pembanding yang telah banyak memberikan masukan untuk kesempurnaan tugas akhir ini.Dan kepada Bapak Dekan FMIPA USU dan Bapak/Ibu Dosen di Departemen Fisika FMIPA USU serta Staf pegawai yang memberi saran, dukungan dan banyak motivasi selama penyelesaian tugas akhir ini. Tidak lupa saya juga mengucapkan terimakasih kepada rekan–rekan seperjuangan Afni,Ellis,Yani, Bayu,Miduk,Tery,Ramli, Renold,dan seluruh teman-teman mahasiswa Fisika Ekstensi stambuk 2008.

Ucapan terimakasih yang sangat istimewa kepada Ayahanda dan Ibunda tersayang H.Tambunan dan M.Hutagaol,abang dan kakak tersayang Moran Hara Kurnia Tambunan,Esther Marini Tambunan atas doa dan dukungan nya kepada penulis dalam menyelesaikan tugas akhir ini dan kepada abang Erdedianto Girsang yang selalu memberikan bantuan dan dukungan serta selalu mendoakan penulis.

Penulis menyadari akan adanya kekurangan dalam penulisan dan penyusunan tugas akhir ini, oleh karena itu penulis sangat mengharapkan saran dan kritik yang bersifat membangun untuk kesempurnaan tugas akhir ini.


(5)

ABSTRAK

Telah dirancang sebuah alat pengendalian bak air secara otomatis memanfaatkan sinyal DTMF dari handphone untuk menghidupkan dan mematikan pompa air secara otomatis.Penggunaan sensor ping ultrasonik range finger untuk mengukur ketinggian air.Status air dan ketinggian air dapat dibaca melalui tampilan LCD.Alat ini dapat diaplikasikan untuk memberi kemudahan bagi masyarakat dalam mengendalian bak air sehingga terjadi keteraturan terhadap kondisi air tersebut dan dapat juga dikendalikan dari jarak jauh maupun jarak dekat.


(6)

ABSTRACT

Has recognized an instrument to control a water vessel at a automatically,that can be used a DTMF’s signal from handphone to turn on and to turn off a water pump.Sensor ultrasonic range finger can be used to measure high water.Situation in a water vessel can be see with LCD.This instrument can be used to give easy and simple way for the people and then this instrument can control a water vessel until their water become regularity for water’s situation and also this instrument can be used from long distance and also near distance.


(7)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstrac vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

BAB 1. PENDAHULUAN

1.1. Latar Belakang ... 1

1.2. Tujuan Penelitian ... 2

1.3. Batasan Masalah ... 2

1.4. Manfaat Penelitian ... 3

1.5. Sistematika Penulisan ... 3

BAB 2. LANDASAN TEORI ... 5

2.1. Mikrokontroller Atmega8535 ... 5

2.1.1. Fitur Atmega8535 ... 6

2.1.2. Konfigurasi Pin Atmega8535 ... 6

2.1.3. Peta Memori ... 10

2.1.4. Status Register (SREG) ... 12

2.2. DTMF(Dual Tone Multiple Frequency) ... 15

2..2.1.DTMF Decoder ... 17

2.3. Sensor Ultrasonic... 19

2.4. Bahasa C ... 21

2.5. Modul LCD(Liquid Crystal Display)M1632 ... 24

2.5.1 Kaki-kaki Modul M1632... 25

2.5.2 Akses ke Register ... 26

2.5.3 Struktur Memori LCD... 30

2.6. Relay... 31

BAB 3. PERANCANGAN ALAT ... 32

3.1. Diagram Blok ... 32

3.2. Rangkaian Power Supply Adaptor(PSA) ... 33

3.3. Perancangan Rangkaian Mikrokontroller Atmega8535 ... 35

3.4. Rangkaian DTMF Dekoder ... 36

3.5. Rangkaian Display LCD ... 37

3.6. Rangkaian Relay Driver Pompa ... 39

3.7. Rangkaian Sensor Jarak (PING) ... 41


(8)

BAB 4. PENGUJIAN ALAT DAN PROGRAM ... 44

4.1. Pengujian Mikrokontroller Atmega8535 ... 44

4.2. Pengujian Rangkaian Relay Driver Pompa ... 48

4.3. Pengujian Rangkaian DTMF Dekoder ... 49

4.4. Pengujian Sensor Jarak Ping Ultrasonic ... 51

4.5. Pengoperasian ... 52

BAB 5. KESIMPULAN DAN SARAN... 53

5.1. Kesimpulan ... 53

5.2. Saran ... 53 Daftar Pustaka

Lampiran A Lampiran B


(9)

DAFTAR TABEL

Halaman

1. Tabel 2.1 Konfigurasi Pin Port B Atmega8535 ... 8

2. Tabel 2.2 Konfigurasi Pin Port D Atmega8535 ... 9

3. Tabel 2.3 Frekuensi Dan Tombol Yang Ditekan ... 16


(10)

DAFTAR GAMBAR

Halaman

1. Gambar 2.1 Spektrum elektromagnetik (B.D Cullity, 1977) ... 4

2. Gambar 2.2 3. Gambar 2.3 Memori Program AVR Atmega8535 ... 12

4. Gambar 2.4 Status Register Atmega8535 ... 13

5. Gambar 2.5 IC HT9170 ... 17

6. Gambar 2.6 Ping Parallax Range Finger... 19

7. Gambar 2.7 Pulsa Ping Parallax Ultrasonic Range Finger ... 21

8. Gambar 2.8 Timing Penulisan Data ke Register Perintah ... 27

9. Gambar 2.9 Timing Diagram Pembacaan Register Perintah ... 28

10.Gambar 2.10 Timing Diagram Penulisan Data ke Register Data ... 29

11.Gambar 2.11 Timing Diagram Pembacaan Data Dari Register Data ... 29

12.Gambar 3.1 Diagram Blok Rangkaian ... 32

13.Gambar 3.2 Rangkaian Power Supplay(PSA) ... 34

14.Gambar 3.3 Rangkaian PSA Untuk Spreyer ... 34

15.Gambar 3.4 Rangkaian Mikrokontroller Atmega8535 ... 35

16.Gambar 3.5 Rangkaian DTMF Decoder ... 36

17.Gambar 3.6 Rangkaian Display LCD ... 37

18.Gambar 3.7 Rangkaian Relay Driver Pompa ... 39

19.Gambar 3.8 Rangkaian Relay Driver Penekan Tombol Hp ... 40

20.Gambar 3.9 Rangkaian Sensor Ping ... 41


(11)

ABSTRAK

Telah dirancang sebuah alat pengendalian bak air secara otomatis memanfaatkan sinyal DTMF dari handphone untuk menghidupkan dan mematikan pompa air secara otomatis.Penggunaan sensor ping ultrasonik range finger untuk mengukur ketinggian air.Status air dan ketinggian air dapat dibaca melalui tampilan LCD.Alat ini dapat diaplikasikan untuk memberi kemudahan bagi masyarakat dalam mengendalian bak air sehingga terjadi keteraturan terhadap kondisi air tersebut dan dapat juga dikendalikan dari jarak jauh maupun jarak dekat.


(12)

ABSTRACT

Has recognized an instrument to control a water vessel at a automatically,that can be used a DTMF’s signal from handphone to turn on and to turn off a water pump.Sensor ultrasonic range finger can be used to measure high water.Situation in a water vessel can be see with LCD.This instrument can be used to give easy and simple way for the people and then this instrument can control a water vessel until their water become regularity for water’s situation and also this instrument can be used from long distance and also near distance.


(13)

BAB 1

PENDAHULUAN

1.1 LATAR BELAKANG

Dalam kehidupan bermasyarakat, manusia selalu berusaha untuk menciptakan suatu kehidupan yang lebih baik dan didukung dengan perkembangan teknologi yang demikian pesat saat ini. Salah satu teknologi yang mengalami perkembangan pesat adalah elektronika. Dari tahun ke tahun akan selalu ditemukan alat untuk memudahkan dan mempercepat pekerjaan-pekerjaan manusia. Kemudahan ini semakin memanjakan manusia dalam kehidupan sehari-hari

Kondisi masyarakat khususnya di daerah perkotaan yang selalu sibuk mengakibatkan masyarakat tersebut tidak terlalu memikirkan tentang kondisi air di rumah nya. Terkhusus buat masyarakat yang tinggal di daerah perumahan yang bertingkat, air sangat jarang sekali mengalir hingga lantai atas dan biasanya air mengalir dengan derasnya pada malam hari sedangkan pada malam hari masyarakat tersebut sedang beristirahat. Hal ini mengakibatkan masyarakat pada umumnya tidak memperdulikan apakah air yang telah di isi dalam bak air sudah diisi atau tidak. Dengan demikian dibuatlah suatu alat pengendalian bak air secara otomatis melalui Handphone berbasis mikrokontroler ATMEGA 8535. Dimana sistem ini mempunyai kemampuan mengontrol dan mematikan pompa air secara otomatis, sehingga bila kita lupa mematikan pompa air, kita dapat langsung mematikannya secara otomatis melalui Handphone.


(14)

1.2 TUJUAN PENELITIAN

Skripsi ini disusun untuk memenuhi beberapa tujuan yang diharapkan, yaitu:

1. Dapat membuat sebuah program yang dapat mengaplikasikan sensor ultrasonic sehingga dapat mengontrol pompa air dan menyampaikan informasi secara visual melalui LCD untuk mengetahui status bak air.

2. Memanfaatkan sinyal DTMF dari Handphone untuk menghidupkan dan mematikan pompa air secara otomatis apabila kita lupa mematikan pompa air kita dapat langsung mematikannya melalui Handphone kita.

3. Mengaplikasikan ilmu yang diperoleh diperkuliahan dalam kehidupan sehari-hari. 4. Memahami bagaimana cara mengintegrasikan program dalam sebuah sistem

mikrokontroler yang terpadu untuk menghasilkan alat yang sederhana dan tepat guna.

1.3 BATASAN MASALAH

Pembatasan masalah dalam penyusunan skripsi ini hanya mencakup masalah-masalah sebagai berikut:

1. Penggunaan Handphone untuk menghidupkan dan mematikan pompa air. LCD digunakan untuk penyampaian informasi visual.

2. Penggunaan sensor untuk mendeteksi ketinggian air menggunakan sensor ultrasonic. 3. Mikrokontroller menggunakan AVR ATMega 8535 produksi ATMEL Inc.

1.4 MANFAAT PENELITIAN

Terdapat dua manfaat dari pelaksanaan skripsi ini,yaitu yang bersifat umum dan khusus: 1. Manfaat secara umum

Secara umum pelaksanaan skripsi yang berjudul “Pengendalian Bak Air Secara Otomatis Melalui Handphone Berbasis Atmega8535” ini diharapkan dapat memberi kemudahan bagi para masyarakat di daerah perkotaan yang selalu sibuk dengan segala aktivitas nya sehingga mereka tidak terlalu mermperdulikan kondisi bak air di dalam


(15)

rumah mereka.Alat ini bekerja untuk mengendalikan bak air sehingga terjadi keteraturan terhadap kondisi air dalam bak air tersebut dan dapat juga dikendalikan dari jarak jauh maupun dekat.

2. Manfaat secara khusus

Dengan pelaksanaan skripsi ini dapat menambah pengetahuan dan kreatifitas. 1.5 SISTEMATIKA PENULISAN

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika penulisan dalam skripsi ini sebagai berikut:

BAB 1. PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang,tujuan penelitian,batasan masalah,manfaat penelitian serta sistematika penulisan.

BAB 2. TEORI DASAR DAN PENDUKUNG

Landasan teori,dalam bab ini dijelaskan tentang teori pendukung yang digunakan dalam pembahasan.Teori pendukung itu antara lain mikrokontroller

Atmega 8535,DTMF(dual tone multiple frequency),cara kerja dari sensor,bahasa program yang digunakan,LCD,serta relay.

BAB 3. RANCANGAN SISTEM

Pada bab ini akan dibahas perancangan dari alat,yaitu diagram blok dari rangkaian,skematik dari masing-masing rangkaian dan diagram alir dari program yang akan diisikan ke mikrokontroller Atmega 8535.

BAB 4 PENGUJIAN ALAT DAN PROGRAM

Pada bab ini meliputi hasil pengujian dari rangkaian dan cara kerja sistem serta penjelasan mengenai program yang digunakan.

BAB 5 KESIMPULAN DAN SARAN

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari pembahasan yang dilakukan dari skripsi ini serta saran yang ditujukan demi perbaikan dan kesempurnaan kedepannya.


(16)

BAB 2

TEORI DASAR DAN PENDUKUNG

2.1 Mikrokontroler Atmega8535

Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer, hadir memenuhi kebutuhan pasar dan teknologi baru. Sebagai teknologi baru, yaitu teknologi semi konduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang kecil serta dapat diproduksi secara massal (dalam jumlah banyak) sehingga harga menjadi lebih murah bila dibandingkan dengan microprocessor. Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggi serta dalam bidang pendidikan.

Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka, dan lain sebagainya), Microcontroller hanya bisa digunakan untuk satu aplikasi tertentu saja. Perbedaan lainnya terletak pada perbandingan RAM dan ROM-nya. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antar muka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan Pada mikrokontroler, perbandingan ROM dan RAM-nya yang besar artinya program control disimpan dalam ROM yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpanan sederhana sementara, termasuk register-register yang digunakan pada Microcontroller yang bersangkutan.

Mikrokontroller saat ini sudah dikenal dan digunakan secara luas pada dunia industri. Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai versi mikrokontroller yang dapat dibeli dengan harga yang relatif murah. Hal ini dikarenakan produksi missal yang dilakukan oleh para produsen chip seperti Atmel, Maxim, dan Microchip. Mikrokontroller saat ini merupakan chip utama pada hamper setiap peralatan elektronika canggih.Alat-alat canggih pun sekarang ini pun sangat bergantung pada kemampuan mikrokontroller tersebut. Mikrokontroller AVR memiliki arsitektur RISC 8 bit,dimana semua instruksi dikemas dalam kode 16-bit (16-bit word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock,berbeda dengan instruksi MCS51 yang


(17)

membutuhkan 12 siklus clock. Tentu saja itu terjadi karena kedua jenis mikrokontroller tersebut memiliki arsitektur yang berbeda. AVR berteknologi RISC (Reduced Instruction Set Computing),sedangkan seri MCS51 berteknologi CISC (Complex Instruction Set Computing). Secara umum,AVR dapat dikelompokkan menjadi 4 kelas,yaitu keluarga ATtiny,keluarga AT90Sxx,keluarga ATmega, dan AT86RFxx. Pada dasar nya,yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama.

2.1.1 Fitur ATMega8535

Kapabilitas detail dari ATMega8535 adalah sebagai berikut :

1. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz.

2. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte.

3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel.

4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. 5. Enam pilihan mode sleep menghemat penggunaan daya listrik.

2.1.2 Konfigurasi Pin ATMega8535

Konfigurasi pin ATMega8535 bisa dilihat pada gambar 4 dibawah ini. Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega8535 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, yaitu Timer/Counter, komparator analog, dan SPI.

5. Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komparator analog, dan Timer Oscilator.

6. Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komparator analog, interupsi eksternal, dan komunikasi serial.

7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroller. 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


(18)

Gambar 2.1. Pin ATMega8535

Berikut adalah penjelasan fungsi tiap kaki. 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. 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


(19)

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.

Port Pin Fungsi Khusus

PB0 T0 = timer/counter 0 external counter input PB1 T1 = timer/counter 0 external counter input PB2 AIN0 = analog comparator positive input PB3 AIN1 = analog comparator negative input PB4 SS = SPI slave select input

PB5 MOSI = SPI bus master output / slave input PB6 MISO = SPI bus master input / slave output PB7 SCK = SPI bus serial clock

Tabel 2.1 Konfigurasi pin port B ATmega8535 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.

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 memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1 jika sebagai


(20)

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

Port Pin Fungsi Khusus

PD0 RDX (UART input line) PD1 TDX (UART output line)

PD2 INT0 ( external interrupt 0 input ) PD3 INT1 ( external interrupt 1 input )

PD4 OC1B (Timer/Counter1 output compareB match output) PD5 OC1A (Timer/Counter1 output compareA match

output)

PD6 ICP (Timer/Counter1 input capture pin)

PD7 OC2 (Timer/Counter2 output compare match output)

Tabel 2.2 Konfigurasi Pin Port D ATmega8535 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.

6. XTAL1

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

7. XTAL2

XTAL2 adalah output dari inverting oscillator amplifier. 8. Avcc

Avcc adalah kaki masukan tegangan bagi A/D Converter. Kaki ini harus secara eksternal terhubung ke Vcc melalui lowpass filter.


(21)

9. AREF

AREF adalah kaki masukan referensi bagi A/D Converter. Untuk operasionalisasi ADC, suatu level tegangan antara AGND dan Avcc harus dibeikan ke kaki ini.

10. AGND

AGND adalah kaki untuk analog ground. Hubungkan kaki ini ke GND, kecuali jika board memiliki anlaog ground yang terpisah.

2.1.3 Peta Memori

AVR ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian, yaitu 32 buah register umum, 64 buah register I/O, dan 512 byte SRAM Internal.

Register keperluan umum menempati space data pada alamat terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan control terhadap mikrokontroller menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroller, seperti control register, timer/conter, fungsi-fungsi I/O, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat pada tabel 1.1 Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai

dengan $25F. Konfigurasi memori data

ditunjukkan pada gambar dibawah ini .


(22)

Memori program yang terletak dalam Flash PEROM tersusun dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32-bit. AVR ATMega8535 memiliki 4 KByteX16-bit Flash PEROM dengan alamat mulai dari $000 sampai $FFF. AVR tersebut memiliki 12-bit Program Counter (PC) sehingga mampu mengalamati isi flash. Selain itu AVR ATMega8535 juga memiliki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari $000 sampai $1FF. Dibawah ini adalah gambar memori program AVR ATMega8535.

Gambar 2.3 Memori Program AVR ATMega8535

2.1.4 status Register (SREG)

Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan, ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler.


(23)

Gambar 2.4 Status Register ATMega8535 1. Bit 7-I: Global Interrupt Enable

Bit harus diset untuk meng-enable interupsi. Setelah itu, dapat kita aktifkan interupsi mana yang akan digunakan dengan cara meng-enable bit kontrol register yang bersangkutan secara individu. Bit akan di-clear apabila terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak akan mengizinkan terjadinya interupsi, serta akan diset kembali oleh instruksi RETI.

2. Bit 6-T: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 register 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 (komplemen dua overflow).

5. Bit 3-V: Two’s Complement Overflow Flag Bit berguna untuk mendukung operasi aritmatika. 6. Bit 2-N: Negative Flag


(24)

7. Bit 1-Z: Zero Flag

Bit akan diset bila hasil operasi yang diperoleh adalah nol. 8. Bit 0-C: Carry Flag

Apabila suatu operasi menghasilkan carry, maka bit akan diset.

Port I/O pada mikrokontroller ATmega8535 dapat difungsikan sebagai input dan juga sebagai output dengan keluaran high atau low.Untuk mengatur fungsi port I/O sebagai input ataupun output, perlu dilakukan setting pada DDR dan port. Logika port I/O dapat diubah-ubah dalam program secara byte atau hanya bit tertentu. Mengdiubah-ubah sebuah keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O)untuk menghasilkan output low atau perintah sbi (set bit I/O)untuk menghasilkan output high. Pengubahan secara byte dilakukan dengan perintah in atau out yang menggunakan register bantu.

Data yang dipakai dalam mikrokontroller ATmega8535 dipresentasikan dalam sistem bilangan biner, desimal, dan bilangan heksadesimal. Data yang terdapat di mikrokontroller dapat diolah dengan berbagai operasi aritmatik (penjumlahan, pengurangan, dan perkalian)maupun operasi nalar (AND, OR, dan EOR /eksklusif OR).

AVR ATmega8535 memiliki tiga buah timer, yaitu: 1. Timer/counter 0 (8 bit)

2. Timer/ counter 1 (16 bit) 3. Timer/counter 2 (8 bit)

Karena ATmega8535 memiliki 8 saluran ADC maka untuk keperluan konversi sinyal analog menjadi data digital yang berasal dari sensor dapat langsung dilakukan prosesor utama. Beberapa karakteristik ADC internal ATmega8535 adalah :

1. Mudah dalam pengoperasian. 2. Resolusi 10 bit.

3. Memiliki 8 masukan analog. 4. Konversi pada saat CPU sleep.


(25)

2.2 DTMF (Dual Tone Multiple Frequency)

DTMF (Dual Tone Multiple Frequency) merupakan suatu gelombang frekuensi yang terdiri dari dua buah frekuensi nada yang berbeda nilainya tetapi dibangkitkan dalam waktu bersamaan sehingga menghasilkan sebuah nada dengan frekuensi tertentu yaitu frekuensi gabungan dari dua nada tersebut, nada gabungan ini biasa disebut dengan sebutan nada DTMF.

Telepon PSTN maupun handphone saat ini menggunakan sistem DTMF yakni teknik mengirimkan angka- angka pembentuk nomor telepon yang di-kode-kan dengan 2 nada yang dipilih dari 8 buah frekuensi yang sudah ditentukan. Telepon PSTN pada umumnya memiliki 10 buah tombol ditambah * dan #, jadi jumlahnya adalah 12. Sebenarnya di samping 12 angka dan symbol tersebut masih ada 4 huruf yang bias kita letakkan di sana katakanlah A, B, C dan D. Jadi semuanya terdapat 16 tombol. Di dalam komunikasi ke enambelas tombol tersebut dikirimkan dengan 2 frekuensi yang berbeda. Satu frekuensi masuk ke dalam frekuensi tinggi dan satu lagi masuk ke dalam group frekuensi rendah. Masing- masing group memiliki 4 macam variasi (nilai frekuensi) sinyal sehingga dengan 2 group frekuensi tadi dapat dikodekan 16 macam simbol. Pengkodean terhadap tombol tersebut dapat dilakukan berdasarkan table berikut.

Tabel 2.3 Frekuensi dan Tombol yang ditekan Frekuensi Rendah (Hz) Frekuensi Tinggi (Hz) Tombol yang ditekan

697 1209 1

697 1336 2

697 1477 3

697 1633 A

770 1209 4

770 1336 5

770 1477 6

770 1633 B

852 1209 7

852 1336 8

852 1447 9


(26)

941 1209 *

941 1336 0

941 1447 #

941 1633 D

Dari tabel diatas dapat diketahui bahwa setiap penekanan tombol di pesawat telepon akan membangkitkan 2 nada (tone) yaitu nada frekuensi tinggi dan nada frekuensi rendah.

2.2.1 DTMF Decoder

DTMF Decoder berfungsi untuk mengubah sinyal DTMF yang berupa data analog menjadi data digital.IC HT9170 adalah sebuah DTMF decoder yang digunakan untuk mengkodekan 16 pasang nada DTMF menjadi data digital 4 bit.

HT 9170 memiliki beberapa fitur, antara lain: • Bekerja pada tegangan 2.5 V ~ 5.5 V

• Komponen tambahan yang dibutuhkan sedikit • Kinerja yang baik

Pin- pin IC HT9170 dapat dilihat pada gambar dibawah ini dan keluaran hasil decode sinyal IC HT9170 dapat dilihat pada tabel 2.5.

VP

VN

GS

VREF

INH

PWDN

X1

X2

VSS

VDD

RT/GT

EST

DV

D3

D2

D1

D0

OE


(27)

Tabel 2.4. Daftar Keluaran Hasil Decode Sinyal IC HT9170 Frekuensi Rendah (Hz) Frekuensi Tinggi (Hz) Tombol

Hp OE D3 D2 D1 D0

697 1209 1 H L L L H

697 1336 2 H L L H L

697 1477 3 H L L H H

770 1209 4 H L H L L

770 1336 5 H L H L H

770 1477 6 H L H H L

852 1209 7 H L H H H

852 1336 8 H H L L L

852 1477 9 H H L L H

941 1336 0 H H L H L

941 1209 * H H L H H

941 1477 # H H H L L

697 1633 A H H H L H

770 1633 B H H H H L

852 1633 C H H H H H

941 1633 D H L L L L

2.3 SENSOR ULTRASONIK

Ultrasonik, sebutan untuk jenis suara diatas batas suara yang bisa didengar manusia. Seperti diketahui, telinga manusia hanya bisa mendengar suara dengan frekuensi 20 Hz sampai 20KHz. Lebih dari itu hanya beberapa jenis binatang yang mampu mendengarnya, seperti kelelawar dan lumba-lumba. Lumba-lumba bahkan memanfaatkan ultrasonik untuk mengindera benda-benda di laut. Prinsip ini kemudian ditiru oleh sistem pengindera kapal selam. Dengan cara mengirimkan sebuah suara dan mengitung lamanya pantulan suara tersebut maka dapat diketahui jarak kapal selam dengan benda tersebut. Mula-mula suara dibunyikan, kemudian dihitung lama waktu sampai terdengar suara pantulan. Jarak dapat dihitung dengan mengalikan kecepatan suara dengan waktu pantulan. Kemudian hasilnya


(28)

dibagi 2. Misalnya lama waktu pantulan adalah 1 detik, maka jaraknya adalah (344,424m/detik x 1 detik)/2 = 172m.

Ping Ultrasonic Range Finder, adalah modul pengukur jarak dengan ultrasonic buatan Parallax Inc. yang didesain khusus untuk teknologi robotika. Dengan ukurannya yang cukup kecil (2,1cm x 4,5cm), sensor seharga 300 ribu rupiah ini dapat mengukur jarak antara 3 cm sampai 300 cm. Keluaran dari Ping berupa pulsa yang lebarnya merepresentasikan jarak. Lebar pulsanya bervariasi dari 115 uS sampai 18,5 mS.

Gambar2.6. Ping Parallax Ultrasonic Range Finder

Pada dasanya, Ping terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik berfungsi untuk mendeteksi pantulan suaranya. Pada modul Ping terdapat 3 pin yang digunakan untuk jalur power

supply (+5V), ground dan signal. Pin signal dapat langsung dihubungkan dengan mikrokontroler tanpa tambahan komponen apapun. Ping mendeteksi objek dengan cara mengirimkan suara ultrasonik dan kemudian “mendengarkan” pantulan suara tersebut. Ping))) hanya akan mengirimkan suara ultrasonik ketika ada pulsa trigger dari mikrokontroler (Pulsa high selama 5uS). Suara ultrasonik dengan frekuensi sebesar 40KHz akan dipancarkan selama 200uS. Suara ini akan merambat di udara dengan kecepatan 344.424m/detik (atau 1cm setiap 29.034uS), mengenai objek untuk kemudian terpantul kembali ke Ping. Selama menunggu pantulan, Ping akan menghasilkan sebuah pulsa. Pulsa ini akan berhenti (low) ketika suara pantulan terdeteksi oleh Ping. Oleh karena itulah lebar pulsa tersebut dapat merepresentasikan jarak antara ping dengan objek. Selanjutnya mikrokontroler cukup mengukur lebar pulsa tersebut dan mengkonversinya dalam bentuk jarak dengan perhitungan sebagai berikut


(29)

Jarak = (Lebar Pulsa/29.034uS) /2 (dalam cm) atau

Jarak = (Lebar Pulsa x 0.034442) /2 (dalam cm) Karena 1/29.034 = 0.34442

Gambar 2.7 Pulsa Ping Parallax Ultrasonic Range Finder

Satu hal yang perlu diperhatikan adalah bahwa ping tidak dapat mengukur objek yang permukaannya dapat menyerap suara, seperti busa atau sound damper lainnya. Pengukuran jarak juga akan kacau jika permukaan objek bergerigi dengan sudut tajam (meruncing). 2.4 BAHASA C

Pemrograman Bahasa C untuk AVR Bahasa C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya.

Aplikasi CodeVision AVR C Compiler :


(30)

• Pilih project OK

• Klik Yes


(31)

NB: Untuk Chip dan Clock Sesuaikan Dengan Yang Anda Gunakan Simpan sesuai nama yang anda inginkan

Example : Ping.c (untuk file source C) Ping.prj (untuk file project)


(32)

2.5. Modul LCD (Liquid Crystal Display) M1632

M1632 merupakan modul LCD matrix dengan konfigurasi 16 karakter dan 2 baris dengan setiap karakternya dibentuk oleh 8 baris

HD44780 sebetulnya merupakan mikrokontroler yang dirancang khusus untuk mengendalikan 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 proses scanning pada layar LCD. Mikrokontroler atau perangkat tersebut hanya mengirimkan data-data yang merupakan karakter yang akan ditampilkan pada LCD atau perintah yang mengatur proses tampilan pada LCD saja.

2.5.1 Kaki-kaki Modul M1632

Untuk keperluan antarmuka suatu komponen elektronik dengan mikrokontroler, perlu diketahui fungsi dari setiap kaki yang ada pada komponen tersebut.

a. Kaki 1 (GND)

Kaki ini berhubungan dengan tegangan +5 Volt yang merupakan tegangan untuk sumber daya dari HD44780 (khusus untuk modul M1632 keluaran hitachi, kaki ini adalah VCC)

b. Kaki 2 (VCC)

Kaki ini berhubungan dengan tegangan 0 volt (ground) dan modul LCD (khusus untuk modul M1632 keluaran hitachi, kaki ini adalah GND)

c. Kaki 3 (VEE/VLCD)

Tegangan pengatur kontras LCD, kaki ini terhubung pada V5. Kontras mencapai nilai maksimum pada saat kondisi kaki ini pada tegangan 0 volt.


(33)

Register Select, kaki pemilih register yang akan diakses. Untuk akses ke register data, logika dari kaki ini adalah 1 dan untuk akses ke register perintah, logika dari kaki ini adalah 0.

e. Kaki 5 (R/W)

Logika 1 pada kaki ini menunjukkan bahwa modul LCD sedang pada mode pembacaan dan logika 0 menunjukkan bahwa modul LCD sedang pada mode penulisan. Untuk aplikasi yang tidak memerlukan pembacaan data pada modul LCD, kaki ini dapat dihubungkan langsung ke ground.

f. Kaki 6 (E)

Enable Clock LCD, kaki ini mengaktifkan clock LCD. Logika 1 pada kaki ini diberikan pada saat penulisan atau pembacaan data.

g. Kaki 7-14 (D0-D7)

Data bus, kedelapan kaki modul LCD ini adalah bagian dimana aliran data sebanyak 4 bit atau 8 bit mengalir saat proses penulisan maupun pembacaan data.

h. Kaki 15 (Anoda)

Berfungsi untuk tegangan positif dari backlight modul LCD sekitar 4,5 volt (hanya terdapat untuk M1632 yang memiliki backlight).

i. Kaki 16 (Katoda)

Tegangna negatif backlight modul LCD sebesar 0 volt (hanya untuk M1632 yang memiliki backlight).

2.5.2 Akses ke Register

Seperti telah dijelaskan sebelumnya, HD44780 yang menjadi pengendali modul M1632 mempunyai dua buah register, yaitu register data dan register perintah. Berikut ini akan


(34)

dijelaskan bagaimana proses terjadinya penulisan maupun pembacaan data dari kedua register ini.

a. Penulisan Data ke Register Perintah

Penulisan data ke register perintah digunakan untuk memberikan perintah-perintah pada Modul M1632 sesuai dengan data-data yang dikirimkan ke register tersebut. Gambar 2.3 menunjukkan proses penulisan data ke register perintah menggunakan mode 4 bit interface. Kondisi RS berlogika 0 menunjukkan akses data ke register perintah. RW berlogika 0 menunjukkan proses penulisan data akan dilakukan. Nibble tinggi (bit7 sampai bit 4) terlebih dahulu dikirimkan dengan diawali pulsa logika 1 pada E Clock, kemudian nibble rendah (bit 3 sampai bit 0) dikirimkan dengan diawalai pulsa logika 1 pada E Clock lagi.

Gambar 2.8 Timing penulisan data ke register perintah mode 4 bit interface

Built In Routine

Kirim_Perintah EQU 433H

... Lcall Kirim_Perintah


(35)

b. Pembacaan Data dari Register Perintah

Proses pembacaan data dari register perintah ini digunakan untuk membaca status sibuk M1632 dan addres counter saja. RS diatur pada logika 0 untuk akses ke register perintah dan R/W diatur pada logika 1 yang menunjukkan proses pembacaan data. Empat bit nibble tinggi dibaca dengan diawali pulsa logika 1 pada E Clock dan kemudian 4 bit nibble rendah dibaca dengan diawali pulsa logika 1 pada E clock.

Gambar 2.9 Timing diagram pembacaan register perintah mode 4 bit interface

c. Penulisan Data ke Register Data

Penulisan data ke register data digunakan dalam proses penulisan data karakter yang akan ditampilkan ke LCD (DDRAM) atau proses penulisan data pola karakter ke CGRAM.

Proses diawali dengan adanya logika 1 pada RS yang menunjukkan akses ke register data. Kondisi R/W diatur pada logika 0 yang menunjukkan proses penulisan data. Data 4 bit nibble tinggi (bit 7 hingga bit 4) dikirim dengan diawali dngan pulsa logika 1 pada sinyal E Clock dan kemudian diikuti 4 bit nibble rendah (bit 3 hingga

bit 0) yang jugan diawali pulsa logika 1


(36)

Gambar 2.10 Timing diagram penulisan data ke register data mode 4 bit interface

d. Pembacaan Data ke Register Data

Pembacaan data dari rd dilakukan untuk membaca kembali data yang tampil pada LCD. Proses dilakukan dengan mengatur RS pada logika 1 yang menunjukkan adanya akses ke register data . Kondisi R/W diatur pada logika tinggi yang menunjukkan adanya proses pembacaan data. Data 4 bit nibble (bit 7 hingga bit 4) dibaca dengan diawali adanya pulsa logika 1 pada E Clock dan dilanjutkan dengan data 4 bit nibble rendah (bit 3 hingga bit 0) yang juga diawali dengan pulsa logika 1 pada E Clock.

Gambar 2.11 Timing diagram pembacaan data dari register data mode 4 bit interfacace

2.5.3 Struktur Memori LCD

Modul LCD M1632 memiliki beberapa jenis memori yang digunakan untuk menyimpan atau memproses data-data yang akan ditampilkan pada layar LCD. Setiap jenis memori

mempunyai fungsi-fungsi tersendiri. a. DDRAM


(37)

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 ditulis di alamat 40h, karakter tersebut akan tampil pada baris kedua kolom pertama dari LCD.

b. CGRAM

CGRAM adalah memori untuk menggambarkan pola sebuah karakter dan bentuk karakter dapat diubah-ubah sesuai keinginan. Akan tetapi isi memori akan hilang saat power supply tidak aktif sehingga pola karakter akan hilang.

c. CGROM

CGROM adalah memori untuk menggambarkan pola sebuah karakter dan pola tersebut sudah ditentukan secara permanen dari HD44780 sehingga pengguna tidak dapat mengubah lagi. Oleh karena ROM bersifat permanen, pola karakter tersebut tidak akan hilang walaupun power suplly tidak aktif.

2.6 RELAY

Relay adalah sebuah saklar yang digunakan untuk menghubungkan atau memutus aliran listrik yang dikontrol dengan memberikan tegangan dan arus tertentu pada koilnya. Relay biasanya hanya mempunyai satu kumparan tetapi relay dapat mempunyai beberapa kontak.

Pada dasarnya, konstruksi dari relay terdiri dari lilitan kawat (koil) yang dililitkan pada inti besi lunak. Jika lilitan kawat mendapat aliran arus, inti besi lunak kontak menghasilkan medan magnet dan menarik switch kontak. Switch kontak mengalami gaya listrik magnet sehingga berpindah posisi ke kutub lain atau terlepas dari kutub asalnya. Keadaan ini akan bertahan selama arus mengalir pada kumparan relay. Dan relay akan


(38)

kembali ke posisi semula (normal), bila tidak ada lagi arus yang mengalir padanya. Posisi normal relay tergantung pada jenis relay yang digunakan.

Biasanya kontak yang akan berhubung saat relay bekerja sering disebut Normally Open (NO), sedangkan kontak yang membuka saat relay bekerja disebut Normally Close (NC).


(39)

BAB 3

PERANCANGAN ALAT DAN PROGRAM

3.1 Diagram Blok

Secara garis besar, diagram blok rangkaian pengendali tangki air menggunakan handphone ditunjukkan pada gambar berikut ini :

Gambar 3.1 Diagram Blok Rangkaian

Gambar diatas menjelaskan bahwa dalam proses pengiriman perintah, hp pengirim atau yang untuk seterusnya dalam penulisan skripsi ini disebut sebagai hp client menghubungi hp penerima yang untuk selanjutnya akan disebut sebagai hp server, saat hp client telah terhubung ke hp server, maka komunikasi dapat dilakukan, demikian pula dengan komunikasi nada DTMF (Dual Tone Multi Frequency).

DTMF

Decoder Mikrokontroller ATMEGA8535 Relay driver pompa Pompa Air Display LCD Driver Relay DTMF mc Hp Client Hp Server Sensor Jarak (PING)


(40)

Penekanan salah satu tombol pada HP client akan menghasilkan nada DTMF, nada DTMF ini akan terkirim ke hp server yang akan diteruskan ke rangkaian DTMF decoder yang terhubung melalui kabel headset. Nada DTMF yang berisikan frekwensi tertentu tersebut akan diterjemahkan oleh rangkaian DTMF decoder menjadi data biner 4 bit. Data yang dihasilkan diteruskan ke mikrokontroller ATMEGA8535. Data tersebut masuk sebagai input pada mikrokontroller untuk selanjutnya diproses untuk menentukan tindakan selanjutnya, yaitu menghidupkan atau mematikan pompa air dengan mengendalikan relay yang terhubung ke mikrokontroller. Sistem ini menggunakan MT9170 sebagai DTMF decoder.

Sedangkan untuk proses pengiriman data balasan ke user, maka pada tangki diletakkan sensor jarak yang mengukur jarak air dari atas, jika penuh, maka mikrokontroller akan mengaktifkan relay untuk menekan tombol “9”, sehingga HP user akan miscall ke HP client. Dalam hal ini digunakan fungsi “autodial” dari HP client.

LCD akan menampilkan status atau kondisi bak air, dalam keadaan penuh, sedang atau kosong. Sekaligus menampilkan hasil pembacaan jarak air ke sensor.

3.2 Rangkaian Power Supply Adaptor (PSA)

Agar rangkaian dapat bekerja, maka dibutuhkan sumber tegangan. Pada perancangan ini dibutuhkan 3 sumber tegangan yang berbeda, yaitu (+) 5 volt DC, (+) 12 volt DC dan (–) 12 volt DC. Tegangan (+) 5 volt DC digunakan untuk mensupplay tegangan ke IC DTMF decoder, keluaran (+) 12 volt digunakan untuk mensupplay tegangan positip Op-Amp dan relay, sedangkan keluaran (-) 12 volt untuk mensupplay tegangan negatip Op-Amp. Rangkaian tampak seperti gambar di bawah ini:


(41)

Gambar 3.2 Rangkaian Power Supplay (PSA)

Trafo merupakan trafo stepdown yang berfungsi untuk menurunkan tegangan dari 220 volt AC menjadi 12 volt AC. Kemudian 12 volt AC akan disearahkan dengan

menggunakan dioda, selanjutnya 12 volt DC akan diratakan oleh kapasitor 3300 μF. Untuk

menghasilkan tegangan (+) 5 volt DC digunakan Regulator tegangan 5 volt (LM7805CT). Untuk menghasilkan tegangan (+) 12 volt DC digunakan Regulator tegangan 12 volt (LM7812CT). dan untuk menghasilkan tegangan (-) 12 volt DC digunakan Regulator tegangan - 12 volt (LM7912CT).

Pada perancangan rangkaian ini digunakan 2 buah power supplay, yang pertama untuk mensupplay tegangan ke seluruh rangkaian dan yang kedua berfungsi untuk mensupplay tegangan ke pompa air. Rangkaian power supplay untuk pompa air ditunjukkan oleh gambar berikut:

Gambar 3.3 rangkaian PSA untuk spreyer


(42)

3.3. Perancangan Rangkaian Mikrokontroler ATMEGA8535

Rangkaian ini berfungsi untuk mengendalikan seluruh sistem. Komponen utama dari rangkaian ini adalah IC mikrokontroler ATMEGA8535. Pada IC inilah semua program diisikan, sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki. Rangkaian mikrokontroler ditunjukkan pada gambar berikut ini:

Gambar 3.4 Rangkaian mikrokontroller ATMEGA8535

Mikrokontroler ini memiliki 32 port I/O, yaitu port A, port B, port C dan port D. Pin 33 sampai 40 adalah Port A yang merupakan port ADC, dimana port ini dapat menerima data analog. Pin 1 sampai 8 adalah port B. Pin 22 sampai 29 adalah port C. Dan Pin 14 sampai 21 adalah port D. Pin 10 dihubungkan ke sumber tegangan 5 volt. Dan pin 11 dihubungkan ke ground. Rangkaian mikrokontroler ini menggunakan komponen kristal sebagai sumber clocknya. Nilai kristal ini akan mempengaruhi kecepatan mikrokontroler dalam mengeksekusi suatu perintah tertentu.


(43)

Pada pin 9 dihubungkan dengan sebuah kapasitor dan sebuah resistor yang dihubungkan ke ground. Kedua komponen ini berfungsi agar program pada mikrokontroler dijalankan beberapa saat setelah power aktip. Lamanya waktu antara aktipnya power pada IC mikrokontroler dan aktipnya program adalah sebesar perkalian antara kapasitor dan resistor tersebut.

3.4. Rangkaian DTMF Dekoder.

IC MT9170 merupakan IC DTMF dekoder yang dirancang untuk keperluan merubah TONE dari nada DTMF menjadi 4 bit data biner. Rangkaian DTMF decoder ditunjukkan oleh gambar berikut ini :

Gambar 3.5 Rangkaian DTMF Dekoder.

Komponen utama dari rangkaian ini adalah IC MT9170. IC ini akan merubah nada DTMF yang ada menjadi 4 bit data biner. Jika nada yang diterima adalah nada dari penekanan keypad angka 1, maka output dari rangkaian ini adalah 0001. Jika yang diterima nada 2, maka output dari rangkaian ini adalah 0010 dan demikian seterusnya.

Output dari rangkaian DTMF dekoder ini dihubungkan ke mikrokontroller, sehingga mikrokontroller dapat mengenali data yang dikirimkan oleh rangkaian ini untuk kemudian diolah oleh mikrokontroller untuk melaksanakan instruksi selanjutnya.


(44)

3. 5 Rangkaian Display LCD

Rangkaian display LCD ini berfungsi untuk menampilkan status relay (ON atau OFF). Rangkaian display LCD ditunjukkan pada gambar 3.5 berikut ini :

Gambar 3.6 Rangkaian Display LCD

LCD terdiri dari sejumlah memory yang digunakan untuk display. Semua teks yang kita tuliskan ke LCD adalah disimpan didalam memory ini, dan LCD secara berturutan membaca memory ini untuk menampilkan teks ke LCD itu sendiri.

Pada peta memori tersebut, daerah yang berwarna biru ( 00 s/d 0F dan 40 s/d 4F ) adalah display yang tampak. Sebagaimanan yang anda lihat, jumlahnya sebanyak 16 karakter per baris dengan dua baris. Angka pada setiap kotak adalah alamat memori yang bersesuaian dengan posisi dari layar. Demikianlah karakter pertama di sudut kiri atas adalah menempati alamah 00h. Posisi karakter berikutnya adalah alamat 01h dan seterusnya. Akan tetapi, karakter pertama dari baris 2 sebagaimana yang ditunjukkan pada peta memori adalah pada alamat 40h. Dimikianlah kita perlu untuk mengirim sebuah perintah ke LCD untuk mangatur letak posisi kursor pada baris dan kolom tertentu. Instruksi Set Posisi Kursor adalah 80h. Untuk ini kita perlu menambahkan alamat lokasi dimana kita berharap untuk menempatkan kursor.Sebagai contoh, kita ingin menampilkan kata ”World” pada baris ke


(45)

dua pada posisi kolom ke sepuluh. Sesuai peta memori, posisi karakter pada kolom 11 dari baris ke dua, mempunyai alamat 4Ah, sehingga sebelum kita tulis kata ”World” pada LCD, kita harus mengirim instruksi set posisi kursor, dan perintah untuk instruksi ini adalah 80h ditambah dengan alamat 80h+4Ah =0Cah. Sehingga dengan mengirim perintah Cah ke LCD, akan menempatkan kursor pada baris kedua dan kolom ke 11 dari DDRAM.

Set Alamat Memori DDRAM

RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0

0 0 1 A A A A A A A

Catatan:

A : Alamat RAM yang akan dipilih

Sehingga alamat RAM LCD adalah 000 0000 S/D 111 1111 b atau 00 s/d 7Fh

3.6 Rangkaian Relay Driver Pompa

Pompa air yang digunakan adalah pompa 12s volt, dengan arus stabil sebesar 450 mA. Rangkaian rangkaian relay driver pompa ini berfungsi sebagai saklar elektronik untuk menghubungkan pompa dengan sumber tegangan positip. Pada perancangan ini digunakan relay 12 volt dan sebuah rangkaian transistor sebagai saklar. Rangkaian relay driver pompa ini ditunjukkan pada gambar berikut ini :


(46)

Gambar 3.7 Rangkaian relay Driver Pompa

Komponen utama dari rangkaian ini adalah relay. Relay merupakan salah satu komponen elektronik yang terdiri dari lempengan logam sebagai saklar dan kumparan yang berfungsi untuk menghasilkan medan magnet. Pada rangkaian ini digunakan relay 12 volt, ini berarti jika positip relay (kaki 1) dihubungkan ke sumber tegangan 12 volt dan negatip relay (kaki 2) dihubungkan ke ground, maka kumparan akan menghasilkan medan magnet, dimana medan magnet ini akan menarik logam yang mengakibatkan saklar terhubung.

Pada rangkaian ini untuk mengaktipkan atau menon-aktipkan relay digunakan transistor tipe NPN. Dari gambar dapat dilihat bahwa negatip relay dihubungkan ke kolektor dari transistor NPN (2SC945), ini berarti jika transistor dalam keadaan aktip maka kolektor akan terhubung ke emitor dimana emitor langsung terhubung ke ground yang menyebabkan tegangan di kolektor menjadi 0 volt, keadaan ini akan mengakibatkan relay aktip. Sebaliknya jika transistor tidak aktip, maka kolektor tidak terhubung ke emitor, sehingga tegangan pada kolektor menjadi 12 volt, keadaan ini menyebabkan tidak aktip.

Kumparan pada relay akan menghasilkan tegangan singkat yang besar ketika relay dinon-aktipkan dan ini dapat merusak transistor yang ada pada rangkaian ini. Untuk mencegah kerusakan pada transistor tersebut sebuah dioda harus dihubungkan ke relay tersebut. Dioda dihubungkan secara terbalik sehingga secara normal dioda ini tidak menghantarkan. Penghantaran hanya terjadi ketika relay dinonaktipkan, pada saat ini arus akan terus mengalir melalui kumparan dan arus ini akan dialirkan ke dioda. Tanpa adanya


(47)

dioda arus sesaat yang besar itu akan mengalir ke transistor, yang mengakibatkan kerusakan pada transistor.

Input dari rangkaian ini dihubungkan ke mikrokontroler, sehingga ON/OFF relay dapat dikendalikan oleh mikrokontroler, sehingga pompa dapat dikendalikan melalui computer.

Driver relay untuk menekan tombol hp, memiliki cara kerja yang hamper sama denganrelay driver pompa. Relay driver hp ditunjukkan pada gambar berikut:

Gambar 3.8 Rangkaian relay Driver Penekan tombol Hp

Jika relay ini aktif, maka output akan menghubungkan kedua jalur yang ada pada tombol hp, sehingga tombol hp akan tertekan.

3.6 Rangkaian Sensor Jarak (PING)

Sensor jarak yang digunakan adalah sensor PING ultrasonic. Sensor ini dapat mengukur jarak hingga 3 meter, sensor ini menggunakan motode pemancaran dan penerimaan sinyal suara ultrasonic. Gambar sensor jarak PING ditunjukkan pada gambar berikut ini ;


(48)

Gambar 3.9 Rangkaian sensor ping

Sensor jarak PING ultrasonic ini didesign untuk mengukur jarak. Namun jarak yang diukur hanya sebatas 3 meter. Sensor ini terdiri dari 3 pin, yaitu satu pin untuk Vcc 5 Volt, satu pin untuk ground dan satu pin untuk sinyal.


(49)

BAB 4

PENGUJIAN ALAT DAN PROGRAM

Pada bab ini, akan dibahas pengujian alat mulai dari pengujian alat permodul sampai

pengujian alat secara keseluruhan. Pengujian tersebut akan dilakukan secara bertahap dengan urutan sebagai berikut:

a. Pengujian masing-masing blok b. Pengujian sistem secara keseluruhan

4.1 Pengujian mikrokontroller ATMEGA8535

Pada pengujian mikrokontroller ATMEGA8535 ini dilakukan percobaan yang sifatnya sederhana tapi dapat menunjukkan bekerja tidaknya mikrokontroller ATMEGA8535 tersebut. Percobaan tersebut adalah menghidupkan beberapa buah LED secara bergantian. Percobaan ini dilakukan pada I/O port (Port A). Untuk menghidupkan LED tersebut dilakukan langkah sebagai berikut:

1. Buka software CodeVisionAVR (terdapat Shortcut pada Desktop). 2. Pilih menu File  New dan pilih Project kemudian tekan OK.

3. Kemudian pilih Yes saat ada pilihan menggunakan CodeWizardAVR, seperti tampak pada gambar berikut.

4. Pada settingan CodeWizardAVR, atur konfigurasi chip menggunakan


(50)

(51)

6. Setelah itu, pilih menu File  Generate, Sava and Exit, dan simpan file dengan nama sesuai keinginan uji.

7. Akan muncul file .c yang akan digunakan untuk pemrograman. Selanjutnya dituliskan program sebagai berikut


(52)

while (1) {

// Place your code here PORTA=240

delay_ms(100); PORTA=15 delay_ms(100); };

}

Jika program tersebut dijalankan, maka LED akan hidup dan mati secara bergantian seperti yang ditunjukkan dalam tabel berikut:

LED 1 LED 2 LED 3 LED 4 LED 5 LED 6 LED 7 LED 8

Tahap 1 ON ON ON ON OFF OFF OFF OFF

Tahap 2 OFF OFF OFF OFF ON ON ON ON

8. Untuk compile program, dapat menggunakan tombol F9 atau meng-klik icon pada toolbar.

Jika program telah berjalan sesuai dengan yang dikehendaki, maka system minimum mikrokontroller ATMEGA8535 telah berjalan dengan baik.

4.2. Pengujian Rangkaian Relay Driver Pompa

Pengujian rangkaian relay driver pompa dapat dilakukan dengan memberikan tegangan 5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN,


(53)

transistor jenis ini akan aktip jika pada basis diberi tegangan > 0,7 volt dan tidak aktip jika pada basis diberi tegangan < 0,7 volt. Aktipnya transistor akan menghidupkan pompa.

Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke mikrokontroler pada PORTA.1 kemudian memberikan program sederhana pada mikrokontroler ATMEGA8535. Program yang diberikan adalah sebagai berikut:

while (1) {

// Place your code here PORTA.1=1; delay_ms(30); };

}

Perintah di atas akan memberikan logika high pada PORTA.1, sehingga PORTA.1 akan mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945, sehingga pompa hidup. Berikutnya memberikan program sederhana untuk mematikan pompa. Programnya sebagai berikut:

while (1) {

// Place your code here PORTA.1=0; delay_ms(30); };

}

Perintah di atas akan memberikan logika low pada PORTA.1, sehingga PORTA.1 akan mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945, sehingga pompa mati.

4.3. Pengujian Rangkaian DTMF Dekoder.

Pengujian pada rangkaian ini dapat dilakukan dengan mengubungkan input dengan kabel speaker pada HP. Selanjutnya tombol pada HP ditekan dan dilihat outpunya. Dari hasil pengujian didapatkan data sebagai berikut :


(54)

1 ON OFF OFF OFF

2 OFF ON OFF OFF

3 ON ON OFF OFF

4 OFF OFF ON OFF

5 ON OFF ON OFF

6 OFF ON ON OFF

7 ON ON ON OFF

8 OFF OFF OFF ON

9 ON OFF OFF ON

0 OFF ON OFF ON

* ON ON OFF ON

# OFF OFF ON ON

Hasil pengukuran tegangan yang dihasilkan didapatkan data sebagai berikut: Tombol Output 1 Output 2 Output 3 Output 4

1 3,65 volt 0,02 volt 0,02 volt 0,02 volt 2 0,02 volt 3,65 volt 0,02 volt 0,02 volt 3 3,65 volt 3,65 volt 0,02 volt 0,02 volt


(55)

4 0,02 volt 0,02 volt 3,65 volt 0,02 volt 5 3,65 volt 0,02 volt 3,65 volt 0,02 volt

Pengujian rangkaian DTMF decoder dan relay driver pompa dilakukan dengan cara menghubungkan rangkaian DTMF decoder dan relay driver pompa ke mikro selanjutnya mengujinya dengan program sederhana sebagai berikut:

while (1) {

// Place your code here

if (PIND.0==1) {PORTA.1=1;} delay_ms(30);

}; }

Output 1 DTMF decoder dihubungkan ke PIND.0 dan relay driver pompa dihubungkan ke PORTA.1. saat ditekan tombol “1” pada HP, maka output 1 DTMF akan menghasilkan logika 1 (high). program di atas akan melihat kondisi pada PIND.0, jika kondisinya 1, yang artinya ada penekanan tombol “1” pada HP, maka PORTA.1 akan diberi logika 1, sehingga pompa nyala.

4.4 Pengujian sensor jarak Ping ultrasonic : Langkah pengujian sebagai berikut :

a. menghubungkan rangkaian dengan catu daya

b. mengukur jarak yang sebenarnya dengan menggunakan sebuah penggaris c. mencatat hasil pengukuran sensor


(56)

1 15 cm 16 cm

2 14 cm 15 cm

3 13 cm 14 cm

4 12 cm 13 cm

5 11 cm 12 cm

6 10 cm 11 cm

7 9 cm 10 cm

8 8 cm 9 cm

9 7 cm 8 cm

10 ∑=99cm ∑=108cm

% Ralat rata-rata = 108

99 108−

x 100% = 8,33%

4.5 Pengoperasian

Cara pengoperasian nya adalah sebagai berikut : a.Hubungkan power supplay ke benda simulasi. b.Tekan saklar power pada posisi ON

c.Menghubungkan kabel Headset ke Hp penerima. d.Tombol pada Hp ditekan.

Saat tombol 1 ditekan,maka pompa air akan hidup,sedangkan jika tombol 2 ditekan maka pompa air akan mati.Jika status pada bak air dalam keadaan penuh maka secara otomatis akan missedcall ke Hp pengguna.


(57)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Alat ini telah bekerja sesuai dengan yang diinginkan dengan memanfaatkan nada DTMF dari Handphone.

2. Sensor jarak ping ultrasonik dapat membaca ketinggian air dengan baik dengan jarak antara sensor dan dasar air.

3. Pengendalian bak air sudah berjalan dengan baik,dengan jarak jauh maupun jarak dekat.

5.2 Saran

1. Sebaiknya alat dikembangkan lagi, karena masih menggunakan ponsel sebagai alat pengendalinya, dapat digunakan remote control yang dapat mengendalikan dari jarak jauh.

2. Untuk dapat lebih mengetahui satus bak air,sebaiknya dapat dilakukan dengan cara SMS dari handphone kita.


(58)

DAFTAR PUSTAKA

Andi, Nalwan Paulus. 2004. Panduan Praktis Penggunaan dan Antarmuka Modul LCD M1632, Jakarta, PT.Elex Media Komputindo.

Bejo, Agus, C Dan AVR Rahasia Kemudahan Bahasa C Dalam Mikrokontroller Atmega 8535, Edisi Pertama, Penerbit Graha Ilmu, 2008

Blocher, Richard, 2004, Dasar Elektronika, Yogyakarta, Penerbit Andi

Malvino, Albert Paul, Prinsip-Prinsip Elektronika, Jilid 1 & 2, Edisi Ketiga, Penerbit Salemba Teknika, Jakarta, 2003

Pratamo, Andi, 2005, Panduan Praktis Pemograman AVR Mikrokontroller, Yogyakarta, Penerbit Andi

Sulhan, Setiawan, Mudah Dan Menyenangkan Belajar Mikrokontroller, Penerbit Andi, Yogyakarta, 2006


(59)

#include <mega8535.h> : mendefenisikan jenis mikrokontroller yang digunakan. #include <delay.h> : mendefenisikan penggunaan delay. :

#include <stdio.h> : mendefenisikan penggunaan fungsi standar I/O #define PULSE1 PORTA.3 :

#define ECHO1 PINA.3 #define ARAH1 DDRA.3 #define OUT 1

#define INP 0

unsigned int count=0; float jarak;

unsigned char Baris[16];

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x18 ;PORTB : menyatakan LCD di Port B #endasm

#include <lcd.h> : mendefenisikan penggunaan LCD // Declare your global variables here

void main(void) {

// Declare your local variables here // Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=Out Func0=Out // State7=T State6=T State5=T State4=T State3=T State2=T State1=0 State0=0

PORTA=0x00; DDRA=0x03;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0x00;

// LCD module initialization : inisialisasi LCD lcd_init(16); : LCD 16 kolom lcd_gotoxy(4,0); : tampilan nya 4 kolom


(60)

lcd_putsf("Steffy"); : menampilkan ‘Steffi’ delay_ms(2000); : waktu tunda nya 2 detik

while (1) : pengulangan secara terus menerus {

// Place your code here count=0; ARAH1=OUT; PULSE1=1; delay_us(5); PULSE1=0; ARAH1=INP; PULSE1=1;

while (ECHO1==0) {}; while (ECHO1==1) { count++; } jarak=(count*0.034442)/2; sprintf(Baris,"Jarak=%3.0f cm",jarak); lcd_gotoxy(0,0);lcd_puts(Baris);

if (PIND.0==1) : jika PIN D0=1 jarak lebih kecil atau sama dengan 7 PORT A1=0 selanjutnya PORT A1=1

{ if (jarak<=7) {PORTA.1=0;} else {PORTA.1=1;} }

if (PIND.1==1) : jika port D1=1 {PORTA.1=0;} : jika port D1=0

if ((jarak<=17)&(jarak>=16)) : jika jarak lebih kecil atau sama dengan 17 dan { jarak lebih besar atau sama dengan 16,LCD me- lcd_gotoxy(0,1); nampilkan 1 kolom dengan tampilan : Tangki lcd_putsf("Tangki Kosong"); song.

}

if ((jarak<=15)&(jarak>=10)) : jika jarak lebih kecil atau sama dengan 15 dan { jarak lebih besar atau sama dengan 10,tampilan LCD ”Tangki Sedang”

lcd_gotoxy(0,1);

lcd_putsf("Tangki Sedang"); }


(61)

if (jarak<=9) : jika jarak lebih kecil atau sama dengan 9,tampilan LCD “Tangki Penuh”

{

lcd_gotoxy(0,1);

lcd_putsf("Tangki Penuh.."); }

if (jarak<=7) : jika jarak lebih kecil atau sama dengan 7 Port A1=0,Port A0=1

{PORTA.1=0; PORTA.0=1;

lcd_gotoxy(0,1);

lcd_putsf("Tangki Penuh.."); delay_ms(200);

lcd_clear(); }

}; }


(62)

(1)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

1. Alat ini telah bekerja sesuai dengan yang diinginkan dengan memanfaatkan nada DTMF dari Handphone.

2. Sensor jarak ping ultrasonik dapat membaca ketinggian air dengan baik dengan jarak antara sensor dan dasar air.

3. Pengendalian bak air sudah berjalan dengan baik,dengan jarak jauh maupun jarak dekat.

5.2 Saran

1. Sebaiknya alat dikembangkan lagi, karena masih menggunakan ponsel sebagai alat pengendalinya, dapat digunakan remote control yang dapat mengendalikan dari jarak jauh.

2. Untuk dapat lebih mengetahui satus bak air,sebaiknya dapat dilakukan dengan cara SMS dari handphone kita.


(2)

DAFTAR PUSTAKA

Andi, Nalwan Paulus. 2004. Panduan Praktis Penggunaan dan Antarmuka Modul LCD M1632, Jakarta, PT.Elex Media Komputindo.

Bejo, Agus, C Dan AVR Rahasia Kemudahan Bahasa C Dalam Mikrokontroller Atmega 8535, Edisi Pertama, Penerbit Graha Ilmu, 2008

Blocher, Richard, 2004, Dasar Elektronika, Yogyakarta, Penerbit Andi

Malvino, Albert Paul, Prinsip-Prinsip Elektronika, Jilid 1 & 2, Edisi Ketiga, Penerbit Salemba Teknika, Jakarta, 2003

Pratamo, Andi, 2005, Panduan Praktis Pemograman AVR Mikrokontroller, Yogyakarta, Penerbit Andi

Sulhan, Setiawan, Mudah Dan Menyenangkan Belajar Mikrokontroller, Penerbit Andi, Yogyakarta, 2006


(3)

#include <mega8535.h> : mendefenisikan jenis mikrokontroller yang digunakan. #include <delay.h> : mendefenisikan penggunaan delay. :

#include <stdio.h> : mendefenisikan penggunaan fungsi standar I/O

#define PULSE1 PORTA.3 : #define ECHO1 PINA.3 #define ARAH1 DDRA.3 #define OUT 1

#define INP 0

unsigned int count=0; float jarak;

unsigned char Baris[16];

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x18 ;PORTB : menyatakan LCD di Port B #endasm

#include <lcd.h> : mendefenisikan penggunaan LCD

// Declare your global variables here

void main(void) {

// Declare your local variables here

// Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=Out Func0=Out // State7=T State6=T State5=T State4=T State3=T State2=T State1=0 State0=0

PORTA=0x00; DDRA=0x03;

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0x00;

// LCD module initialization : inisialisasi LCD lcd_init(16); : LCD 16 kolom


(4)

lcd_putsf("Steffy"); : menampilkan ‘Steffi’ delay_ms(2000); : waktu tunda nya 2 detik

while (1) : pengulangan secara terus menerus {

// Place your code here count=0; ARAH1=OUT; PULSE1=1; delay_us(5); PULSE1=0; ARAH1=INP; PULSE1=1;

while (ECHO1==0) {};

while (ECHO1==1) { count++; } jarak=(count*0.034442)/2; sprintf(Baris,"Jarak=%3.0f cm",jarak); lcd_gotoxy(0,0);lcd_puts(Baris);

if (PIND.0==1) : jika PIN D0=1 jarak lebih kecil atau sama dengan 7 PORT A1=0 selanjutnya PORT A1=1

{ if (jarak<=7) {PORTA.1=0;} else {PORTA.1=1;} }

if (PIND.1==1) : jika port D1=1 {PORTA.1=0;} : jika port D1=0

if ((jarak<=17)&(jarak>=16)) : jika jarak lebih kecil atau sama dengan 17 dan { jarak lebih besar atau sama dengan 16,LCD me- lcd_gotoxy(0,1); nampilkan 1 kolom dengan tampilan : Tangki lcd_putsf("Tangki Kosong"); song.

}

if ((jarak<=15)&(jarak>=10)) : jika jarak lebih kecil atau sama dengan 15 dan { jarak lebih besar atau sama dengan 10,tampilan LCD ”Tangki Sedang”

lcd_gotoxy(0,1);

lcd_putsf("Tangki Sedang"); }


(5)

if (jarak<=9) : jika jarak lebih kecil atau sama dengan 9,tampilan LCD “Tangki Penuh”

{

lcd_gotoxy(0,1);

lcd_putsf("Tangki Penuh.."); }

if (jarak<=7) : jika jarak lebih kecil atau sama dengan 7 Port A1=0,Port A0=1

{PORTA.1=0;

PORTA.0=1; lcd_gotoxy(0,1);

lcd_putsf("Tangki Penuh.."); delay_ms(200);

lcd_clear(); }

}; }


(6)