• Tidak ada hasil yang ditemukan

TUGAS AKHIR PEMPROGRAMAN SISTEM ROTASI GARASI MOBIL BERBASIS MIKRO KONTROLER

N/A
N/A
Protected

Academic year: 2021

Membagikan "TUGAS AKHIR PEMPROGRAMAN SISTEM ROTASI GARASI MOBIL BERBASIS MIKRO KONTROLER"

Copied!
77
0
0

Teks penuh

(1)

MOBIL BERBASIS MIKRO KONTROLER

Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Teknik Mesin Jenjang Strata Satu (S1)

Disusun oleh

BAMBANG MUJIHARTO 01301 – 017

PROGRAM STUDI TEKNIK MESIN

FAKULTAS TEKNOLOGI INDUSTRI

UNIVERSITAS MERCU BUANA

JAKARTA

(2)

JAKARTA 2008

LEMBAR PERNYATAAN

Saya yang bertandatangan dibawah ini :

Nama : BAMBANG MUJIHARTO

Nim : 01301 – 017

Falkutas : Teknologi Industri Jurusan : Teknik Mesin

Menyatakan dengan sungguh-sungguh bahwa Tugas Akhir yang saya buat ini merupakan hasil karya saya dan tidak menjiplak dari karya orang lain, kecuali kutipan-kutipan referensi yang telah disebutkan sumbernya.

Jakarta, Agustus 2008

BAMBANG MUJIHARTO Penulis

(3)

2008

LEMBAR PENGESAHAN

TUGAS AKHIR

PEMPROGRAMAN SISTEM ROTASI GARASI

MOBIL BERBASIS MIKRO KONTROLER

Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Teknik Mesin Strata Satu (S1) Fakultas Teknologi Industri Program Studi Teknik Mesin

Universitas MercuBuana

Tugas ini telah diperiksa dan disetujui oleh :

Jakarta, Agustus 2008

Dosen Pembimbing 1 Dosen Pembimbing 2

(4)

JAKARTA 2008

LEMBAR PENGESAHAN

TUGAS AKHIR

PEMPROGRAMAN SISTEM ROTASI GARASI

MOBIL BERBASIS MIKRO KONTROLER

Diajukan Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Teknik Mesin Strata Satu (S1) Fakultas Teknologi Industri Program Studi Teknik Mesin

Universitas MercuBuana

Tugas ini telah diperiksa dan disetujui oleh :

Jakarta, Agustus 2008

Kordinator Tugas Akhir

(5)

Thesis ini diberi judul ``Pemprograman Sistem Rotasi Garasi Mobil Berbasis Mikro Kontroler `` dimana pada analisa ini, penulis melakukan eksperimentasi dengan merancang sekaligus membuat alat rancangan yang akan dijadikan sebagai suatu solusi alternatif dalam pengembangan teknologi modern yang merupakan penjajakan awal dalam pembuatan rancang bangun alat uji garasi mobil sistem rotasi dengan menggunakan mikro kontruksi. Pada umumnya pembuatan Alat Uji garasi mobil dibuat beraneka ragam dari bentuk sederhana sampai bentuk yang modern, ada yang secara manual maupun otomatis.

Perancangan alat Uji garasi mobil ini dilakukan untuk mendapatkan keuntungan serta kekurangan dari alat uji garasi mobil, maka dari itu perlu dilakukan perencanaan dan mengetahui komponen-komponen utama maupun komponen-komponen pendukung yang meliputi; Dinamo (motor), Sensor, mikro, LCD, keypad, dan relly

program utama yang mengatur kerja system secara keseluruhan yang meliputi, program proses kode, program kondisi awal, program baca keypad, program buka dan program tutup pintu, program putar mobil, program angkat turun mobil, program dorong masuk dan kelur mobil, serta program inisialisasi.

Dinamo (motor) yang digunakan mempunyai daya 46Watt, tegangan listrik pada dinamo 12 Volt, ketika mesin dihidupkan akan terjadi putaran yang dihasilkan oleh dinamo, dinamo (motor) mempunyai kebutuhan listrik pada masing-masing motor adalah 0,479 A.

(6)

Universitas Mercu Buana iv Bambang Mujiharto

KATA PENGANTAR

Dengan segala kerendahan hati, penulis memanjatkan puji dan syukur kehadirat Allah SWT, karena berkat rahmat dan karunia-Nya penulis dapat menyelesaikan penyusunan Tugas Akhir ini dengan judul `` Pemprograman

Sistem Rotasi Garasi Mobil Berbasis Mikro Kontroler “

Untuk itu perkenalkan penulis mengucapkan terimakasih yang sebesar-besarnya kepada: Allah SWT dan Rosulnya, penulis tidak dapat menyelesaikan Tugas Akhir ini tanpa adanya petunjuk, pengarah, serta pembimbing dari berbagai pihak yang telah ikut membantu dalam menyusun laporan Tugas Akhir ini. Pada kesempatan ini penulis ingin menyampaikan ucapan terima kasih kepada pihak-pihak yang telah membantu dalam menyelesaikan Tugas Akhir ini khususnya kepada :

1. Ibunda tercinta, serta keluarga yang selalu memberikan dukungan moral maupun material.

2. Bapak Ir. Rulli Nutranta M.Eng selaku pembimbing utama yang telah meluangkan waktunya untuk memberikan bimbingan kepada penulis.

3. Bapak Nanang Ruhyat. ST.MT sebagai Pembimbing kedua dan selaku kordinator Tugas Akhir pada Program Studi Teknik Mesin.

4. Para pemimpin, Dosen-dosen, dan karyawan Fakultas Teknologi Industri 5. Syarif Hidayat Ramdhani Selaku tim dalam pembuatan alat beserta

(7)

Universitas Mercu Buana v Bambang Mujiharto

6. Jajat Sudrajat. ST, Ucok Galilea Purba,Joko Triwindarto,yang telah mendukung serta memberikan semangat dalam menyelesaikan Tugas Akhir ini.

7. Rekan-rekan mahasiswa Teknik Mesin, Khususnya angkatan 2001

Akhirnya hanya kepada Allah SWT jualah penulis panjatkan do`a semoga bantuan dan jasa yang telah diberikan mendapatkan balasan yang setimpal dari Allah SWT. Penulis menyadari bahwa masih banyak kekurangan yang ada pada laporan penulisan ini, oleh karena itu penulis mengharapkan masukan-masukan yang positif untuk kesempurnaan penulisan ini.

Akhir kata, penulis mengharapkan agar laporan ini dapat berguna dan bermanfaat bagi penulis, dan bagi siapa saja yang memerlukannya.

Jakarta, Agustus 2008

Penulis

(8)

DAFTAR ISI

LEMBAR PERNYATAAN ………..………... i

LEMBAR PENGESAHAN ………..……... ii

KATA PENGANTAR ……….. iv

ABSTRAK ……….. vi

DAFTAR ISI ……….. vii

BAB I PENDAHULUAN 1.1 Latar Belakang ………. 1

1.2 Tujuan Penulisan ………. 2

1.3 Pembatasan Masalah ……….. 3

1.4 Metode Penelitian dan Pengumpulan Data ……… 3

1.5 Sistem Matika Penulisan ……….. 4

BAB II TEORI DASAR 2.1 Mikrokontroler AT 89S51 ……… 6

2.2 Fungsi – Fungsi khusus Dalam Mikrokontrole ……. 20

2.3 Regulator Tegangan 7805 ……… 28

BAB III SISTEM SOFTWARE PADA MIKRO KONTROLER 3.1 Blok Diagram Dan Cara Kerja ……… 30

3.2 Rangkaian Mikrokontroler AT 89S51 ………. 32

3.3 Modul Keypad ………..., 35

(9)

RANCANGAN GARASI MOBIL DENGAN MENGGUNAKAN PROGRAM SOFTWARE

4.1 Program Utama ………. 38

4.2 Program Proses Kode ………. 41

4.3 Program Kondisi Awal ………. 43

4.4 Program Baca Keypad ………. 46

4.5 Program Putar Garasi ……….... 49

4.6 Program Buka Pintu ……….. 51

4.7 Program Tutup Pintu ……….. 52

4.8 Program Putar Mobil ……….. 54

4.9 Program Angkat Mobil ………. 56

4.10 Program Turun Mobil ………. 57

4.11 Program Dorong Masuk ………... 58

4.12 Program Dorong Keluar ………. 59

4.13 Program Inisialisasi ……….. 60 BAB V PENUTUP 5.1 Kesimpulan ... 61 5.2 Saran ………. 62 DAFTAR PUSTAKA LAMPIRAN

(10)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Seiring perkembangan zaman saat ini, kemajuan teknologi berkembang sangat signifikan. Bahkan dalam hal ini dapat memudahkan dan menggantikan peranan manusia.

Perkembangan dan kemajuan teknologi transportasi juga mengalami kemajuan. Sekarang ini sudah banyak yang memiliki kendaraan, dan jumlah kendaraan yang terus ber tambah dapat menimbulkan masalah baru di masa depan yaitu lahan parkir. Dengan ini perlu adanya tempat untuk meminimaliskan lahan parkir kendaraan mobil tersebut.

PEMPROGRAMAN SISTEM ROTASI GARASI MOBIL BERBASIS MIKRO KONTROLER akan memasukkan dan mengeluarkan mobil sebanyak 4 buah. Mobil tersebut akan disimpan pada garasi yang dapat diputar posisinya dan memiliki 3 tingkat sistem garasi. Sistem penomoran yang digunakan adalah tingkat 1 nomor1 sampai 4. Penomoran ini untuk memasukan dan mengelurkan mobilnya dari garasi tersebut. Ini

(11)

orang tertentu saja yang dapat parkir).

Sistem garasi ini bekerja diatur oleh sebuah mikrokontroler AT89S51, sistem dilengkapi juga dengan sensor isi (IR) untuk mengecek isi dari garasi, sensor posisi putaran, dan dilengkapi dengan keypad untuk memasukan nomor garasi. nomor yang dimasukan akan ditampilkan pada display.

1.2 Tujuan Penulisan

Adapun tujuan penulisan tugas akhir ini adalah untuk mengaplikasikan ilmu pengetahuan yang didapat selama perkuliahan ke dalam bentuk nyata yaitu perancangan pembuatan suatu alat.

Disamping itu dengan membuat perancangan suatu alat, mahasiswa dituntut untuk dapat menyelesaikan suatu pokok permasalahan secara ilmiah dan dapat mempertanggung jawabkan hasil dari suatu pemikiran. Selain itu penulisan tugas akhir ini bertujuan untuk memenuhi persyaratan kelulusan Jenjang Studi Strata Satu (S-1) Jurusan Teknik Mesin Fakultas Teknologi Industri Universitas Mercu Buana

1.3. Batasan Masalah

Untuk memfokuskan permasalahan dan menghindari salah pengertian tentang perancangan alat, maka dalam hal ini penulisan membatasi perancangan “ Pemprograman sistem rotasi garasi mobil

(12)

berbasis mikro kontroler” dengan masukan data pada memori di lihat dari

segi :

Mikrokontroler digunakan sebagai pengendali dan pengontrol utama dari sistem yang dirancang.

Sensor infrared digunakan sebagai pendeteksi posisi garasi mobil. Display digunakan untuk menampilkan kode yang kita masukan, yang sudah ditentukan sebelumnya.

Kecepatan alat ini kurang dikarenakan agar bias presisi. Keseimbangan garasi kurang begitu seimbang.

1.4. Metode Penelitian dan Pengumpulan Data

Metode-metode yang penulis lakukan untuk dapat menunjang dalam penulisan skripsi ini adalah sebagai berikut :

Riset Kepustakaan

Metode menjadikan buku, literatur dan bahan lainya sebagai objek penunjang dalam perancangan alat. Dari buku, literatur dan bahan bacaan didapatkan teori yang berhubungan dengan masalah yang diteliti.

Riset Laboratorium

Metode penelitian ini digunakan untuk membuktikan teori-teori yang telah ditentukan dan melakukan percobaan dalam perancangan sistem.

Eksperiment

Yaitu realisasi dan uji coba yang langsung diterapkan terhadap rancangan sistem alat yang dibuat.

(13)

Dengan mengadakan diskusi dengan beberapa pihak baik itu dari dosen pembimbing, dosen lain, serta teman-teman mahasiswa untuk mencari solusi dari sistem alat yang dibuat.

1.5. Sistemmatika Penulisan

Guna memudahkan pemahaman dari penulisan tugas akhir ini, maka penulis membagi pembahasan dalam lima ( 5 ) sub pokok bahasan, sebagai berikut :

BAB I PENDAHULUAN

Bab ini membahas tentang latar belakang permasalahan, tujuan penulisan, pembatasan masalah, metoda penulisan dan sistematika penulisan.

BAB II DASAR-DASAR TEORI

Bab ini membahas teori penunjang hal-hal yang berkaitan dengan sistem rotasi berbasis mikrokontroler pada program software.

BAB III SISTEM SOFTWARE PADA MIKRO KONTROLER

Bab ini membahas mengenai cara kerja sistem software pada mikrokontoreler baik satu persatu maupun cara kerja sistem secara keseluruhan.

BAB IV SISTEM PROGRAM MIKRO KONTROLER PADA RANCANGAN GARASI MOBIL ROTASI DENGAN MENGGUNAKAN PROGRAM SOFTWARE

Bab ini membahas mengenai software ke mikrokontroler dan hasildari pengujian.

(14)

BAB V KESIMPULAN

Berisi tentang kesimpulan penulis setelah melihat hasil dan cara kerja alat yang dirancang.

Pada laporan tugas akhir ini juga dilengkapi dengan lampiran, rangkaian lengkap, listing program dan juga data sheet software.

(15)

BAB II

TEORI DASAR

2.1. Mikrokontroler AT 89S51

Mikrokontroler ini merupakan bagian sangat penting dalam suatu alat karena fungsi dari Mikrokontroler disini mengatur seluruh proses dan kerja dari suatu alat. Mikrocontroler ini dapat didefinisikan sebagai suatu rangkaian yang didisain untuk melaksanakan fungsi-fungsi suatu unit pemrograman sentral suatu komputer digit dan suatu sistem logika universal yang dapat diprogram dan dimanufaktur pada sebuah chip silikon. Sebenarnya pada dasarnya Microkontroler ini dirancang dikarenakan untuk menyederhanakan fungsi dari komponen komponen elektronika yang cukup banyak seperti pengoperasian Comparator, Shift register, dan beberapa fungsi lain dari beberapa IC logika. Dengan Mikrokontroler ini memudahkan desainer untuk merancang suatu fungsi tertentu, karena kerja dari microkontroler ini dapat diprogram sesuai dengan kemauan. Dan yang lebih mudah lagi

(16)

Mikrokontroler ini merupakan suatu device yang merupakan penggabungan beberapa jenis device yaitu Mikroprosesor ( sebagai otak dari chip ini ), Internal Random Access Memory, internal Electrical Erasable Programmable Read Only Memory ( EEPROM ) sebagai program memory dan I/O port parallel dan I/O port serial, sehingga tidak memerlukan I/O untuk pengambilan / pengeluaran data dan tidak memerlukan memory untuk penyimpanan data, karena semua media tersebut telah ada di dalam chip microkontroler tersebut. Hanya bila diperlukan fasilitas tersebut dapat ditambah diluar chip. Mikrokontroler memiliki banyak jenis, jenis yang dipaparkan kali ini adalah salah satu jenis Mikrokontroler keluarga MCS-51 yaitu AT89S51.

A. Pengenalan Mikrokontroler AT89S51

Mikrokontroler AT 89S51 ini merupakan salah satu keluarga Mikrokontroler yang diproduksi oleh Atmel. Dimana mikrokontroler untuk jenis ini sangat compatible dalam hal proses dan penggunaannya dengan keluarga MCS-51 yang dikeluarkan oleh Intel. Mikrokontroler AT89S51 ini memiliki spesifikasi sebagai berikut ini:

1) 8 bit CPU yang dikhususkan untuk aplikasi kontrol.

2) Memiliki kemampuan untuk proses boolean extensive (single bit logic).

(17)

3) 64 Kbyte pengalamatan program memory. 4) 64 Kbyte pengalamatan data memory. 5) 4 Kbyte internal program memory. 6) 128 byte internal data RAM.

7) 4 x 8 bit jalur data yang dapat diprogram secara bidirectional. 8) 2 buah 16 bit Timer / counter.

9) Full dupplex 10) 6 sumber interupt

(18)

B. Diagram Blok Mikrokontroler AT89S51

Berikut ini adalah gambar blok diagram Arsitektur dari mikrokontroler AT89S51

Gambar 2.1 : Diagram Blok Mikrokontroler AT89S51

(19)

C. SFR ( Register Fungsi Khusus ) a. Accumulator ( register A )

Accumulator merupakan salah satu jenis register atau tempat penyimpanan data untuk sementara waktu. Dimana Accumulator ini biasa dipakai untuk menyimpan proses perhitungan atau digunakan untuk tempat sementara proses proses perhitungan aritmatika seperti proses penambahan, pengurangan, pengeseran, perubahan bit dan lain sebagainya. Register ini biasa disebut Register A.

b. Register B

Register ini berfungsi untuk pengoperasian perkalian atau pembagian dimana register ini bekerja berpasangan dengan register A, pada proses perkalian atau pembagian.

c. Program Status Word ( PSW )

Register ini berisi beberapa status yang penting seperti adanya carry pada proses perhitungan, adanya overflow pada proses perhitungan, pemeriksaan bit pada transfer data, adanya polaritas (+ / ) dan status untuk pemilihan bank dari register (R0-R7). Berikut ini beberapa dari fungsi PSW dan keterangannya.

(20)

Tabel.2.1.1 fungsi PSW

PSW 7 PSW 6 PSW 5 PSW 4 PSW 3 PSW 2 PSW 1 PSW 0 Position CY AC F0 RS1 RS0 OV - P Status

1) Bit carry flag (CY)

Bit carry (bit ke - 8) mempunyai dua fungsi yaitu: pertama: carry akan menunjukkan apakah operasi penjumlahan mengandung carry (sisa) atau pada operasi pengurangan mengandung borrow (kurang). Apabila operasi ini mengandung carry, maka bit ini akan diset satu. Sedangkan jika mengandung borrow, maka bit ini akan diset nol. Kedua : carry dimanfaatkan sebagai bit ke delapan untuk operasi pergeseran (shift) atau perputaran.

2) Bit Auxiliary Carry (AC)

Bit ini menunjukkan adanya carry (bawaan) dari bit ketiga menuju ke bit keempat pada operasi aritmatika atau dari 4 bit rendah ke 4 bit

Simbol Posisi Nama dan Fungsi CY PSW.7 Carry Flag

AC PSW.6 Auxiliary Carry Flag (for BCD Operation)

F0 PSW.5 Flag 0 (Available to the user for general purpose)

RS1 PSW.4 register bank selector bit 1 (set/reset dengan Perangkat Lunak) RS0 PSW.3 register bank selector bit 0 (set/reset dengan Perangkat Lunak)

OV PSW.2 Overflow flag - PSW.1 User definable flag

(21)

tinggi. Bit ini jarang digunakan dalam program, tetapi digunakan oleh mikrokontroler secara implisit pada operasi aritmatika bilangan BCD. 3) Bit Flag 0 (F0)

Bit ini menunjukkan apakah hasil operasinya nol atau tidak. Apabila hasil operasi adalah nol, maka bit ini diset 1, dan apabila hasil operasinya adalah tidak nol maka bit ini akan reset. Bit ini juga digunakan pada perbandingan dua buah data. Bila kedua data sama maka akan diset 1 sedangkan jika kedua data itu berbeda maka akan direset nol.

4) Bit register select (RS)

RS0 dan RS1 digunakan untuk memilih bank register. Delapan buah register ini merupakan register serbaguna. Lokasinya pada awal 32 byte RAM internal yang memiliki alamat dari 00H sampai 1FH. Register ini dapat diakses melalui simbol assembler (R0, R1, R2, R3, R4, R5, R6, dan R7). Pemilihan bank register diperlihatkan pada tabel 2.2 di bawah ini :

Tabel 2.2. Pemilihan Bank Register

RS1 RS2 Bank Lokasi Memori 0 0 0 00H – 07H 0 1 1 08H – 0FH 1 0 2 10H – 17H 1 1 3 18H – 1FH

(22)

Register R0 dan R1 dapat digunakan untuk pengalamatan tak langsung pada internal RAM.

5) Bit Overflow (OV)

Bit ini menunjukkan adanya kelebihan atau kekurangan bit pada operasi penjumlahan atau pengurangan.

6) Bit parity (P)

Bit ini menunjukkan paritas dari hasil operasi, jika 1 maka hasil operasinya adalah genap, dan jika 0 maka hasil operasinya adalah ganjil.

7) Power Control Register (PCON)

Register PCON berfungsi sebagai pengontrol mode kerja daripada CPU. Register PCON ini tidak dapat dialamati per bit.

8) Register Timer Mode (TMOD)

Register yang berfungsi sebagai pengontrol pemilihan mode operasi untuk timer / counter. Sedangkan untuk pengontrol kerja timer / counter adalah register timer control (TCON).

9) Serial Control Register (SCON)

Register yang berfungsi untuk mengontrol kerja port serial. Port serial pada mikrokontroler AT89C2051 bersifat full duplex, yang berarti dapat mengirim dan menerima data secara bersamaan. Register

(23)

penerima dan pengirim pada port serial diakses pada SBUF(serial buffer).

10) Stack Pointer

Stack pointer ini memiliki lebar data 8 bit. Dimana isinya merupakan alamat pada internal memory yang akan dipakai untuk tempat stack. Dimana fungsi dari stack ini adalah menunjuk alamat untuk menyimpan data yang diperintahkan oleh perintah Push dan Call dalam proses mikroprosesor / mikrokontroler . Pada keadaan awal alamat yang ditunjuk 07h. Khusus untuk Mikrokontroler ini penempatan stack akan maju ke alamat selanjutnya.

11) Data Pointer

Data pointer merupakan register 16 bit yang berfungsi untuk menunjuk Alamat RAM atau ROM yang dituju pada saat ada perintah pembacaan data.

12) Serial Data Buffer

Untuk Serial data buffer ini memiliki 2 register yaitu register kirim dan register terima. Ketika data dimasukkan ke SBUF, maka data akan segera dikirim ke Register kirim untuk proses pengiriman serial data. Ketika data masuk lewat buffer penerima maka data akan berpindah dari buffer penerima ke SBUF.

(24)

13) Control Register

Special Function Register IP, IE, TMOD, TCON, T2CON, SCON, and PCON berisi kontrol dan status dari interupt bit, Timer / Counter dan Serial Port.

Yang dimaksud dengan special function register adalah kumpulan register-register yang memiliki fungsi khusus dimana isi dari register tersebut ada yang menunjukan sebuah informasi penting mengenai suatu fungsi tertentu, ada juga yang menyimpan data sebagai buffers dari port tertentu (memory sementara).

Fungsi-fungsi Control register akan dijelaskan pada fungsi-fungsi khusus dari Mikrokontroler

D. PORT DAN CARA KERJA

Pada dasarnya mikrokontroller Atmel keluarga 51 mempunyai dua kelompok instruksi untuk mengeluarkan data ke port parallel ( tanda ‘x’ artinya sama seperti kondisi sebelumnya ).

a. Kelompok instruksi pertama bekerja pada port seutuhnya artinya 8 jalur dari port bersangkutan, misalnya mov P3, #FFh membuat ke delapan jalur port 0 semuanya dalam kondisi logika ‘1’ ( atau isinya 1111 1111 dalam biner ).

b. Kelompok instruksi kedua hanya berpengaruh pada salah satu jalur atau bit dari port, misalnya instruksi SETB P3.4 artinya menset bit -4

(25)

dari port 3 ( bit-4 dari port 3 = 1 → xxx1 xxxx ) atau instruksi CLR P3.3 digunakan untuk menolkan bit-3 dari port 3 ( bit-3 dari port 3=0 → xxxx 0xxx ).

E. Pin Description Mikrokontroler AT89S51

(26)

a. VCC dan GND Supply tegangan b. Port 1 dan Port 3

Port 1 s/d Port 3 dan funsi-fungsinya telah dijelaskan diatas. c. RST

Reset input. Status High pada input ini untuk 2 cycle mesin ketika oscilator bekerja mereset mikro prosesor.

d. XTAL 1

Input ke Inventing Oscilator amplifier dan input ke internal clock microkontroler.

e. XTAL 2

Output dari inventing oscilator amplifier. Jika menginginkan menggunakan oscilator signal external input Xtal2 tidak dihubungkan. Gambar 2.3 : Skematik Dari Penggunaan Internal Oscilator dan eksternal

oscillator.

Catatan : C1,C2 = 30 pF ± 10 pF untuk penggunaan Crystal

(27)

Sehubungan dengan penggunaan sumber oscilator diatas, baik penggunaan oscilator external maupun oscilator internal. Besar frekuensi oscilator sangat berpengaruh terhadap kecepatan proses kerja dari mikrocontroler.

Berikut ini beberapa hal penting mengenai kerja dari siklus mikrokontroler.

Satu siklus mesin berisi 6 urutan keadaan, diberi nomer S1 s/d S6. Setiap keadaan waktu adalah sepanjang dua periode oscilator, sehingga siklus mesin membutuhkan 12 perioda clock. Jika kita mengunakan sumber clock 12 MHz atau kita memilih crystal 12 Mhz, maka waktu 1 siklus sekitar 1 uS.

Eksekusi satu siklus instruksi dimulai selama keadaan 1 ( state1 ) dari siklus mesin, saat kode operasi ( opcode ) ditahan dalam register instruksi.

C2

C1

XTAL2

XTAL1

GND

Gambar Schematik Penggunaan Internal Clock

XTAL2

XTAL1

GND

NC

EXT OSC SIGNAL

(28)

Pengambilan kedua terjadi selama S4 pada siklus mesin yang sama. Eksekusi secara lengkap selesai pada akhir keadaan 6 dari siklus mesin.

Urutan eksekusi adalah sama untuk memori program eksternal atau internal. Waktu eksekusi tidak tergantung pada memori program internal atau eksternal. Gambar dibawah ini menjelaskan mengenai siklus mesin dan timing diagram dalam pemakaian internal maupun external program memory.

S 1 S 2 S 3 S 4 S 5 S 6 S 1 S 2 S 3 S 4 S 5 S 6

S 1

Baca Opcode Baca Opcode berikutnya S 2 S 3 S 4 S 5 S 6

S 1

Baca Opcode Baca Byte kedua S 2 S 3 S 4 S 5 S 6

S 1

Baca Opcode Baca Opcode berikutnya S 2 S 3 S 4 S 5 S 6

S 1

Baca Opcode Baca Opcode berikutnya S 2 S 3 S 4 S 5 S 6

S 1 S 2 S 3 S 4 S 5 S 6

S 1

Baca Opcode berikutnya S 2 S 3 S 4 S 5 S 6 (A) 1 Byte Instruksi 1 Siklus

(b) 2 Byte Instruksi 1 Siklus

(C) 1 Byte 2 Siklus Instruksi

Proses pembacaan opcode dari external memory

Alamat DATA

Gambar timing diagram dari pembacaan op-code

(29)

2.2. Fungsi - Fungsi Khusus dalam Mikrokontroler

1) Interupsi

Interupsi adalah perintah untuk menjalankan suatu program sub rutin pada saat menjalankan program utama. Apabila AT89C2051 mendapat permintaan interupsi maka program counter (PC) akan diisi alamat dari vector interupsi, kemudian AT89C2051 melaksanakan rutin pelayanan interupsi mulai dari alamat tersebut setelah selesai maka AT89C2051 akan kembali ke pelaksanaan program utama yang ditinggalkan. Mikrokontroller AT89C2051 menyediakan 6 sumber interupsi yaitu 2 buah interupsi eksternal ( INT 0 dan INT 1 ), 3 buah interupsi timer ( Timer 0, Timer 1, dan Timer 2 ), dan sebuah interupsi port serial.

Selain itu ada juga sebuah non maskable interrupt yaitu reset yang tidak dapat dihalangi oleh perangkat lunak. Setiap sumber interupsi dapat diprogram secara individual (sendiri-sendiri) baik pengaktifannya maupun prioritasnya. Untuk mengaktifkan atau menonaktifkan interupsi dikontrol oleh register IE (interrupt enable), sedangkan untuk tingkat prioritasnya diatur oleh register IP (interrupt priority).

Jenis-jenis Interupsi:

1. Interupsi yang tidak dapat dihalangi (non Mascable Interupt), misalnya RESET.

(30)

2. Interupsi yang dapat dihalangi ( Mascable Interupt ), Misalnya : INT0, INT1, Timer 1, Timer 0, Serial Port ( internal )

Tabel.2.4. tabel lokasi pengalamatan untuk interupt

Nama Lokasi Alamat Alat Interupsi

RESET 00H Power On Reset INT 0 03H INT 0

Timer 1 0BH Timer 0 INT 1 13H INT 1 Timer 1 1BH Timer 1 Sint 23H Port I/O Serial

Seperti yang telah kita ketahui diatas bahwa Mikrokontroler TYPE 89C2051 memiliki 5 Sumber mascable interupsi yaitu INT0, INT1, Timer0, Timer1, Serial Port. Masing-masing dapat diaktifkan dengan mengubah flag - flagnya pada beberapa SFR (special Function register). Untuk mengaktifkan INT0 dan INT1 dapat diaktifkan dengan merubah bit-bit flag IT0, IT1, IE0, IE1 di dalam 1 blok TCON. Untuk mengaktifkan interupt 0 dan interupt 1 bisa diprogram secara periodik, dapat juga diberi sinyal dari hardware lain ke Pin INT0 / INT1. Interupsi Timer 0 dan Timer 1 dapat dijalankan dengan mengeset bit TF0 dan TF1 pada special function register. Untuk pengaktifan interupsi serial port dapat diset pada SCON ( SFR ).

Berikut ini adalah satu blok dari special function register yang digunakan untuk mengon-offkan perintah interrupt, yaitu IE (Interupt Enable).

(31)

Tabel.2.5.1

BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 EA - - ES ET 1 EX 1 ET 0 EX 0

Tabel.2.5.2 Spesial Function Register

SIMBOL POSISI FUNGSI

EA IE.7 Melumpuhkan semua interupsi (non aktif)

IE.6

IE.5

ES IE.4 Bit pembuat enable port serial ET1 IE.3 bit pembuat enable Timer 1 EX1 IE.2 Bit Pembuat enable INT1 ET0 IE.1 Bit Pembuat enable Timer 0 EX0 IE.0 Bit Pembuat enable INT 0

(32)

Dengan mengeset 1 pada bit tersebut diatas maka proses interupsi akan ON.

a. Prioritas Interupsi

Interupsi yang telah diungkapkan diatas dapat diprioritaskan mana interupsi yang dahulu mana interupsi yang akan dilayani kemudian. Dengan mengeset IP pada Special Function Register maka prioritas tertinggi akan dijalankan. Berikut ini merupakan bit-bit dalam SFR IP (Interupt Priority) yang harus diaktifkan.

Tabel.2.6.Bit-bit SFR IP

BIT 7 BIT6 BIT5 BIT4 BIT3 BIT 2 BIT 1 BIT0 - - - PS PT1 PX1 PT0 PX0

Dimana bila bit ini berisi 1 merupakan prioritas tertinggi dan bila diberi 0 adalah prioritas terendah.

Diperlukan perintah khusus untuk mengeset jalannya proses interupt ini terutama untuk mascable interupt. Perintah yang biasa digunakan adalah : MOV IE,#…h atau untuk mengakses statusnya per bit dengan cara SETB IE.5 maka akan secara otomatis mengaktifkan bit kelima dari SFR IE. Adapun perintah yang harus digunakan untuk kembali ke program utama setelah program interupt telah selesai dijalankan adalah RET1.

(33)

Tabel.2.7 Alamat Bit

Simbol Posisi Fungsi PS IP.4 Prioritas Interupsi Port Serial PT1 IP.3 Prioritas Interupsi Timer 1 PX1 IP.2 Prioritas Interupsi INT1 PT0 IP.1 Prioritas Interupsi Timer 0 PX0 IP.0 Prioritas Interupsi INT0

Diperlukan perintah khusus untuk mengeset jalannya proses interupt ini terutama untuk mascable interupt. Perintah yang biasa digunakan adalah : MOV IE,#…h atau untuk mengakses statusnya per bit dengan cara SETB IE.5 maka akan secara otomatis mengaktifkan bit kelima dari SFR IE. Adapun perintah yang harus digunakan untuk kembali ke program utama setelah program interupt telah selesai dijalankan adalah RET1.

2) Timer / Counter

Didalam chip mikrokontroler 89C2051 terdapat dua buah timer / counter 16 bit yang dapat diatur melalui perangkat lunak, yaitu timer / counter 0 dan timer / counter 1. Apabila timer / counter ini diaktifkan pada frekuensi kerja mikrokontroler 12 mHz, Timer / counter akan melakukan perhitungan waktu sekali setiap 1 mikrodetik secara independent, tidak tergantung pada pelaksanaan suatu instruksi. Satu siklus pencacahan waktu berpadanan dengan satu siklus pelaksanaan instruksi, sedangkan satu siklus diselenggarakan dalam waktu 1 mikrodetik. Bila dimisalkan suatu urutan instruksi telah selesai dilaksanakan dalam waktu 5

(34)

mikrodetik, pada saat itu pula timer / counter telah menunjukkan perioda waktu 5 mikrodetik. Apabila perioda waktu tertentu telah dilampaui, timer / counter segera menginterupsi mikrokontroler untuk memberitahukan bahwa proses perhitungan telah selesai dilaksanakan. Perioda waktu timer/counter secara umum ditentukan oleh persamaan berikut:

Sebagai Timer / Counter 8 bit.

T = (255-TLx) * 1 Us ; dimana TLx adalah isi register TL0 atau TL1.

Sebagai Timer / Counter 16 bit T = (65535-THx TLx) * 1 uS

THx = isi register TH0 atau TH1 TLx = isi register TL0 atau TL1 Pengontrol kerja dari timer / counter adalah SFR TCON (

RegisterTimer Control ).

Adapun definisi dari bit-bit pada timer control adalah sebagai berikut :

Tabel.2.8.1 Bit-bit Timer Kontrol

TCON.7 TCON.6 TCON.5 TCON.4 TCON.3 TCON.2 TCON.1 TCON.0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

Tabel.2.8.2 Alamat Bit

SYMBOL POSISI FUNGSI

TF1 TCON. 7 Timer 1 overflow flag. Diset / clear oleh perangkat keras saat timer / counter menghasilkan overflow. TR1 TCON. 6 Port untuk menjalankan timer 1. Diset / clear oleh

perangkat lunak untuk membuat timer on - off. TF0 TCON. 5 Timer 0 overflow flag. Diset / clear oleh perangkat

(35)

TR0 TCON. 4 Bit untuk menghasilkan timer 0. Diset / clear oleh perangkat lunak untuk membuat timer on – off. IE1 TCON. 3 Eksternal interrupt 1 edge flag.

IT1 TCON. 2 Interupt 1 type control byte. Diset / clear oleh perangkat lunak untuk menspesifikasikan sisi turun / level rendahan trigger dari interrupt eksternal.

IE0 TCON. 1 Eksternal interrupt 0 edge flag. IT0 TCON. 0 Interrupt 0 type control bit.

Pengontrolan pemilihan mode pada timer dapat dipilih di register timer mode ( TMOD ) yang mana definisi bit - bitnya adalah sebagai berikut :

Tabel.2.9.1 Register TMOD

TMOD.7 TMOD.6 TMOD.5 TMOD.4 TMOD.3 TMOD.2 TMOD.1 TMOD.0 GATE C/T M1 M0 GATE C/T M1 M0

Tabel.2.9.2 Fungsi Timer Mode

Keterangan:

GATE : Saat Trx dalam TCON diset1 dan GATE = 1, timer/counter x akan berjalan ketika TRx = 1 (timer dikontrol Perangkat Lunak).

C/T : Pemilih fungsi timer atau counter. Clear (0) untuk operasi timer dengan masukkan dari sistem clock internal. Set (1)

(36)

untuk operasi counter dengan masukkan dari pena T0 atau T1.M1, M0 = Pemilihan mode.

Tabel 2.9.3 Operasi TMOD

M1 M0 MODE OPERASI 0 0 0 Timer 13 bit

0 1 1 Timer / counter 16 bit

1 0 2 Timer auto reload 8 bit ( pengisian otomatis ) 1 1 3 TL 0 adalah timer / counter 8 bit yang

dikontrol oleh control bit standart timer 0. TH 0 adalah timer 8 bit dan dikontrol oleh control bit timer.

3) Mode 0

Dalam mode ini register timer disusun sebagai register 13 bit. Setelah semua perhitungan selesai, mikrokontroler akan menset Timer Interupt Flag ( TF1 ). Dengan membuat GATE = 1, timer dapat dikontrol oleh masukkan luar INT 1, untuk fasilitas pengukuran lebar pulsa.

4) Mode 1

Mode 1 ini memiliki kesamaan dengan mode 0 akan tetapi register timer ini bekerja secara 16 bit.

5) Mode 2

Mode 2 ini menyusun register timer sebagai 8 bit counter. Overflow dari TL1 tidak hanya menset TF1 tetapi juga mengisi TL1 dengan isi TH1 yang diatur secara Perangkat Lunak. Pengisian ini tidak mengubah TH1. 6) Mode 3

(37)

Timer 1 dalam mode 3 semata-mata memegang hitungan. Efeknya sama seperti menset TR1 = 0. Timer 0 dalam mode 3 menetapkan TL0 dan TH0 sebagi dua counter terpisah.Tl0 menggunakan kontrol bit timer 0 yaitu C?T, Gate, TR0, INT0 dan TF0.TH0 ditetapkan sebagai fungsi timer. Mode 3 diperlukan untuk aplikasi yang membutuhkan timer / counter ekstra 8 bit. Dengan timer 0 dalam mode 3, mikrokontroler ini seperti memiliki 3 timer / counter. Saat timer 0 dalam mode 3, Timer 1 dapat dihidupkan atau dimatikan atau dapat digunakan oleh serial port sebagai pembangkit baudrate.

7) Menyetel Timer

Tabel - tabel dibawah ini memberikan beberapa nilai yang diisikan kedalam TMOD, yang dapat digunakan untuk menyetel timer 0 dalam mode yang berbeda. Diasumsikan hanya satu timer yang digunakan, jika diinginkan untuk menjalankan timer 0 dan timer 1 secara bersamaan, dalam beberapa mode nilai TMOD harus di OR kan dengan nilai seperti terlihat untuk timer 1(tabel 3 dan 4). Sebagai contoh, jika diinginkan untuk menjalankan timer 0 dalam mode 1 Gate ( kontrol external ) dan timer 1 dalam mode 2 counter, maka nilai yang harus diisikan pada TMOD adalah 69h (nilai 09h dari tabel 1 di OR kan dengan 60h dari tabel 3). Contoh : 0000 1001 (09h) OR 0110 0000 (60h) = 0110 1001 (69h). Dengan kontrol internal time ini dapat dihidupkan atau dimatikan dengan menset / reset TR0 ( kontrol Perangkat Lunak ). Pada kontrol external

(38)

timer dapat dihidup matikan dengan memberikan logika 0 pada INT 0 ( kontrol Perangkat Keras ).

Tabel.2.10.1 Kontrol Internal Time

Mode Fungsi

Timer 0 TMOD Mode Fungsi Counter 0 TMOD Kontrol

Internal Kontrol External Kontrol Internal Kontrol External 0 13 Bit timer 00H 08H 0 13 Bit timer 04H 0CH 1 16 Bit timer 01H 09H 1 16 Bit timer 05H 0DH 2 8 bit auto

reload 02H 0AH 2 8 bit auto reload 06H 0EH 3 Dua 8 bit

timer 03H 0BH 3 Dua 8 bit timer 07H 0FH

2.3

Regulator Tegangan 7805

78xx adalah tegangan regulator yang merupakan seri dari tegangan regulator positif, berbeda dengan 79xx yang merupakan tegangan regulator negatif. 2 digit terakhir dari angka-angka tersebut menunjukkan jumlah tegangan output. 7805 mempunyai tegangan output positif dan tegangan regulaor sebesar 5 volt.

Karakteristik 7805 ini adalah :

1. Arus output lebih dari satu ampere tanpa sebuah eksternal trasnsistor. 2. Otomatis akan mati bila panas telah melebihi batas.

(39)

4. Tenaga ripple rejection lebih besar dari 60 dB

Gambar 2.6. IC regulator LM7805 dan LM7812

(40)

BAB III

SISTEM SOFTWARE PADA MIKRO KONTROLER

3.1 Blok Diagram dan Cara Kerja

Tahap selanjutnya dalam perancangan suatu alat adalah membuat suatu diagram blok, dimana diagram blok ini berfungsi untuk mempermudah didalam memahami rangkaian dan perakitan alat. Dengan demikian dalam tahap perancangan dan perakitan alat akan dibuat berdasarkan per-blok diagram rangkaian, dimana tiap-tiap blok rangkaian memiliki fungsi masing-masing dan saling berkaitan antara satu dengan yang lainnya. Dimana diagram blok rangkaian yang dimaksud ditampilkan pada gambar sebagai berikut :

Prinsip Kerja :

1. AT89S51 berfungsi sebagai pusat kendali yang akan menentukan kerja dari sistem.

(41)

oleh mobil.

3. Sensor posisi berguna mengetahui posisi putaran garasi

4. Sensor pintu buka/tutup berguna pengecek batas buka dan tutup pintu 5. Keypad berguna memasukkan kode garasi yang kita miliki

6. Display sebagai penampil kode yang kita masukan.

7. Sebelum mobil masuk ke garasi, pengemudi mematikan mobil dan keluar. 8. kemudian pengemudi memasukan kode garasinya sebanyak 4 digit

melalui keypad. Kode yang dimasukkan akan ditampilkan pada display. 9. sebagai contoh garasi yang kita miliki adalah nomor tiga.

10. Jika kode cocok maka garasi akan berputar ke garasi nomor tiga, kemudian pintu akan terbuka.

11. Setelah pintu terbuka maka mobil akan didorong masuk kedalam garasi. 12. Jika mobil telah masuk maka pintu akan tertutup kembali.

13. Jika mobil ingin keluar, maka pengemudi memasukkan kodenya kembali. Jika cocok maka mobil akan dikeluarkan.

14. sebagai contoh; Posisi mobil ada di bagian atas, maka garasi akan diputar hingga garasi milik kita ada di bawah.

15. Setelah sampai dibawah maka pintu akan terbuka dan mobil ditari keluar oleh pendorong ke bagian pemutar.

(42)

16. Setelah sampai dipemutar maka mobil akan diputar 180 derajat, ini dilakukan agar pengemudi tidak perlu memundurkan mobilnya. Pintu akan tertutup kembali

17. Pengemudi dapat membawa pergi mobilnya.

Gambar 3.2.1. Blok Diagram Sistem

3.2 Rangkaian Mikrokontroler AT89S51

Sebagai pusat kendali dari seluruh sistem dari rangkaian Pengaturan Sistem Garasi Mobil Bertingkat 3 Dengan Menggunakan Sistem Rotasi Berbasis Mikrokontroler ini adalah adalah mikrokontroler AT89S51 yang berfungsi mengatur dan mengontrol pergerakkan motor untuk menentukan arah

(43)

inframerah dan saklar serta keypad,pad sistem juga dilengkapi dengan LCD sebagai penampil kode dan proses yang dijalankan. Untuk lebih jelasnya mengenai input dan output dari mikrokontroler dapat dilihat pada tabel 3.3.1 dibawah ini :

Tabel 3.3.1. Fungsi Port Mikrokontroler pada robot experimen

Port Input/Output Interface

P0 Output Penggerak motor

P1 Input Keypad

P2 output M odul LCD

P3 input Sensor posisi

Pada rangkaian minimal mikrokontroler AT89S51 ini dilengkapi dengan rangkaian clock yang terdiri dari criytal 12 Mhz dan 2 buah kapasitor keramik sebesar 33 pf. Besarnya nilai kristal yang digunakan menentukan frekuensi pencacahan mikrokontroler yang menetukan kecepatan proses dari mikrokontroler.

Untuk meyakinkan program bekerja dari awal maka dibuat suatu rangkaian power on reset yang akan mereset alat secara otomatis saat pertama kali catu daya dihidupkan. Rangkaian ini dibentuk oleh C3 dan R1 dimana prinsip kerjanya adalah proses pengisian dan pengosongan C3 sehingga menghasilkan suatu keadaan transisi dari logika rendah ke logika tinggi sesuai

(44)

yang dibutuhkan oleh pin reset mikrokontroler. Pada rangkaian juga dilengkapi tombol reset sehingga mikrokontroler dapat direeset sewaktu-waktu jika sistem mengalami kerusakan atau error dalam prosesnya.

Pada keluaran Port 0 (P0) ditambahkan resistor eksternal sebagai pullup, hal ini karena pada p0 tidak dilengkapi resistor internal seperti port yang lainnya penambahan resistor pullup ini juga bertujuan menaikan arus keluaran dari mikrokontroler. Untuk tegangan kerja dari mikrokontroler ini menggunakan tegangan sebesar 5 Volt yang sudah teregulasi dengan baik. Rangkaian minimal dari mikrokontroler AT89S51 diperlihatkan pada gambar 3.3.1 berikut ini :

(45)

Keypad ini berguna memasukkan kode atau password, keypad terdiri dari susunan tombol yang disususn secara matric. Angka tombol mana yang ditekan akan ditampilkan pada LCD. Fungsi dari tombol – tombol keypad tersebut pada alat adalah sebagai berikut :

Tabel 3.4.1. Angka-angka Keypad 0 sampai 9 Angka kode

* Pengulangan input

# Pengecekan kode

(46)

3.4

Modul LCD

LCD berguna menampilkan tombol mana yang ditekan. LCD juga akan menampilkan pesan setiap proses yang dijalankan. Apakah proses pemasukan mobil ke garasi, keluar mobil atau kesalahan password. LCD yang digunakan berukuran 2 x 16 karakter dan dihubungkan ke mikrokontroler dengan susunan sebagai berikut :

Tabel 3.5.1. Bentuk Modul LCD yang digunakan :

LCD display PIN LCD Port mikrokontroler Keterangan

DB7 14 P2.5 Jalur data DB6 13 P2.4 Jalur data DB4 12 P2.3 Jalur data DB3 11 P2.2 Jalur data E 6 P2.1 Enable RS 4 P2.0 Reset

RW 5 Ground Read Write

VSS 1 Ground Ground

VDD 2 + 5 volt + 5 volt

(47)

Gambar 3.5.1. Pin Koneksi LCD ke Microcontroller

(48)

BAB IV

SISTEM PROGRAM MIKRO KONTROLER PADA

RANCANGAN GARASI MOBIL DENGAN

MENGGUNAKAN PROGRAM SOFTWARE

4.1 Program Utama

Program utama ini akan mengatur kerja sistem secara keseluruhan. Program ini merupakan gabungan dari prosedur-prosedur yang dibuat untuk sistem parkir. Prosedur yang dipanggil oleh program ini adalah pengaturan kondisi awal, pembacaan keypad, dan proses jika kode yang dimasukan merupakan salah satu kode dari 4 kode tempat parkir. Pada program juga terdapat pengecekan kode salah, jika kode salah 3 kali dimasukan maka sistem akan berhenti sampai diaktifkan kembali oleh operator. Kode yang dimasukkan sebanyak 4 karakter angka.

(49)

Jumlahsalah = 3  Call Kondisiawal  Cls  Do     Call Bacakeypad     If Jumlahsalah <> 0 Then        Select Case Kodemasuk:           Case Passwd1 : Tujuan = 1        Call Proses           Case Passwd2 : Tujuan = 2        Call Proses           Case Passwd3 : Tujuan = 3        Call Proses           Case Passwd4 : Tujuan = 4        Call Proses           Case Else :        Decr Jumlahsalah        Cls        Lcd "KODE SALAH"        Lowerline        Lcd "KESEMPATAN = "        Locate 2 , 16        Lcd Jumlahsalah        Wait 3        End Select     Else        Cls        Lcd "KODE ANDA SALAH"        Lowerline        Lcd "HUBUNGI OPERATOR"        Wait 3        Do           Call Bacakeypad        Loop Until Kodemasuk = Passwd0     End If  Loop  End 

(50)

4.1. Flowchart Program Utama Start

Kode M asuk = 0000 Jum lah Salah

<>0

Jum lah Salah 3

Kode M asuk = 1111 Proses

Tujuan 1 Kode M asuk = 2222 Kode M asuk = 3333 Kode M asuk = 4444 Proses Tujuan 2 Proses Tujuan 3 Proses Tujuan 4 Stop ya tidak ya tidak ya tidak ya tidak ya tidak ya tidak Hubungi operator Tam pilan Peringatan Posisi Awal Baca Keypad

Jum lah Salah = Jum lah Salah – 1 Tam pilan Peringatan

(51)

Setelah kode dimasukkan dan kode tersebut sesuai dengan salah satu kode parkir maka prosedur proses akan dilakukan. Prosedur ini bertujuan untuk mengecek keberadaan mobil pada luar dan dalam garasi sehingga dapat diketahui apakah tindakan selanjutnya memasukkan atau mengeluarkan mobil.

Jika kode merupakan salah satu dari kode garasi (sebagai contoh garasi 1) maka pada Lcd akan ditampilkan pernyataan bahwa kode benar. Selanjutnya garasi akan diputar sesuai dengan garasi tujuan, tetapi jika posisi garasi sekarang sama dengan garasi tujuan maka pemutaran garasi tidak akan dilakukan. Kemudian akan dicek keberadaan mobil pada dalam dan luar garasi. Jika pada garasi dalam terdapat mobil maka akan dicek pula garasi luar, jika pada garasi luar terdapat mobil juga maka proses tidak akan dilakukan karena akan terjadi bentrokan mobil, tetapi jika garasi luar kosong maka proses yang dilakukan adalah pengeluaran mobil. Jika pada garasi dalam tidak terdapat mobil maka akan dicek kondisi garasi luar. Jika terdapat mobil maka pemasukan mobil dilakukan. Tetapi jika garasi luar kosong maka tidak akan dilakukan proses apapun. Setelah prosedur ini dilakukan maka akan kembali ke program utama dan proses pembacaan kode dilakukan kembali.

(52)

Listing program Proses Kode Sub Proses     Cls     Lcd "   KODE BENAR   "     Wait 3     Call Putargarasi(tujuan)     Cls     If Irmobildalam = 1 Then        If Irmobilluar = 0 Then           Cls           Lcd "PROSES PEMASUKAN"           Lowerline           Lcd "     MOBIL     "  Call Dorongkeluar           Wait 1           Call Bukapintu           wait 1           Call Angkatmobil           wait 1           Call Dorongmasuk           wait 1           Call Turunmobil           wait 1           Call Tutuppintu           wait 1      Else           Cls           Lcd "TIDAK ADA MOBIL"           Lowerline           Lcd " PROSES GAGAL  "        End If     Else        If Irmobilluar = 1 Then           Cls           Lcd "KELUARKAN MOBIL"           Lowerline           Lcd "TERIMA KASIH"  Call Bukapintu           wait 1           Call Angkatmobil           wait 1           Call Dorongkeluar           wait 1           Call Turunmobil           wait 1           Call Tutuppintu           wait 1           Call Dorongmasuk           wait 1           Call Putarmobil           wait 1        Else           Cls           Lcd "ADA PENGHALANG"           Lowerline           Lcd "PROSES GAGAL"        End If     End If     Jumlahsalah = 3     Wait 1  End Sub 

(53)

4.2. Flowchart Program Proses Kode

4.3 Program Kondisi awal

Program ini akan mengembalikan sistem ke kondisi awal. Ini dilakukan untuk memastikan agar sistem dapat berjalan dengan baik mulai dari awal proses sampai akhir proses. Kodsia awal sistem adalah posisi garasi adalah garasi ke 1, pintu dalam keadaan tertutup, pendorong berada pada bagian dalam, pengangkat pada posisi bawah dan pemutar berada pada arah dalam.

Isi Garasi = 1 Isi Putar = 0 Masukan Mobil Tidak Ada Mobil Isi Putar = 1 Ada Penghalang Keluarkan Mobil Stop Posisi Awal Jumlah Salah 3

(54)

Pada prosedur ini akan dipanggil prosedur penurunan mobil, dorong masuk dan penutupan pintu. Pengecekan posisi garasi dilakukan dengan mengecek sensor garasi1 apakah telah terhalang atau belum, jika telah terhalang berarti garasi pada posisi 1 dan pemutaran garasi dihentikan. Untuk memastikan pemutar ke arah dalam maka akan dicek saklar batas mobil masuk apakah tertekan, jika tidak maka pemutar akan diputar berlawanan arah jarum jam sampai batas mobil masuk tertekan.

Listing program Kondisi Awal

Sub Kondisiawal    Call Turunmobil     Call Dorongmasuk     Call Tutuppintu     Posisiawal = 1     If Irgarasi1 = 0 Then        Reset Motorgarasi        Bitwait Irgarasi1 , Set        Set Motorgarasi  E d If

(55)

4.3. Flowchart Program Kondisi Awal Motor hidup Motor garasi = 0 Call turun mobil Call dorong masuk Call tutup pintu Ir garasi 1 = 0 Motor hidup Motor putar masuk = 0 Batas mobil masuk = 0 stop ya tidak ya tidak ya tidak ya tidak Motor Mati Motor Putar = 1 Motor Mati Motor Garasi = 1 Ir Garasi 1 = 0 Posisi awal = 1 Batas mobil Masuk = 1

(56)

4.4 Program Baca Keypad

Prosedur ini untuk memasukan kode yang akan diproses. Kode dimasukkan dengan menekan angka pada keypad. Tiap keypad mewakili angka yang ditekan. Kode yang dimasukan terdiri dari angka 0 sampai 9. Karakter * (bintang) berfungsi untuk memulai kembali penekanan kode dan karakter #(pager) berfungsi untuk enter atau pemasukkan kode telah selesai dan dilanjukkan ke prosedur selanjutnya dalam hal ini prosedur proses.

Pembacaan keypad dilakukan secara baris dan kolom. Keypad terdiri dari 4 x 4 baris dan kolom, tetapi hanya 3 x 4 yang aktif. Kolom diaktifkan secara satu persatu dan secara low. Setelah kolom dibuat low maka akan dibaca baris secara satu persatu, jika pada pembacaan baris terdapat pin yang low maka angka akan ditambahkan dengan kolom yang aktif. Setelah penekanan terbaca maka akan dicek apakah jumlah angka tesebut jika jumlah 1 – 9 berarti angka 1 – 10, jumlah 10 akan dirubah ke angka 0 dan jumlah = 11 berarti karakter * dan jumlah 12 berarti karakter #. Jika angka maka angka tersebut akan dimasukkan ke kode, jika telah 4 angka dimasukkan maka untuk melanjutkan proses harus menekan tanda #.

(57)

  Sub Bacakeypad     Call Inikeypad     Do        Tombolbuffer = &B11101111         For I = 1 To 3           P1 = Tombolbuffer           Angka = 0           If P1.0 = 0 Then        Angka = I + 0        Bitwait P1.0 , Set           Elseif P1.1 = 0 Then        Angka = I + 3        Bitwait P1.1 , Set           Elseif P1.2 = 0 Then        Angka = I + 6        Bitwait P1.2 , Set           Elseif P1.3 = 0 Then        Angka = I + 9        Bitwait P1.3 , Set           End If           Rotate Tombolbuffer , Left , 1           If Angka <> 0 Then        If Angka = 10 Then         Call Inikeypad         Exit For        Elseif Angka = 12 Then         A = 5         Exit Do        Else         If Angka = 11 Then        Angka = 0         End If         Incr A        Kar = Str(angka)        Kodemasuk = Kodemasuk + Kar        Lowerline        Lcd Kodemasuk           End If           End If        Next     Loop Until A >= 5  End Sub 

(58)
(59)

Pada waktu mobil dimasukan didalam garasi mobil maka mesin atau motor dapat berputar searah jarum jam atau sebaliknya.

Listing program Putar Garasi

Sub Putargarasi(tujuan As Byte)    If Posisiawal <> Tujuan Then       Do        Reset Motorgarasi        Bitwait Irgarasi2 , Reset        Bitwait Irgarasi2 , Set        Set Motorgarasi        Incr Posisiawal       Loop Until Tujuan =  Posisiawal       Posisiawal = Tujuan    End If  End Sub  start

(60)

(61)

Program ini akan membuka pintu garasi, terbuka pintu garasi ditandai dengan tertekannya saklar batas pintu buka. Jika saklar batas tidak tertekan maka motor buka pintu akan aktif sampai saklar batas buka pintu tertekan, jika telah tertekan maka motor akan mati

Listing program Buka Pintu

4.6. Flowchart Program Buka Pintu

Sub Bukapintu    If Bataspintubuka = 1 Then        Reset Motorpintubuka        Set Motorpintututup        Bitwait Bataspintubuka ,  Reset        Set Motorpintubuka        Set Motorpintututup     End If  End Sub  start Motor hidup Motor pintu buka = 0 stop ya ya tidak tidak Motor Mati Motor Pintu buka = 1 Batas buka = 1 Batas buka = 0

(62)

4.7 Program Tutup Pintu

Program ini akan menutup pintu garasi, tertutupnya pintu garasi ditandai dengan tertekannya saklar batas pintu tutup. Jika saklar batas tidak tertekan maka motor tutup pintu akan aktif sampai saklar batas tutup pintu tertekan, jika telah tertekan maka motor akan mati

Listing program Tutup Pintu

  Sub Tutuppintu     If Bataspintututup = 1 Then        Set Motorpintubuka        Reset Motorpintututup        Bitwait Bataspintututup ,  Reset        Set Motorpintubuka        Set Motorpintututup     End If  End Sub 

(63)

start Motor hidup Motor pintu tutup = 0 stop ya ya tidak tidak Motor Mati Motor Pintu Tutup = 1 Batas Tutup =1 Batas tutup = 0

(64)

4.8 Program Putar Mobil

Program ini akan memutar arah mobil yang dikeluarkan dari garasi, pemutar akan memutar arah mobil ke arah luar dan pemutar tersebut akan kembali ke arah dalam lagi jika mobil telah dibawa pergi. Pemutaran mobil dilakukan agar pemilik mobil tidak perlu susah memutarkan mobilnya.

Motor pemutar akan dihidupkan searah jarum jam dan akan menggerakkan pemutar searah jarum jam pula. Motor akan terus berputar sampai saklar batas mobil keluat tertekan yang menandakan mobil telah berbalik arah dan motor pemutarpun akan diam. Selanjutnya sensor garasi luar akan mengecek keberadaan mobil apakah telah dibawa oleh pemilik atau belum. Sensor akan terus dicek samapai mobil dibawa pergi. Setelah mobil dibawa pergi motor pun akan kembali berputar tetapi berlawanan jarum jam. Motor akan berhenti berputar sampai saklar batas mobil masuk tertekan dan motor pun akan berhenti.

Listing program Putar Mobil

Sub Putarmobil     Reset Motormobilkeluar     Set Motormobilmasuk     Bitwait Batasmobilkeluar ,  Reset     Set Motormobilkeluar     Waitms 500     Bitwait Irmobilluar , Reset     Wait 1     Reset Motormobilmasuk     Bitwait Batasmobilmasuk ,  Reset     Set Motormobilmasuk  End Sub 

(65)
(66)

4.9 Program Angkat Mobil

Program ini akan mengangkat mobil sehingga tidak menabrak lantai garasi. Mobil diangkat dengan ketinggian tertentu. Untuk mengangkat mobil maka motor angkat dihidupkan sampai saklar batas atas tertekan, jika saklar batas telah tertekan maka motor angkat akan berhenti berputar

Listing program

4.9. Flowchart Program Angkat Mobil

Sub Angkatmobil     If Batasmobilangkat = 1 Then        Reset Motormobilangkat        Set Motormobilturun        Bitwait Batasmobilangkat ,  Reset        Set Motormobilangkat        Set Motormobilturun     End If  End Sub  sta rt M o to r h id u p M o to r a n g ka t = 0 sto p y a y a tid a k tid a k M o to r M a ti M o to r A n g ka t = 1 B a ta s A n g k a t = 1 B a ta s a n g ka t = 0

(67)

Program ini merupakan kebalikan dari program angkat mobil yaitu menurunkan mobil, setelah diangkat maka posisi mobil telah sampai pada tujuanya maka mobil harus diturunkan untuk menurunkan mobil motor angkat akan diputar berlawanan arah, motor akan terus berputar sampai saklar batas turun tertekan, jika telah tertekan maka motor akan berhenti berputar.

Listing program

4.10. Flowchart Program Turun Mobil

Sub Turunmobil     If Batasmobilturun = 1 Then        Set Motormobilangkat        Reset Motormobilturun        Bitwait Batasmobilturun ,  Reset        Set Motormobilangkat        Set Motormobilturun     End If  End Sub  start Motor hidup Motor turun = 0 Motor mati Motor turun = 1 stop ya ya tidak tidak Batas turun = 1 Batas Turun = 0

(68)

4.11 Program Dorong Masuk

Program ini akan membawa mobil masuk kedalam garasi, setelah mobil diangkat maka mobil akan dibawa masuk ke dalam garasi, motor dorong masuk akan hidup sampai saklar batas masuk tertekan, setelah saklar tertekan maka motor akan berhenti

Listing program

4.11. Flowchart Program Dorong Masuk

Sub Dorongmasuk     If Batasmobilmasuk = 1 Then        Reset Motormobilmasuk        Set Motormobilkeluar        Bitwait Batasmobilmasuk ,  Reset        Set Motormobilmasuk        Set Motormobilkeluar     End If  End Sub  start Motor hidup Motor dorong masuk = 0 stop ya ya tidak tidak Motor mati Motor dorong Masuk = 1 Batas Masuk = 1 Batas masuk = 0

(69)

Program ini akan membawa mobil keluar dari garasi, setelah mobil diangkat maka mobil akan dibawa keluar dari garasi, motor dorong keluar akan hidup sampai saklar batas keluar tertekan, setelah saklar tertekan maka motor akan berhenti

Listing program

4.12. Flowchart Program Dorong Keluar start M otor hidup M otor dorong keluar = 0 B atas keluar = 0 stop ya ya tidak tidak M otor M ati M otor dorong K eluar = 1 B atas K eluar Sub Dorongkeluar    If Batasmobilkeluar = 1 Then        Reset Motormobilkeluar        Set Motormobilmasuk        Bitwait Batasmobilkeluar ,  Reset        Set Motormobilkeluar        Set Motormobilmasuk     End If  End Sub 

(70)

4.13 Program inisialisasi

Program ini akan mengatur kondisi awal dari variabel-variabel yang diperlukan oleh program dan memberikan tampilan awal atau perintah untuk memasukan kode.

Listing program Inisialisasi

                         

4.13. Flowchart Program Inisialisasi

Sub Inikeypad     Cls     Lcd "MASUKAN KODE"     Kodemasuk = ""     A = 0  End Sub  s ta r t s to p T a m p ilk a n “ M A S U K A N K O D E ” B e r s ih k a n V a r ia b e l K o d e m a s u k = ` ` A ` ` = B e r s ih k a n L a y a r C L S

(71)

BAB V

PENUTUP

5.1 KESIMPULAN

Dari hasil rancangan yang diperoleh dan diuji terhadap sistem dari “ Pemprograman Sistem Rotasi Garasi Mobil Berbasis Mikro

Kontroler “ dapat diberikan beberapa kesimpulan yaitu :

1. Sebagai pusat pengendali mikrokonrtroler AT89S51 mampu mengendalikan robot dengan baik, dimana dengan menggunakan bahasa assembler sebagai software robot dapat bekerja secara otomatis dan dapat bekerja seperti yang diinginkan.

2. Dari pengujian sistem secara keseluruhan alat bekerja dengan baik dan dapat berjalan sesuai dengan program yang telah dibuat.

(72)

5.2 SARAN

Saran – saran yang harus diperhatikan dari Pemprograman Sistem Rotasi Garasi Mobil Berbasi Mikro Kontroler pada program software adalah :

1. Ketelitian pada saat memprogram software – software harus teratur sesuai dengan kegunaan masing – masing.

2. Komponen – komponen software mudah rusak, bila menggunakanya tidak hati – hati.

3. Perlu mengingat kode – kode pintu parkir , agar mobil – mobil yang masuk dapat dibuka dan ditutup sesuai dengan keperluanya.

(73)

¾

Drs. H.C. Yohannes. Dasar-Dasar Elektronika. Yogyakarta: Ghalia Indonesia, 1979.

¾

M. Ary Heryanto, ST., & Ir. Wisnu Adi P. Pemrograman Bahasa C untuk Mikrokontroller ATMEGA 8535. Yogyakarta: ANDI Yogyakarta, 2008.

¾

Paulus Andi Nalwan. Teknik Antarmuka dan Pemrograman Mikrokontroller AT89C51. Jakarta: PT. Elex Media Komputindo Kelompok Gramedia, 2003.

¾

Wasito S. Vademekum Elektronika. Edisi Kedua. Jakarta: PT. Gramedia Pustaka Utama, 2004.

¾

Widodo Budiharto. Belajar Sendiri Membuat Robot Cerdas. Jakarta: PT. Elex Media Komputindo Kelompok Gramedia, 2006.

¾

Widodo Budiharto, & Gamayel Rizal. Belajar Sendiri 12 Proyek

Mikrokontroller untuk Pemula. PT. Elex Media Komputindo Kelompok Gramedia, Jakarta, 2006.

(74)
(75)

GAMBAR MOTOR PENGGERAK ROTASI

GAMBAR ALAT TAMPAK DEPAN

keypad LCD Sensor posisi Pemutar posisi kendaraan Saklar on/off Tahanan motor Motor

(76)

GAMBAR KOMPONEN JADI PANDANGAN SAMPING

GAMBAR KEYPAD

Parkir rotasi

Rantai Penggerak

(77)

GAMBAR KOMPONEN

Relay

Travo Mikro

Gambar

Gambar 2.1 : Diagram Blok Mikrokontroler AT89S51
Tabel 2.2. Pemilihan Bank Register
Gambar Schematik Penggunaan Internal Clock
Gambar timing diagram dari pembacaan op-code
+7

Referensi

Dokumen terkait

Most interior-point algorithms must be initiated at a strictly feasible point. The complexity of obtaining such an initial point is the same as that of solving the LP problem

Jika paket tersebut tidak ditujukan untuk router, maka router akan mencari alamat tujuan jaringan pada tabel routing.. Setelah sebuah interface untuk keluar dipilih, paket

Pada kemasan jenang dodol dengan berat 250 gram, merek akan diletakkan diatas sub merek dan penjelasan tentang produk dengan ukuran lebih kecil dibandingkan sub merek

[r]

Uji pengaruh dengan menggunakan uji regresi ganda dapat dilihat dari nilai yang berarti 82,2 % kemampuan pemecahan masalah peserta didik dipengaruhi secara bersama-sama oleh

Mengetahui dan menjelaskan pengaruh peresepsi kemudahan penggunaan (perceive ease of use) jejaring sosial Instagram terhadap peresepsi kemanfaatan (perceived usefulness)

&#34;Terima kasih, kau telah memberi banyak pelajaran padaku, Bayangan Setan!&#34; Kali ini Si Bayangan Setan benar-benar kehilangan muka. Di bawah sorak sorai para hadirin

tujuan dilakukannya kegiatan monev penelitian ini, diantaranya adalah : mendapatkan gambaran mengenai kinerja peneliti dalam melaksanakan penugasan program penelitian,