• Tidak ada hasil yang ditemukan

Water Level Indicator Seven Segment Sebagai Display Tingkat Ketinggian Cairan Berbasis Mikrokontroler AT89S51

N/A
N/A
Protected

Academic year: 2016

Membagikan "Water Level Indicator Seven Segment Sebagai Display Tingkat Ketinggian Cairan Berbasis Mikrokontroler AT89S51"

Copied!
68
0
0

Teks penuh

(1)

KETINGGIAN CAIRAN

BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

BAYU BARATA

052408060

PROGRAM STUDI DIPLOMA III FISIKA INSTRUMENTASI

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

PERNYATAAN

WATER LEVEL INDICATOR

SEVEN SEGMENT SEBAGAI DISPLAY TINGKAT KETINGGIAN CAIRAN BERBASIS MIKROKONTROLER AT89S51

TUGAS AKHIR

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

Medan, Juli 2008

(3)

PENGHARGAAN

Puji syukur penulis panjatkan kepada ALLAH SWT Yang Maha Pemurah dan Maha penyayang, dengan limpah karunia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

Pada kesempatan ini penulis menyampaikan ucapan terima kasih kepada Bapak Drs.Ansharuddin.SST selaku dosen pembimbing pada penyelesaian tugas akhir ini yang telah memberikan bimbingan dan penuh kepercayaan kepada saya untuk menyempurnakan kajian ini, Ketua dan Sekretaris program studi DIII Fisika Instrumentasi Bapak Drs. Syahrul Humaidi,M.sc dan Ibu Dra. Justinon, Msi, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatra Utara, semua dosen dan pegawai pada program studi DIII Fisika Instrumentasi FMIPA USU dan rekan – rekan kuliah khususnya Edriwansyah Nasution, Denni,Muhammad Abduh humaidi Hrp, Tuti Mahlesi, Demi Syaputri, Sulvina Maulin, Ellis Naria, piliyanti dan teman – teman yang lain yang membantu dan memberikan semangat kepada penulis untuk menyelesaikan tugas akhir ini.

Ucapan terima kasih yang tidak terlupakan kepada kedua orang tua dan keluarga penulis yang tercinta yang selama ini memberikan bantuan materil dan dukungan moril serta telah mendoakan penulis dan orang – orang yang tidak bisa penulis sebutkan satu persatu. Semoga ALLAH SWT akan membalasnya.

(4)

Lembar Pengesahan

BAB 2 TINJAUAN TEORITIS...4

(5)

3.1. Diagram Blok ……….18

3.2. Flowchart……….19

3.3. Rangkaian Power Supply (PSA)………..21

3.4. Rangkaian Mikrokontroler AT89S52………..22

3.5. Rrangkaian Pengendali Pompa Air...23

3.6. Perancangan Rangkaian Keypad...24

3.7. Perancangan Rangkaian Sensor dan Pengolah Sinyal....25

BAB 4 PENGUJI RANGKAIAN DAN SENSOR………..27

4.1. Pengujian Rangkaian Power Supplay (PSA)...27

4.2. Pengujian Rangkaian Mikrokontroller AT89S52...27

4.3. Pengujian Rangkaian relay...29

4.4. Pengujian rangkaian pengendali pompa air...31

BAB5 KESIMPULAN DAN SARAN...34

5.1. Kesimpulan...34

5.2. Saran...35

(6)

DAFTAR GAMBAR

1. Gambar 2.1.3 IC Mikrokontroler AT89S52...9

2. Gambar 2.1.4. Simbol Relay dan Rangkaian Driver...13

3. Gambar 2.2.2. 8051 Editor, Assembler, Simulator (IDE)...18

4. Gambar 2.2.3. ISP- Flash Programmer 3.a...19

5.Gambar 3.1.Diagram Blok...20

6. Gambar 3.2. Flowchart...21

7. Gambar 3.3. Rangkaian Power Supplay ( PSA)...23

8 Gambar.3.5. Rangkaian Alarm...26

9. Gambar 3.6. Rrangkaian Seven segment...27

10. Gambar 3.7. Rangkaian Pengendali Pompa Air...28

11. Gambar 3.8. Rangkaian Tombol...30

12. Gambar 3.9. Perancangan Rangkaian Sensor dan Pengolah sinyal...31

13.Gambar 4.3. Rangkaian Relay... 47

14. Gambar 4.4.Rangkaian pengendali pompa air... 49

15. Gambar 4.6. Pengujian rangkaian alarm ...51

16. Gambar 4.8 Pengujian rangkaian display seven segment ...55

(7)

Perkembangan teknologi elektronika kiniu semakin cepat, yang sangat membantu manusia dalam menyelasaikan pekerjaaan. Sehingga persaingan dalam bidang industri elektronika semakin ketat pula.

Salah satu diantaranya adalah banyak problem manusia adalah mengontrol dan pengisian tangki air yang masih banyak yang menggunakan system pengisian dan pengontrolan tangki air secara manual menghabiskan waktu yang relative lama dan juga merepotkan. Karena para oprator harus melihat atau memanjat keatas tangki untuk memastikan ketinggian air atau cairan yang di inginkan. Melalui system elektronika proses pengisisan dan pengontrolan tangki air secara manual dapat digantikan menjadi system otomatis sehingga lebih efektif. Maka penulis mencoba merancang dan membuat alat pengisian dan pengotrolan tangki air berbasis mikrokontroller

(8)

Perkembangan teknologi elektronika kiniu semakin cepat, yang sangat membantu manusia dalam menyelasaikan pekerjaaan. Sehingga persaingan dalam bidang industri elektronika semakin ketat pula.

Salah satu diantaranya adalah banyak problem manusia adalah mengontrol dan pengisian tangki air yang masih banyak yang menggunakan system pengisian dan pengontrolan tangki air secara manual menghabiskan waktu yang relative lama dan juga merepotkan. Karena para oprator harus melihat atau memanjat keatas tangki untuk memastikan ketinggian air atau cairan yang di inginkan. Melalui system elektronika proses pengisisan dan pengontrolan tangki air secara manual dapat digantikan menjadi system otomatis sehingga lebih efektif. Maka penulis mencoba merancang dan membuat alat pengisian dan pengotrolan tangki air berbasis mikrokontroller

(9)

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Sistem pengendalian merupakan hal yang penting di bidang teknologi dan industri. Pada

bidang industri misalnya, mesin-mesin yang terdapat pada pabrik tersebut tentunya

sangat membutuhkan tangki minyak untuk cadangan. Begitu pula halnya dengan tangki-

tangki persediaan air minum pada PDAM. Selama ini untuk mengontrol tingkat

kekosongan dan tingkat kepenuhan saat pengisian masih dilakukan secara manual, hal ini

sudalah tentu sangat tidak efisien dan membutuhkan banyak waktu. Untuk itu perlu

dibuat suatu alat yang dapat melakukan pengisian , pengosongan dan pengontrol tingkat

ketinggian cairan yang terdapat pada tangki-tangki tersebut secara otomatis. Water level

indicator elektronik adalah jawabannya. Alat ini menggunakan mikrokontroller AT89S51

sebagai otak utama dari sistem dan memanfaatkan sensor-sensor untuk mengetahui

tingkat ketinggian air yang berada di dalam tangki. Apabila tangki dalam keadaan kosong

maka led indicator untuk kekosongan akan hidup dan alarm akan berbunyi sebagai tanda

bahwa tangki dalam keadaan kosong. Begitu juga halnya apabila tangki dalam keadaan

penuh. Selain itu alat ini juga dapat menentukan tingkat ketinggian air sesuai dengan

(10)

1.2. Batasan Masalah

Berdasarkan uraian yang terdapat dalam latar belakang di atas, maka dalam tugas akhir

ini akan dibuat sebuah pengendali ketinggian air pada tangki berbasis mikrokontroller

AT89S51

1.3. Maksud dan Tujuan

Tujuan dari penulisan tugas akhir ini adalah :

1.3.1 Merupakan salah satu persyaratan untuk menyelesaikan Studi Program

Diploma III di Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas

Sumatera Utara.

1.3.2 Memanfaatkan sensor untuk mengetahui tingkat ketingian air dengan

menggunakan mikrokontroler AT89S51 sebagai alat ketinggian air dan

ketinggian air yang diiskan kedalam tangki dtentukan berdasarkan input tombol

dan seven segment sebagai tampilan ketinggian air

1.4. Metode Pengumpulan Data

Metode pengumpulan data yang dilakukan oleh penulis adalah :

1.4.1 Melakukan studi perpustakaan mengenai teori-teori yang berkaitan dengan

judul tugas akhir ini.

1.4.2 Melakukan konsultasi dengan dosen pembimbing serta dosen-dosen staf

pengajar yang berkaitan dengan realisasi dibidang masing-masing.

(11)

1.5. Sistematika Penulisan

Untuk mempermudah pembahasan dan pemahaman maka penulis membuat sistematika

pembahasan bagaimana sebenarnya prinsip kerja dari water level indikator, maka penulis

menulis laporan ini sebagai berikut:

BAB I. PENDAHULUAN

Dalam bab ini berisikan mengenai latar belakang, rumusan masalah,

tujuan penulisan, batasan masalah, serta sistematika penulisan.

BAB II. LANDASAN TEORI

Landasan teori, dalam bab ini dijelaskan tentang teori pendukung yang

digunakan untuk pembahasan dan cara kerja dari rangkaian Teori

pendukung itu antara lain tentang komponen-komponen pendukung yang

digunakan dalam alat.

BAB III. PERANCANGAN ALAT DAN PROGRAM

Pada bagian ini akan dibahas perancangan dari alat, yaitu diagram blok

dari rangkaian, skematik dari masing-masing rangkaian dan cara kerja

dari masing-masing rangkaian.

(12)

BAB IV. PENGUJIAN RANGKAIAN

Pada bab ini akan dibahas hasil analisa dari masing-masing rangkaian dan

cara kerja dari seluruh rangkaian setelah rangkaian disatukan.

BAB V. PENUTUP

Bab ini merupakan penutup yang meliputi tentang kesimpulan dari

pembahasan yang dilakukan dari tugas akhir ini serta saran apakah

rangkaian ini dapat dibuat lebih efisien dan dikembangkan perakitannya

(13)

BAB 2

TINJAUAN TEORITIS

2.1.Hardware

2.1.1 Mikrokontroler AT89S51

Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer,

hadir memenuhi kebutuhan pasar (market need) 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 (dibandingkan microprocessor).

Sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para

konsumen akan kebutuhan dan keinginan alat-alat bantu dan mainan yang lebih canggih

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

(14)

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.

Microcontroller AT89S51 merupakan salah satu keluarga dari MCS-51 keluaran

Atmel. Jenis Microcontroller ini pada prinsipnya dapat digunakan untuk mengolah data

per bit ataupun data 8 bit secara bersamaan. Pada prinsipnya program pada

Microcontroller dijalankan bertahap, jadi pada program itu sendiri terdapat beberapa set

instruksi dan tiap instruksi itu dijalankan secara bertahap atau berurutan.

Beberapa fasilitas yang dimiliki oleh microcontroller AT89S51 adalah sebagai berikut :

 Sebuah Central Processing Unit 8 bit

 Osilatc : internal dan rangkaian pewaktu

 RAM internal 128 byte

 Flash memori 4 Kbyte

 Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi

internal)

 Empat buah programable port I/O yang masing-masing terdiri dari delapan buah

jalur I/O

 Sebuah port serial dengan kontrol serial full duplex UART

 Kemampuan untuk melaksanakan operasi aritmatika dan oper

 Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi

(15)

1.1.2. Kontruksi AT89S51

Microcontroller AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1

kristal serta catu daya 5 volt. Kapasitor 10 micro-fard dan resistor 10 kilo Ohm dipakai

untuk membentuk rangkaian riset. Dengan adanya rangkaian riset ini AT89S51 otomatis

diriset begitu rangkaian menerima catu daya. Kristal dengan frekuensi maksimum

24MHz dan kapasitor 30 mikro-farad dipakai untuk melengkapi rangkaian oscilator

pembentuk clock yang menentukan kecepatan kerja Microcontroller.

Memori merupakan bagian yang sangat penting pada Microcontroller.

Microkontroller memiliki dua macam memori yang sifatnya berbeda.

Read Only Memory (ROM) yang isinya tidak berubah meskipun IC kehilangan

catu daya. Sesuai dengan keperluannya, dalam susunan MCS-51 memori penyimpanan

program ini dinamakan sebagai memori program.

Random Access Memory (RAM) isinya akan sirna begitu IC kehilangan catu

daya, dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai

untuk menyimpan data ini disebut sebagai memori data.

Ada berbagai jenis ROM. Untuk Microcontroller dengan program yang sudah

baku dan diproduksi secara massal, program diisikan kedalam ROM pada saat IC

(16)

menggunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang

disingkat menjadi PROM (PEROM). Dulu banyak UV-EPROM (Ultra Violet Eraseable

Programble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash

PEROM yang harganya jauh lebih murah.

Jenis memori yang dipakai untuk memori program AT89S51 adalah flash

PEROM, program untuk mengendalikan Microcontroller diisikan ke memori itu lewat

bantuan alat yang dinamakan sebagai AT89C4051 flash PEROM Programmer.Memori

data yang disediakan dalam chip AT*(S51 sebesar 128 kilo byte meskipun hanya kecil

saja tapi untuk banyak keperluan memori kapasitas itu sudah cukup.

AT89S51 dilengkapi UART (Universal Asyncronous Receiver/Transmiter) yang

biasa dipakai untuk komunikasi data secara seri. Jalur untuk komunikasi data seri (RXD

dan TXD) diletakkan berhimpitan dengan P1.0 dan P1.1. pada kaki nomor 2 dan 3,

sehingga kalau sarana input/output bekerja menurut fungsi waktu. Clock penggerak

untaian pencacah ini bisa berasal dari oscillator kristal atau clock yang diumpan dari luar

lewat T0 dan T1/T0 dan T1 berhimpitan dengan P3.4 dan P3.5, sehingga P3.4 dan P3.5

tidak bisa dipakai untuk jalur input/output paralel kalau T0 dan T1 dipakai.

AT89S51 mempunyai enam sumber pembangkit interupsi, dua diantaranya adalah

sinyal interupsi yang diumpankan ke kaki INT0 dan INT1. Kedua kaki ini berhimpitan

dangan P3.2 dan P3.3 sehingga tidak bisa dipakai sebagai jalur input/output paralel kalau

(17)

Timer 1 dan sarana lainnya merupakan yang secara fisik merupakan RAM khusus, yang

ditempatkan di Special Function Register (SFR).

2.1.3. Pin-Pin pada Microcontroller AT89S51

Deskripsi pin-pin pada Microcontroller AT89S51 :

Gambar 2.1.3. IC Mikrokontroler AT89S51

VCC (Pin 40)

Suplai tegangan

GND (Pin 20)

Ground

Port 0 (Pin 39-Pin 32)Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex

(18)

sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL input atau

dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut.Pada fungsi

sebagai low order multiplex address/data, port ini akan mempunyai internal pull

up.terutama pada saat verifikasi program.

Port 2 (Pin 21 – pin 28)

Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memori

secara 16 bit. Pada saat mengakses memori 8 bit, port ini akan mengeluarkan isi dari P2

special function register. Port ini mempunyai internal pull up dan berfungsi sebagai input

dengan memberikan logika 1. Sebagai output, port ini dapat memberikan output sink

keempat buah input TTL.

Port 3 (Pin 10 – pin 17)

Port 3 merupakan 8 bit port I/O dua arah dengan internal pullup. Port 3 juga mempunyai

fungsi pin masing-masing, yaitu sebagai berikut :

Tabel2.1.3. Pin-Pin pada Microcontroller AT89S51

Nama pin Fungsi

P3.6 (pin 16) WR (menulis untuk eksternal data memori)

(19)

RST (pin 9)

Reset akan aktif dengan memberikan input high selama 2 cycle.

ALE/PROG (pin 30)

Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama

mengakses memori eksternal. Selain itu, sebagai pulsa input progam (PROG) selama

memprogam Flash.

PSEN (pin 29)

Progam store enable digunakan untuk mengakses memori progam eksternal.

EA (pin 31)

Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan

menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika kondisi

high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal.

Pada saat flash progamming, pin ini akan mendapat tegangan 12 Volt.

XTAL1 (pin 19)

Input untuk clock internal.

XTAL2 (pin 18)

Output dari osilator

(20)

2.1.4. Relay

Relay adalah suatu rangkaian switch magnetik yang bekerja bila mendapat catu dan suatu

rangkaian trigger. Relay memiliki tegangan dan arus nominal yang harus dipenuhi output

rangkaian pendriver atau pengemudinya. Arus yang digunakan pada rangkaian adalah

arus DC.

Konstruksi dalam suatu relay terdiri dari lilitan kawat (coil) yang dililitkan pada

inti besi lunak. Jika lilitan kawat mendapatkan aliran arus, inti besi lunak kontak

menghasilkan medan magnet dan menarik switch kontak. Switch kontak mengalami gaya

listrik magnet sehingga berpidah posisi ke kutub lain atau terlepas dari kutub asalnya.

Keadaan ini akan bertahan selama arus mengalir pada kumparan relay. Dan relay akan

kembali keposisi semula yaitu normaly ON atau Normaly OFF, bila tidak ada lagi arus

yang mengalir padanya, posisi normal relay tergantung pada jenis relay yang digunakan.

Dan pemakaian jenis relay tergantung pada kadaan yang diinginkan dalam suatu

rangkaian.

Menurut kerjanya relay dapat dibedakan menjadi :

a. Normaly Open (NO), saklar akan tertutup bila dialiri arus

b. Normaly Close (OFF), saklar akan tertutup bila dialiri arus

c. Change Over (CO), relay ini mempunyai saklar tunggal yang nomally tertutup yang

lama, bila kumparan 1 dialiri arus maka saklar akan terhubung ke terminal A,

(21)

Analogi rangkaian relay yang digunakan pada tugas akhir ini adalah saat basis

transistor ini dialiri arus, maka transistor dalam keadaan tertutup yang dapat

menghubungkan arus dari kolektor ke emiter yang mengakibatkan relay terhubung.

Sedangkan fungsi dioda disini adalah untuk melindungi transistor dari tegangan induksi

berlebih, dimana tegangan ini dapat merusak transistor.Jika transistor pada basis tidak

ada arus maju, transistor terbuka sehingga arus tidak mengalir dari kolektor ke emiter,

relay tidak bekerja karena tidak ada arus yang mengalir pada gulungan kawat.

Bentuk relay yang digunakan ada bentuk relay dengan rangkaian driver dapat

dilihat pada gambar2.1.4.

Gambar 2.1.4. Simbol Relay dan Rangkaian Driver

Vcc

Tr VB

Dioda

(22)

2.2Software

2.2.1. Bahasa AssemblyMCS-51

Bahasa yang digunakan untuk memprogram IC mikrokontroler AT89S51 adalah bahasa

assembly untuk MCS-51. angka 51 merupakan jumlah instruksi pada bahasa ini hanya

ada 51 instruksi. Instruksi –instruksi tersebut antara lain :

1. Instruksi MOV

Perintah ini merupakan perintah untuk mengisikan nilai ke alamat atau register

tertentu. Pengisian nilai dapat secara langsung atau tidak langsung.

Contoh pengisian nilai secara langsung

MOV R0,#20h

Perintah di atas berarti : isikan nilai 20 Heksadesimal ke register 0 (R0).

Tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah nilai.

Contoh pengisian nilai secara tidak langsung

MOV 20h,#80h

...

...

MOV R0,20h

Perintah di atas berarti : isikan nilai yang terdapat pada alamat 20 Heksadesimal

ke register 0 (R0).

Tanpa tanda # sebelum bilangan menunjukkan bahwa bilangan tersebut adalah

(23)

2. Instruksi DJNZ

Decreament Jump If Not Zero (DJNZ) ini merupakan perintah untuk mengurangi

nilai register tertentu dengan 1 dan lompat jika hasil pengurangannya belum nol.

Contoh ,

R0 -1, jika belum 0 lompat ke loop, jika R0 = 0 maka program akan meneruskan

ke perintah pada baris berikutnya.

3. Instruksi ACALL

Instruksi ini berfungsi untuk memanggil suatu rutin tertentu. Contoh :

...

Instruksi RETURN (RET) ini merupakan perintah untuk kembali ke rutin

pemanggil setelah instruksi ACALL dilaksanakan. Contoh,

ACALL TUNDA

...

TUNDA:

(24)

RET

5. Instruksi JMP (Jump)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu. Contoh,

Loop:

...

6. Instruksi JNB (Jump if Not bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang

dimaksud berlogika Low (0). Contoh,

Loop: JNP Loop

7. Instruksi JB (Jump if bit)

Instruksi ini merupakan perintah untuk lompat ke alamat tertentu, jika pin yang

dimaksud berlogika high (1). Contoh,

Loop:

Instruksi ini berfungsi untuk membandingkan nilai dalam suatu register dengan

suatu nilai tertentu. Contoh,

Loop:

...

(25)

...

Jika nilai R0 tidak sama dengan 20h, maka program akan lompat ke rutin Loop.

Jika nilai R0 sama dengan 20h,maka program akan melanjutkan instruksi

selanjutnya..

9. Instruksi DEC (Decreament)

Instruksi ini merupakan perintah untuk mengurangi nilai register yang dimaksud

dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

DEC R0 R0 = R0 – 1

...

10.Instruksi INC (Increament)

Instruksi ini merupakan perintah untuk menambahkan nilai register yang

dimaksud dengan 1. Contoh,

MOV R0,#20h R0 = 20h

...

INC R0 R0 = R0 + 1

...

(26)

2.2.2 Software 8051 Editor, Assembler, Simulator (IDE)

Instruksi-instruksi yang merupakan bahasa assembly tersebut dituliskan pada sebuah

editor, yaitu 8051 Editor, Assembler, Simulator (IDE). Tampilannya seperti di bawah ini.

Gambar 2.2.2. 8051 Editor, Assembler, Simulator (IDE)

Setelah program selesai ditulis, kemudian di-save dan kemudian di-Assemble

(di-compile). Pada saat di-assemble akan tampil pesan peringatan dan kesalahan. Jika masih

ada kesalahan atau peringatan, itu berarti ada kesalahan dalam penulisan perintah atau

ada nama subrutin yang sama, sehingga harus diperbaiki terlebih dahulu sampai tidak ada

pesan kesalahan lagi.

Software 8051IDE ini berfungsi untuk merubah program yang kita tuliskan ke

dalam bilangan heksadesimal, proses perubahan ini terjadi pada saat peng-compile-an.

(27)

2.2.3 Software Downloader

Untuk mengirimkan bilangan-bilangan heksadesimal ini ke mikrokontroller digunakan

software ISP- Flash Programmer 3.0a yang dapat didownload dari internet. Tampilannya

seperti gambar di bawah ini

Gambar 2.2.3. ISP- Flash Programmer 3.a

Cara menggunakannya adalah dengan meng-klik Open File untuk mengambil file

heksadesimal dari hasil kompilasi 8051IDE, kemudian klik Write untuk mengisikan hasil

(28)

BAB 3

Sensor air yang berfungsi untuk mengetahui tingkat ketinggian air terhubung ke

penguat sinyal. Output dari penguat sinyal masuk ke mikrokontroler AT89S51. keypad

berfungsi sebagai input data ke mikrokontroler AT89S51.

Pompa berfungsi sebagai pengisi dan pengosong tangki terhubung ke relay dan

terhubung ke mikro AT89S51. display berfungsi sebagai penampil input data dari

(29)

Sistem kerja rangkaian:

Mikrokontroller akan memerintahkan pompa untuk mengisi penuh tangki apabila

ada input data untuk mengisi tangki dan akan mengosongkan tangki apabila mendapat

perintah pengosongan tangki sesuai dengan tingkat pengosongan.

3.2. FLOWCHART

cek tombol isi Cek tombol

(30)

Program di awali dengan start. Kemudian program akan mengecek penekanan

tombol isi jika ada penekanan pada tombol isi maka program akan membandingkan data

apakah ada penekanan tombol untuk pengisian sampai level 1 jika ada maka program

akan menampilkan tampilan angka 1 pada display dan memerintahkan pompa untuk

mengisi air sampai level 1 jika tidak ada penekanan tombol satu maka program akan akan

mengecek penekana tombol 2 jika ada penekanan tombol 2 maka program akan

menampilkan tampilan angka 2 pada display dan memerintahkan pompa untuk mengisi

air sampai level 2 perlakuan yang sama terus dilakukan sampai tombol lima.

Jika tidak ada penekanan pada tombol isi maka program akan mengecek

penekanan tombol pengosongan tangki jika ada penekanan pada tombol isi maka

program akan membandingkan data apakah ada penekanan tombol untuk pengosongan

sampai level 1 jika ada maka program akan menampilkan tampilan angka 1 pada display

dan memerintahkan pompa untuk mengeluarkan air sampai level 1 jika tidak ada

penekanan tombol satu maka program akan akan mengecek penekanan tombol

pengosongan 2 jika ada penekanan tombol 2 maka program akan menampilkan tampilan

angka 2 pada display dan memerintahkan pompa untuk mengosongkan air sampai level 2

.perlakuan yang sama terus dilakukan sampai tombol lima.

Jika tidak ada penekanan pada tombol isi dan tombol pengosongan maka program akan

(31)

3.3. Rangkaian Power Supplay ( PSU )

Rangkaian ini berfungsi untuk mensupplay tegangan ke seluruh rangkaian yang ada.

Rangkaian PSA yang dibuat terdiri dari dua keluaran, yaitu 5 volt dan 12 volt, keluaran 5

volt digunakan untuk mensupplay tegangan ke seluruh rangkaian, sedangkan keluaran 12

volt digunakan untuk mensuplay tegangan ke relay. Rangkaian power supplay

ditunjukkan pada gambar 3.3 berikut ini :

(32)

3.4. Rangkaian Mikrokontroler AT89S51

Rangkaian ini berfungsi sebagai pusat kendali dari seluruh system yang ada. Rangkaian

mikrokontroler ditunjukkan pada gambar berikut ini:

Gambar.3.4. Rangkaian Mikrokontroller AT89S51

Pin 31 External Access Enable (EA) diset high (H). Ini dilakukan karena

(33)

dihubungkan ke XTAL 12 MHz dan capasitor 33 pF. XTAL ini akan mempengaruhi

kecepatan mikrokontroller AT89S8253 dalam mengeksekusi setiap perintah dalam

program. Pin 9 merupakan masukan reset (aktif tinggi). Pulsa transisi dari rendah ke

tinggi akan mereset mikrokontroller ini. Pin 32 sampai 39 adalah Port 0 yang merupakan

saluran/bus I/O 8 bit open collector dapat juga digunakan sebagai multipleks bus alamat

rendah dan bus data selama adanya akses ke memori program eksternal. Pada port 0 ini

masing masing pin dihubungkan dengan resistor 4k7 ohm. Resistor 4k7 ohm yang

dihubungkan ke port 0 befungsi sebagai pull up ( penaik tegangan ) agar output dari

mikrokontroller dapat mentrigger transistor.

Pin 1 sampai 8 adalah port 1. Pin 21 sampai 28 adalah port 2. Dan Pin 10 sampai

17 adalah port 3. Pin 39 yang merupakan P0.0 dihubungkan dengan sebuah resistor 330

ohm dan sebuah LED. Ini dilakukan hanya untuk menguji apakah rangkaian minimum

mikrokontroller AT89S51 sudah bekerja atau belum. Dengan memberikan program

sederhana pada mikrokontroller tersebut, dapat diketahui apakah rangkaian minimum

tersebut sudah bekerja dengan baik atau tidak. Jika LED yang terhubung ke Pin 39 sudah

bekerja sesuai dengan perintah yang diberikan, maka rangkaian minimum tersebut telah

siap digunakan. Pin 20 merupakan ground dihubungkan dengan ground pada power

supplay. Pin 40 merupakan sumber tegangan positif dihubungkan dengan + 5 volt dari

(34)

3.5.Rangkaian Alarm

Rangkaian alarm pada alat ini berfungsi untuk memutuskan atau menghubungkan sumber

tegangan 12 volt dengan buzzer. Gambar rangkaian alarm ini ditunjukkan pada gambar

3.5 berikut ini :

Gambar 3.5. Rangkaian alarm

Output dari relay yang satu dihubungkan ke sumber tegangan 12 volt dan yang

lainnya dihubungkan ke buzzer. Hubungan yang digunakan adalah normally close.

Prinsip kerja rangkaian ini pada dasarnya memanfaatkan fungsi transistor sebagai saklar

elektronik. Tegangan atau sinyal pemicu dari transistor berasal dari mikrokontroller Port

0.1. Pada saat logika port 0.1 tinggi (high), maka transistor mendapat tegangan bias dari

kaki basis. Dengan adanya tegangan bias ini maka transistor akan aktip (saturation),

(35)

pada relay menjadi tertutup, sehingga hubungan sumber tegangan 12 volt ke buzzer akan

terhubung dan buzzer akan berbunyi. Begitu juga sebaliknya pada saat logika Port 0.1

rendah (low) maka relay tidak dialiri arus. Hal ini akan menyebabkan saklar pada relay

terputus, sehingga sumber tegangan 12 volt dengan buzzer akan terputus dan buzzer tidak

berbunyi.

3.6.Ranagkaian seven segment

Untuk menampilkan nilai level ketinggian air yang akan diisikan ke dalam tangki

diperlukan suatu rangkaian display yang dapat menampilkan nilai level tersebut

Rangkaian display yang digunakan untuk menampilkan nilai terlihat pada ganbar berikut:

(36)

Display ini menggunakan 1buah seven segment yang dihubungkan ke IC HEF

4094BP yang merupakan IC serial to paralel. IC ini akan merubah 8 bit data serial yang

masuk menjadi keluaran 8 bit data paralel. Rangkaian ini dihubungkan dengan P3.0 dan

P3.1 AT89S51.P3.0 merupakan fasilitas khusus pengiriman data serial yang disediakan

oleh mikrokontroler AT89S51. Sedangkan P3.1 merupakan sinyal clock untuk

pengiriman data serial. Pada rangkaian display ini digunakan dua buah dioda yang

berfungsi untuk menurunkan tegangan supply untuk seven segment. Satu buah dioda

dapat menurunkan tegangan sekitar 0,6 volt. Jadi, apabila dioda yang digunakan dua buah

maka tegangan yang dapat diturunkannya adalah 1,8 volt. Tegangan ini diturunkan agar

umur seven segment lebih tahan lama dan karena tegangan maksimum seven segment

adalah 3,7 volt

3.7. Rrangkaian Pengendali Pompa Air

Rangkaian pengendali pompa air pada alat ini berfungsi untuk mengisi dan

mengosongkan air pada tangki. Gambar rangkaian pengendali pompa air ini ditunjukkan

pada gambar 3.7 berikut ini:

(37)

Output dari relay yang satu dihubungkan ke sumber tegangan 12 volt dan yang

lainnya dihubungkan ke pompa. Hubungan yang digunakan adalah normally open.

Prinsip kerja rangkaian ini pada dasarnya memanfaatkan fungsi transistor sebagai saklar

elektronik. Tegangan atau sinyal pemicu dari transistor berasal dari mikrokontroler Port

0.1 (P0.1). Pada saat logika pada port 0.1 adalah tinggi (high), maka transistor mendapat

tegangan bias dari kaki basis. Dengan adanya tegangan bias ini maka transistor akan aktip

(saturation), sehingga adanya arus yang mengalir ke kumparan relay. Hal ini akan

menyebabkan sakar pada relay menjadi tertutup, sehingga hubungan sumber tegangan 12

volt ke pompa akan terhubung dan pompa akan menyala. Begitu juga sebaliknya pada

saat logika pada P0.1 adalah rendah (low) maka relay tidak dialiri arus. Hal ini akan

menyebabkan saklar pada relay terputus, sehingga sumber tegangan 12 volt dengan

(38)

3.8. Rangkaian Tombol

Rangkaian Keypad berfungsi sebagai tombol untuk memasukan nilai level ketinggian air

yang akan diisikan ke dalam tangki. data yang diketikkan pada keypad akan diterima oleh

mikrokontroler AT89S51 untuk kemudian diolah dan diotampilkan pada display seven

segmen. Rangkaian keypad ditunjukkan pada gambar berikut ini :

Gambar 3.8. Rangkaian Tombol

Rangkaian keypad ini terdiri dari sebuah keypad yang salah satu pinnya

(39)

3.9. Perancangan Rangkaian sensor dan pengolah sinyal

Sensor ini berfungsi untuk mengetahui ketika ada air yang mengenai sensor.

Sensor ini terdiri dari dua lempeng logam, dimana lempeng 1 dihubungkan ke Vcc 5 volt

dan yang lainnya dihubungkan ke input dari rangkaian pengolah sinyal.

Sensor yang terkena air akan mengalami perubahan tegangan kemudian akan

diolah oleh rangkaian penerima agar menghasilkan data biner, dimana jika sensor terkena

air maka output dari rangkaian penerima ini akan mengeluarkan logika low (0), namun

jika tidak terkena air, maka output dari rangkaian penerima akan mengeluarkan logika

high (1). Rangkaian sensor dan penguat sinyal seperti gambar di bawah ini:

Gambar. Rangkaian sensor dan penguat sinyal

Gambar 3.9. Prancangan Rangkaian sensor dan pengolah sinyal air

Ke

(40)

Pada rangkaian di atas, output dari sensor diumpankan ke Op Amp, di Op Amp

tegangan akan dikuatkan sesuai dengan yang diinginkan. Output Op Amp akan

diinputkan ke basis dari transistor tipe NPN C945, ini berari untuk membuat transistor

tersebut aktip maka tegangan yang keluar dari Op Amp harus lebih besar dari 0,7 volt.

Syarat ini akan terpenuhi jika sensor terkena air.

3.10.

Perancangan Program

;= = = = = = = = = = = = = = = =;

; water level indicator program ;

;= = = = = = = = = = = = = = = =;

; = = initialisasi angka = = ;

bil0 equ 20h

bil1 equ 0ech

bil2 equ 18h

bil3 equ 88h

bil4 equ 0c4h

bil5 equ 82h

(41)
(42)

; = = sensor = = ;

jb key1,cek_key2 ; jika ada penekanan pada tombol 1pada keypet

call angka1 ; tampilkan angka 1 pada seven segment

call isi_level1 ; isi sampai level 1

call angka1 ; tampilkan angka 1 pada seven segment

(43)

cek_key2:

jb key3,cek_key4 ; jika ada penekanan pada tombol 3 pada keypet

call angka3 ; tampilkan angka 3 pada seven segment

call isi_level3 ; isi sampai level 3

call angka3 ; tampilkan angka 3 pada seven segment

jmp mulai ; lompat ke alamat selanjutnya

cek_key4:

jb key4,cek_key5 ; jika ada penekanan pada tombol 4 pada keypet

call angka4 ; tampilkan angka 4 pada seven segment

call isi_level4 ; isi sampai level 4

call angka4 ; tampilkan angka 4 pada seven segment

jmp mulai ; lompat ke alamat selanjutnya

cek_key5:

jb key5,cek_key6 ; jika ada penekanan pada tombol 5 pada keypet

call angka5 ; tampilkan angka 5 pada seven segment

(44)

call angka5 ; tampilkan angka 5 pada seven segment

jmp mulai ; lompat ke alamat selanjutnya

cek_key6:

jb key6,cek_key12 ; jika ada penekanan pada tombol 6pada keypet

call angka6 ; tampilkan angka 6 pada seven segment

call isi_level6 ; isi sampai level 6

call kosong_level1 ; kosongkan sampai level 0

call angka0 ; tampilkan angka 0 pada seven segment

jmp mulai ; lompat ke alamat selanjutnya

cek_key7:

jb key7,cek_key8 ; jika ada penekanan pada tombol 1pada keypet

call angka1 ; tampilkan angka 1 pada seven segment

call kosong_level1 ; kosongkan sampai level 1

call angka1 ; tampilkan angka 1 pada seven segment

(45)

cek_key8:

jb key8,cek_key9 ; jika ada penekanan pada tombol 2 pada keypet

call angka2 ; tampilkan angka 2 pada seven segment

call kosong_level2 ; kosongkan sampai level 2

call angka2 ; tampilkan angka 1 pada seven segment

jmp mulai ; lompat ke alamat selanjutnya

cek_key9:

jb key9,cek_key10 ; jika ada penekanan pada tombol 3pada keypet

call angka3 ; tampilkan angka 3 pada seven segment

call kosong_level3 ; kosongkan sampai level 3

call angka3 ; tampilkan angka 3 pada seven segment

jmp mulai ; lompat ke alamat selanjutnya

cek_key10:

jb key10,cek_key11 ; jika ada penekanan pada tombol 4pada keypet

call angka4 ; tampilkan angka 4 pada seven segment

call kosong_level4 ; kosongkan sampai level 4

call angka4 ; tampilkan angka 1 pada seven segment

(46)

cek_key11:

jb key11,balik_mulai ; jika ada penekanan pada tombol 5pada keypet

call angka5 ; tampilkan angka 5 pada seven segment

call kosong_level5 ; kosongkan sampai level 5

call angka5 ; tampilkan angka 5 pada seven segment

jmp mulai ; lompat ke alamat selanjutnya

balik_mulai:

ljmp mulai

ret

; = =pompa isi = =;

isi_level1:

setb pompa2 ; hidupkan pompa isi

jb sensor1,isi_level1 ; isi hingga level 1

clr pompa2 ; matikan pompa isi

(47)

isi_level2:

setb pompa2 ; hidupkan pompa isi

jb sensor2,isi_level2 ; isi hingga level 2

clr pompa2 ; matikan pompa isi

ret ; kembali keawal

isi_level3:

setb pompa2 ; hidupkan pompa isi

jb sensor3,isi_level3 ; isi hingga level 3

(48)

isi_level6:

setb pompa2 ; hidupkan pompa isi

jb sensor6,isi_level6 ; isi hingga level 6

clr pompa2 ; matikan pompa isi

ret ; kembali keawal

; = = pompa kosong = = ;

kosong_level1:

setb pompa1 ; hidupkan pompa kosong

jnb sensor1,kosong_level1 ; kosongka hingga level 1

clr pompa1 ; matikan pompa kosong

ret ; kembali keawal

kosong_level2:

setb pompa1 ; kembali keawal

jnb sensor2,kosong_level2 ; kosongka hingga level 2

clr pompa1 ; matikan pompa kosong

(49)
(50)
(51)

angka5:

mov sbuf,#bil5 ; tampilkam angka 5 pada seven segment

jnb ti,$ ; lomapt kalamat tertentu

clr ti ; hapus angka 5

ret ; kembali keawal

angka6:

mov sbuf,#bil6 ; tampilkam angka 6 pada seven segment

jnb ti,$ ; lomapt kalamat tertentu

clr ti ; hapus angka 5

ret ; kembali keawal

delay:

mov r7,#0ffh ; masukan nilai ff keregister 7

djnz r7,$ ; untuk mengurangi nilai register tertentu

ret ; kembali keawal

(52)

BAB 4

PENGUJIAN RANGKAIAN DAN SENSOR

4.1. Pengujian Rangkaian Power Supplay (PSU)

Pengujian pada bagian rangkaian power supplay ini dapat dilakukan dengan mengukur

tegangan keluaran dari rangkaian ini dengan menggunakan volt meter digital. Pada power

supplay ini terdapat dua keluaran. Dari hasil pengujian diperoleh tegangan keluaran

pertama sebesar + 5,1 volt. Tegangan ini dipergunakan untuk mensupplay tegangan ke

seluruh rangkaian. Mikrokontroler AT89S52 dapat bekerja pada tegangan 4,0 sampai

dengan 5,5 volt, sehingga tegangan 5,1 volt ini cukup untuk mensupplay tegangan ke

mikrokontroler AT89S52. Sedangkan tegangan keluaran kedua sebesar 12 volt. Pada alat

ini dipergunakan untuk rangkaian alarm dan rangkaian pompa air.

4.2. Pengujian Rangkaian Mikrokontroller AT89S52

Untuk mengetahui apakah rangkaian mikrokontroller AT89S52 telah bekerja dengan

baik, maka dilakukan pengujian.Pengujian bagian ini dilakukan dengan memberikan

program sederhana pada mikrokontroller AT89S52. Programnya adalah sebagai berikut :

Loop:

(53)

Sjmp Loop

Program di atas bertujuan untuk menghidupkan LED yang terhubung ke P0.0

beberapa saat dan kemudian mematikannya. Perintah Setb P0.0 akan menjadikan P0.0

berlogika high yang menyebabkan LED menyala. Acall tunda akan menyebabkan LED

ini hidup selama beberapa saat. Perintah Clr P0.0 akan menjadikan P0.0 berlogika low

yang menyebabkan LED akan mati. Perintah Acall tunda akan menyebabkan LED ini

mati selama beberapa saat. Perintah Sjmp Loop akan menjadikan program tersebut

berulang, sehingga akan tampak LED tersebut tampak berkedip.

Jika program tersebut diisikan ke mikrokontroller AT89S52, kemudian

mikrokontroller dapat berjalan sesuai dengan program yang diisikan, maka rangkaian

minimum mikrokontroller AT89S52 telah bekerja dengan baik.

Perintah di atas akan memberikan logika high pada P0.1, sehingga P0.1 akan

mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945,

sehingga relay juga menjadi aktip dan alarm berbunyi. Berikutnya memberikan program

sederhana untuk menonaktipkan relay. Programnya sebagai berikut :

Clr P0.1

(54)

Perintah di atas akan memberikan logika low pada P0.1, sehingga P0.1 akan

mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945,

sehingga relay juga menjadi tidak aktip dan alarm tidak berbunyi.

4.3. Pengujian Rangkaian relay

Pengujian rangkaian relay dapat dilakukan dengan memberikan tegangan 5 volt dan 0

volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN,

transistor jenis ini akan aktif jika pada basis diberi tegangan > 0,7 volt dan tidak aktif jika

pada basis diberi tegangan < 0,7 volt. Aktifnya transistor akan mengaktipkan relay. Pada

rangkaian ini relay digunakan untuk memutuskan hubungan buzzer dengan sumber

tegangan 12 volt, dimana hubungan yang digunakan adalah normally open (NO), dengan

demikian jika relay aktip maka hubungan buzzer ke sumber tegangan akan terhubung,

sebaliknya jika relay tidak aktif, maka hubungan buzzer ke sumber tegangan akan

terputus.

Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor,

jika relay aktif dan buzzer berbunyi, maka rangkaian ini telah berfungsi dengan baik.

Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke

(55)

Gambar 4.3. Rangkaian Relay

kemudian memberikan program sederhana pada mikrokontroler AT89S52. Program yang

diberikan adalah sebagai berikut:

Setb P0.1

. . .

Perintah di atas akan memberikan logika high pada P0.1, sehingga P0.1 akan

(56)

sehingga relay juga menjadi aktif dan heater menyala. Berikutnya memberikan program

sederhana untuk menonaktifkan relay. Programnya sebagai berikut:

Clr P0.1

. . .

Perintah di atas akan memberikan logika low pada P0.1, sehingga P0.1 akan

mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktifkan transistor C945,

sehingga relay juga menjadi tidak aktif dan heater tidak menyala.

4.4. Pengujian rangkaian pengendali pompa air

Pengujian rangkaian pengendali pompa ini dapat dilakukan dengan memberikan tegangan

5 volt dan 0 volt pada basis transistor C945. Transistor C945 merupakan transistor jenis

NPN, 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 mengaktipkan

relay. Pada rangkaian ini relay digunakan untuk memutuskan hubungan pompa dengan

sumber tegangan 220 volt, dimana hubungan yang digunakan adalah normally close

(NO), dengan demikian jika relay aktip maka hubungan pompa ke sumber tegangan akan

terhubung, sebaliknya jika relay tidak aktip, maka hubungan pompa ke sumber tegangan

akan terputus.

Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor,

jika relay aktip dan pompa akan bekerja, maka rangkaian ini telah berfungsi dengan baik.

Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke

(57)

Gambar 4.4.Rangkaian pengendali pompa air

kemudian memberikan program sederhana pada mikrokontroler AT89S52. Program yang

diberikan adalah sebagai berikut:

Setb P0.0

. . .

Perintah di atas akan memberikan logika high pada P0.0, sehingga P0.0 akan

mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945,

sehingga relay juga menjadi aktip dan pompa menyala. Berikutnya memberikan program

(58)

Clr P0.0

. . .

Perintah di atas akan memberikan logika low pada P0.0, sehingga P0.0 akan

mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945,

sehingga relay juga menjadi tidak aktip dan pompa tidak menyala.

4.5. Pengujian Rangkaian Tombol

Pengujian rangkaian ini dapat dilakukan dengan cara menekan keypad, dan mengukur

tegangan outputnya. Pada saat keypad tidak ditekan, maka tegangan output dari

rangkaian ini sebesar 5,00. Namun saat keypad ditekan, maka tegangan output dari

rangkaian ini sebesar 0,01 volt. Dengan demikian maka rangkaian ini telah berfungsi

dengan baik

4.6. Pengujian Rangkaian Alarm

Pengujian rangkaian alarm dapat dilakukan dengan memberikan tegangan 5 volt dan 0

volt pada basis transistor C945. Transistor C945 merupakan transistor jenis NPN,

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 mengaktipkan relay.

Pada rangkaian ini relay digunakan untuk memutuskan hubungan alarm dengan sumber

tegangan 12 volt, dimana hubungan yang digunakan adalah normally close (NO), dengan

(59)

sebaliknya jika relay tidak aktip, maka hubungan alarm ke sumber tegangan akan

terputus.

Pengujian dilakukan dengan memberikan tegangan 5 volt pada basis transistor,

jika relay aktip dan buzzer berbunyi, maka rangkaian ini telah berfungsi dengan baik.

Pengujian selanjutnya dilakukan dengan menghubungkan input rangkaian ini ke

mikrokontroller pada P0.1.

Gambar 4.6. Pengujian rangkaian alarm

kemudian memberikan program sederhana pada mikrokontroller AT89S51. Program

yang diberikan adalah sebagai berikut :

Setb P0.1

(60)

Perintah di atas akan memberikan logika high pada P0.1, sehingga P0.1 akan

mendapatkan tegangan 5 volt. Tegangan 5 volt ini akan mengaktipkan transistor C945,

sehingga relay juga menjadi aktip dan alarm berbunyi. Berikutnya memberikan program

sederhana untuk menonaktipkan relay. Programnya sebagai berikut :

Clr P0.1

. . .

Perintah di atas akan memberikan logika low pada P0.1, sehingga P0.1 akan

mendapatkan tegangan 0 volt. Tegangan 0 volt ini akan menonaktipkan transistor C945,

sehingga relay juga menjadi tidak aktip dan alarm tidak berbunyi.

4.7. Pengujian Rangkaian Sensor air

Pengujian pada rangkaian sensor air ini dapat dilakukan dengan cara menghubungkan

rangkaian ini dengan sumber tegangan 5 volt, kemudian meletakkan dua buah kabel

secara berdampingan. Jika kabel terkena air maka kedua kabel akan terhubung sehingga

menyebabkan LED indikator pada rangkaian penerima akan menyala, dan tegangan

output rangkaian sebesar 0,2 volt. Namun ketika kabel tidak terkena air maka kabel tidak

terhubung , hal ini menyebabkan LED indikator pada rangkaian penerima tidak menyala

dan tegangan output dari rangkaian ini sebesar 4,8 volt.

Pengujian selanjutnya dilakukan dengan cara menghubungkan rangkaian ini

dengan rangkaian mikrokontroler AT89S51, dan memberikan program tertentu pada

mikrokontroler AT89S51.Untuk mendeteksi adanya sinyal yang dikirimkan oleh sensor,

maka mikrokontroler harus diprogram untuk untuk dapat mengecek sinyal apa yang

(61)

ada air yang mengena sensor, namun jika sinyal yang dikirimkan adalah sinyal low, maka

ini berarti ada air yang mengenai sensor. Program untuk mendeteksi pengiriman sinyal

dari rangkaian sensor ini adalah,

sensor_1 Bit P1.3

Di awal program dibuat inisialisasi port, dimana rutin ini menunjukkan bahwa

sensor 1 dihubungkan ke P1.3 dan sensor 2 dihubungkan ke P1.2. Kemudian program

akan dilanjutkan dengan rutin cek sensor 1. Pada rutin ini program akan melihat kondisi

P1.3 yang dihubungkan ke sensor 1, dengan menggunakan perintah JnB (jump if not bit),

jika kondisi P1.3 bit (high), yang berarti tidak ada air yang mengenai sensor, maka

program akan lompat ke rutin cek sensor keluar. Namun jika kondisi P1.3 notbit (low),

(62)

yang terhubung ke P3.7 mati. Jika rangkaian telah berjalan sesuai dengan program yang

diberikan, maka rangkaian telah bekerja dengan baik.

4.8. Pengujian Rangkaian Display Seven Segment

Pengujian pada rangkaian ini dapat dilakukan dengan menghubungkan rangkaian ini

dengan rangkaian mikrokontroller, kemudian memberikan data tertentu pada port serial

dari mikrokontroller. Seven segment yang digunakan adalah common anoda, dimana

segment akan menyala jika diberi logika 0 dan sebaliknya segment akan mati jika diberi

logika 1.

(63)

Dari hasil pengujian diperoleh data yang harus dikirimkan ke port serial untuk

menampilkan angka desimal adalah sebagai berikut :

Tabel 4.8 Hasil pengujian rangkaian display seven segment

Angka Data yang dikirim

1 0ECH

Program yang diisikan pada mikrokontroller untuk menampilkan nilai-nilai tersebut

(64)

mov sbuf,#bil0

Program di atas akan menampilkan angka 0 pada semua seven segment.

Sedangkan untuk menampilkan 3 digit angka yang berbeda pada seven segment adalah

dengan mengirimkan ke 3 data angka yang akan ditampilkan pada seven segment.

Programnya adalah sebagai berikut :

(65)

Delay:

mov r7,#255

delay1:

mov r6,#255

djnz r6,$

djnz r7,delay1

ret

Program di atas akan menampilkan angka 1 pada seven segment , angka 2 pada

(66)

BAB 5

KESIMPULAN DAN SARAN

5.2.Kesimpulan

1. Keypad berfungsi sebagai tombol untuk memasukan nilai level

ketinggian air yang akan diisikan ke dalam tangki. data yang

diketikkan pada keypad akan diterima oleh mikrokontroler

AT89S51 untuk kemudian diolah dan diotampilkan pada display

seven segmen. Rangkaian keypad ditunjukkan pada gambar

berikut ini :

2. Rangkaian sensor dan pengolah sinyal berfungsi untuk

mengetahui ketika ada air yang mengenai sensor. Sersor ini

terdiri dari dua lempeng logam, dimana lempeng 1 dihubungkan

ke Vcc 5 volt dan yang lainnya dihubungkan ke input dari

rangkaian pengolah sinyal

3. Relay adalah suatu rangkaian switch magnetik yang bekerja bila

(67)

5.2.Saran

1. Semoga alat ini dapat bermanfaat untuk mempermudah dalam

mengaturpengoprasian pada tangki yang terdapat pada industri

yang membutuhkannya

2. Alangkah baiknya jika mahasiswa yamg akan datang dapat

mengembangkan lebih baik dari pada yang sekarang guna

mengembangkan teknologi dan inovasi dikalangan mahasiswa.

3. Untuk menjaga sistem dan rangkaian tersebut agar tetap efektif

lebih baik alat tersebut dikemas dalam bentuk yang aman.

(68)

DAFTAR PUSTAKA

1. Agfianto. 2004. Belajar Mikrokontroller AT89C51/52/55 Teori dan Aplikasi. Edisi

Kedua. Yogyakarta : Gava Media.

2. Andi. 2003. Panduan Praktis teknik Antarmuka dan Pemrograman Mikrokontroller

AT89C51. Jakarta : PT. Elex Media Komputindo.

3. Malvino, Albert Paul. 2003. Prinsip – Prinsip Elektronika. Jilid 1 dan 2. Edisi

Gambar

Gambar  2.1.3.   IC Mikrokontroler AT89S51
Tabel 2.1.3. Pin-Pin pada Microcontroller AT89S51
Gambar 2.1.4. Simbol Relay dan Rangkaian Driver
Gambar  2.2.2.   8051 Editor, Assembler, Simulator (IDE)
+7

Referensi

Dokumen terkait

bangunan-bangunan atas tanah yang bukan miliknya sendiri dengan jangka waktu paling lama 30 tahun tersebut dalam Pasal 39 UUPA. Sedangkan mengenai Hak Pakai sebagai obyek

Pada web ini bahwa setiap user atau pemakai web ini jika telah men-downloads suatu materi fisika yang disampaikan diweb ini, maka ia bisa mengikuti ujian (test) yang hanya bisa

Kadar glukosa darah rata-rata tikus sehat, tikus hasil induksi MLD-STZ dan tikus hasil terapi herbal spray Spirulina sp.. Perlakuan Rata-rata Glukosa

1 MORATORIUM PEMBANGUNAN KANTOR KEMENAG KABUPATEN YANG MASIH BERLAKU BERIMBAS PADA KUALITAS PELAYANAN PUBLIK BELUM MAKSIMAL.. 2 PEMBANGUNAN PTSP (PELAYANAN TERPADU SATU PINTU)

Sesuai hasil evaluasi Pokja Konstruksi Unit Layanan Pengadaan Kabupaten Kolaka Timur Tahun Anggaran 2016 Pekerjaan Pembangunan Box Culvert Ruas Pehanggo-Amokuni, Desa

Key words: alternating sign matrices; Young tableaux; staircases; Schubert polynomials; integrable systems.. 2000 Mathematics Subject Classification:

9 Todos os anos, quase um milhão de alunos em 10.000 escolas em mais de 160 países se preparam para o futuro com uma educação internacional de Cambridge.. 10 Temos 150 anos

Semoga perubahan dan pergeseran paradigma seni pertunjukan teater yang terus menerus terjadi mampu menjadi cara untuk membaca pendidikan seni budaya di Indonesia khususnya dan