• Tidak ada hasil yang ditemukan

Perancangan Pemantau Kapasitas Tong Air Menggunakan Sensor Ultrasonic dengan Sms Gatewayberbasis Atmega 8535

N/A
N/A
Protected

Academic year: 2016

Membagikan "Perancangan Pemantau Kapasitas Tong Air Menggunakan Sensor Ultrasonic dengan Sms Gatewayberbasis Atmega 8535"

Copied!
108
0
0

Teks penuh

(1)

SISTEM PERANCANGAN PEMANTAU KAPASITAS TANGKI AIR

MENGGUNAKAN SENSOR ULTRASONIC DENGAN SMS

GATEWAY BERBASIS MIKROKONTROLER

ATMEGA 8535 SECARA SOFTWARE

TUGAS AKHIR

FAJAR SYUHADA

112408009

PROGRAM STUDI D-3 FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

SISTEM PERANCANGAN PEMANTAU KAPASITAS TANGKI AIR

MENGGUNAKAN SENSOR ULTRASONIC DENGAN SMS

GATEWAY BERBASIS MIKROKONTROLER

ATMEGA 8535 SECARA SOFTWARE

TUGAS AKHIR

Diajukan untuk memenuhi syarat memperoleh Ahli Madya

FAJAR SYUHADA

112408009

PROGRAM STUDI D-3 FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : Perancangan Pemantau Kapasitas Tong Air

Menggunakan Sensor Ultrasonic dengan Sms Gatewayberbasis Atmega 8535

Kategori : Tugas Akhir

Nama : Fajar Syuhada

Nomor Induk Mahasiswa : 112408009

Program Studi : Diploma 3 ( D-3) Fisika Departemen : Fisika

Fakultas : Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Disetujui di Medan, Januari 2015

Disetujui Oleh

Prodi D-3 Fisika FMIPA USU Pembimbing, Ketua,

(4)

PERNYATAAN

SISTEM PERANCANGAN PEMANTAU KAPASITAS TANGKI AIR MENGGUNAKAN SENSOR ULTRASONIC DENGAN SMS

GATEWAY BERBASIS MIKROKONTROLER ATMEGA8535 SECARA SOFTWARE

TUGAS AKHIR

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

Medan, Januari 2015

(5)

PENGHARGAAN

Segala puji dan syukur bagi Tuhan yang Maha ESA yang telah melimpahkan

barokah, rahmat, hidayah-Nya dan menganugerahkan kemudahan serta kelancaran

sehingga penulis dapat menyelesaikan penulisan tugas proyek ini sesuia waktu yang

telah ditetapkan.

Tugas Proyek ini disusun untuk melengkapi persyaratan dalam mencapai gelar

Ahli Madya pada Program Studi Diploma Tiga Fisika Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

Adapun judul Tugas Proyek ini adalah

SISTEM PERANCANGAN PEMANTAU KAPASITAS TANGKI AIR MENGGUNAKAN SENSOR ULTRASONIC DENGAN SMS GATEWAY BERBASIS MIKROKONTROLER ATMEGA 8535 SECARA SOFTWARE

Penulis menyadari bahwa tersusunnya Tugas Proyek ini dari Do’a, perhatian,

bimbingan, motivasi dan dukungan berbagai pihak, sehingga dengan keikhlasan dan

kerendahan hati pada kesempatan ini penulis mengucapkan terima kasih yang

sebesar-besarnya kepada :

1. Kepada ibu saya telah memberikan bantuan moril maupun materil, semangat dan

do’a yang begitu besar kepada penulis.

2. Ibu Dr. Susilawati, M.Si, selaku Ketua Program Studi D-3 Fisika Fakultas

Matematika dan Ilmu Pengetahuan Alam.

(6)

4. Bapak Drs. Takdir Tamba, M.Eng.Sc. selaku dosen pembimbing, yang telah

banyak membantu dan mendukung penulis dalam menyelesaikan Tugas Akhir

ini.

5. Seluruh Dosen dan Karyawan Program Studi D-3 Fisika Departemen Fisika

Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

6. Seluruh teman terkhusus buat Afif Yum’naa T, Faturrahman, Devi Larasati dan

bg oki banyak membantu penulis didalam menyelesaikan Tugas akhir

7. Seluruh pihak yang telah banyak membantu penulis didalam menyelesaikan Tugas proyek ini yang namanya tidak dapat penulis sebutkan satu persatu.

Penulis menyadari sepenuhnya bahwa dalam pembuatan Tugas proyek ini masih

jauh dari kesempurnaan, untuk itu penulis mengharapkan kritik dan saran dari pembaca

yang bersifatnya membangun dalam penyempurnaan Tugas Akhir ini.

Semoga laporan ini menjai ibaah yang baik bagi penulis dan menjadi ilmu yang

bermanfaat bagi pembaca.

Amin

Medan, Januari 2014

(7)

SISTEM PERANCANGAN PEMANTAU KAPASITAS TANGKI AIR MENGGUNAKAN SENSOR ULTRASONIC DENGAN SMS GATEWAY BERBASIS MIKROKONTROLER ATMEGA 8535 SECARA SOFTWARE

ABSTRAK

Tujuan pembuatan tugas akhir ini adalah untuk mengaplikasikan Codevision AVR pada ATMega 8535 untuk mengolah data pengontrol kapasitas pada tangki menggunakan sensor ultrasonic. nilai kapasitas yang diolah pada mikrokontroler merupakan perubahan ketinggian air yang di deteksi dengan menggunakan sensor sensor ultrasonic.

Codevision AVR merupakan software untuk membuat program berbasis bahasa C yang kemudian dimasukkan ke dalam mikrokontroler. Program yang di compile pada Codevision AVR, itulah yang di eksekusi oleh mikrokontroler.

Pada alat ini, program yang dibuat adalah untuk mengontrol kapasitas pada tangki mengGunakan sensor ultrasonic dan menginstruksikan mikrokontroler untuk mengirim pesan ke nomor yang sudah di berikan melalui modem wavecom dengan program yang dimasukkan.

(8)

SISTEM PERANCANGAN PEMANTAU KAPASITAS TANGKI AIR MENGGUNAKAN SENSOR ULTRASONIC DENGAN SMS GATEWAY BERBASIS MIKROKONTROLER ATMEGA 8535 SECARA SOFTWARE

ABSTRACT

The purpose of making this thesis is to apply the CodeVision AVR ATMEGA 8535 to process the data controller in the capacity of the tank using ultrasonic sensors. capacity values are processed in the microcontroller is a change in the water level in the sensor detection using ultrasonic sensors

CodeVision AVR is a software to create a program based on the C language which is then inserted into the microcontroller. Programs that are compiled on CodeVision AVR, that is executed by the microcontroller

In this tool, a program created is to control the capacity of the tank using ultrasonic sensors and instruct the microcontroller to send a message to the number given by the modem wavecom with the program are included.

(9)

DAFTAR ISI

Halaman

Persetujuan i

Pernyataan ii

Penghargaan iii

Abstrak v Abstract vi Daftar Isi vii Daftar Tabel xi

Daftar Gambar xii Bab I Pendahuluan ……… 1

1.1. Latar Belakang ……… 1

1.2. Rumusan Masalah……… 2

1.3. Tujuan Penulisan ……… 2

1.4. Batasan Masalah ……… 3

1.5. Metodologi Penulisan ……… 3

1.6. Sistematika Penulisan ……… 4

Bab II Landasan Teori ……… 5

2.1. Mikrokontroler ATMega 8535 ……… 5

2.1.1. Fitur ATMega8535 ……… 6

2.1.2. Konfigurasi Pin ATMega 8535 ……… 7

(10)

2.1.4. Status Register (SREG) ATMega8535 ……… 13

2.2. Modem GSM ……… 14

2.2.1. AT-Command……… 16

2.2.2. Short Message Service (SMS)……… 17

2.2.3. Database ……… 18

2.2.4. Microsoft Office Access ……… 18

2.3. LCD ……… 18

2.4. Sensor Ultrasonic ……… 23

2.5. Komunikasi serial ……… 26

2.5.1. Karakteristik Sinyal Port Serial……… 27

2.5.2. Port Komunikasi Serial……… 28

2.5.3. Koneksi Ke RS232 Port ………. 30

2.6. Bahasa Pemograman Mikrokontroler……… 33

2.7. Dasar Pemrograman ATMega8535 dengan Bahasa C ……… 34

2.7.1. Pendahuluan……….……… 34

2.7.2. Pengenal Pada Bahasa C………. 35

2.7.3. Tipe Data ……….…….…….… 36

2.7.4. Header……….…….…….……. 38

2.7.5. Operator Aritmatika……….…… 39

2.7.6. Operator Pembanding……….… 40

2.7.7. Operator Logika……….…….… 40

2.7.8. Operator Bitwise……….…….… 41

2.7.9. Operator Penugasan dan Operator Majemuk ……. 43

(11)

2.7.11.Pernyataan If dan If Bersarang……… 45

2.7.12.Pernyataan Switch ……….……. 46

2.7.13.Pernyataan While ……….…….…. 48

2.7.14.Pernyataan Do..While……….… 49

2.7.15.Pernyataan For ……….…….……. 49

2.8. Software ATMega8535 Editor dan Simulator……… 50

2.8.1. Software ATMega8535 Editor ……… 50

2.8.2. Software Downloader……….… 51

2.8.3. Software Desain PCB (Printed Circuit Board) Eagle 4.13r……….…….…….… 51

Bab III Perancangan Sistem ……… 53

3.1. Diagram Blok Sistem ……… 53

3.2. Rangkaian Power Supply ……… 54

3.3. Rangkaian Sensor ultrasonic ……… 54

3.4. Rangkaian Mikrokontroller ATMega8535 ……… 56

3.5. Perancangan Perancangan Rangkaian LCD ……… 57

3.6. Rangkaian Wavecom fastrack……… 58

3.7.Flow Chart System ……… 58

Bab IV Hasil dan pengujian ……… 61

4.1. Pengujian Rangkaian Power Supply ……… 61

4.2. Pengujian dan Analisa Rangkaian Sensor Ultrasonic ……… 61

4.3. Pengujian Rangkaian Mikrokontroler ATMega8535 ……… 63

4.4. Interfacing LCD 2x16 ……… 64

(12)

Mikrokontroller ATMEGA8535 via serial max232 ……… 66

4.6. Program Code-Vision AVR……… 69

Bab V Penutup ……… 91

5.1. Kesimpulan……… 91

5.2. Saran ……… 92

(13)

DAFTAR TABEL

Halaman

Tabel 2.1 Penjelasan Pin pada Port B 9

Tabel 2.2 Penjelasan Pin pada Port D 10

Tabel 2.3 Tabel Set AT-Command 17

Tabel 2.4 Operasi Dasar LCD 21

Tabel 2.5 Konfigurasi Pin LCD 21

Tabel 2.6 Konfigurasi LCD 22

Tabel 2.7 Fungsi Susunan Konektor DB9 29

Tabel 2.8 Koneksi Null Mode 31

Tabel 2.9 Tipe Data 36

Tabel 2.10 Operator Aritmatika 39

Tabel 2.11 Operator Pembanding 40

Tabel 2.12 Operator Logika 40

Tabel 2.13 Operator Bitwise 42

Tabel 2.14 Operator Penugasan 43

Tabel 2.15 Operator Majemuk 44

Tabel 2.16 Operator Penambahan dan Pengurangan 44

(14)

DAFTAR GAMBAR

Halaman

Gambar 2.1Konfigurasi Pin ATmega8535 PDIP 8

Gambar 2.2Peta Memori Program 11

Gambar 2.3 Peta Memori Data 12

Gambar 2.4 EEPROM Data Memory 12

Gambar 2.5 Status Register ATMega 8535 13

Gambar 2.6 Modem Gsm Fastrack M1306b 16

Gambar 2.7 LCD 19

Gambar 2.8 Konfigurasi Pin LCD 20

Gambar 2.9 Sensor Ultrasonic 24

Gambar 2.10 Blok Sensor Ultrasonic dengan Tampilan

Seven Segment 25

Gambar 2.11 Ilustrasi cara kerja sensor 26

Gambar 2.12. Skematik hubungan pin 26

Gambar 2.13 Level Tegangan RS232 pada Pengiriman Huruf “A”

Tanpa Bit Paritas 28

Gambar 2.14 Port DB9 Jantan 28

Gambar 2.15 Port DB9 Betina 28

(15)

Gambar 2.17 IC MAX232 31

Gambar 2.18 merupakan penggunaan ic max 232 dalam rangkaian

sebagai komunikasi serial. 33

Gambar 2.19 Tampilan Code Vision AVR 51

Gambar 2.20 Tampilan Ponyprog2000 51

Gambar 2.21 Tampilan software Eagle 4.13r 52

Gambar 3.1. Diagram Blok System 52

Gambar 3.2 Rangkaian Power Supplay (PSA) 54

Gambar 3.3. Rangkaian Receiver ultrasonic 55

Gambar 3.4. Jarak antara Tx – Rx 55

Gambar 3.5. Keluaran Pulsa Ultrasonic 56

Gambar 3.6Rangkaian sistem minimum mikrokontroler

ATMEGA 8535 56

Gambar 3.7. Rangkaian LCD 58

Gambar 3.8. Rangkaian Modul GSM dengan Mikrokontroller 79

(16)

BAB 1

PENDAHULUAN

1.1Latar Belakang Masalah

Kemajuan ilmu pengetahuan dan teknologi mendorong manusia untuk berusaha

mengatasi masalah yang timbul di sekitarnya dan meringankan pekerjaan yang sudah

ada. Penggunaan mikrokontroler sangat luas, tidak hanya untuk akuisi data melainkan

juga untuk pengendalian di pabrik – pabrik, kebutuhan peralatan kantor, peralatan rumah tangga, automobile, dan sebagainya.

Hal ini disebabkan karna mikrokontroler merupakan sistem mikroprosesor (yang

didalamnya terdapat CPU, ROM, RAM dan I/O) yang terpadu pada satu keping, selain itu komponennya (ATMega8535) murah dan mudah didapat di pasaran. Penulis merasa

bahwa perkembangan mikrokontroler perlu diketahui oleh semua orang yang

berkeinginan masuk dalam dunia elektronika.

Dalam kesempatan ini penulis mencoba membuat suatu alat menggunakan

mikrokontroler ATMega8535 untuk tugas akhir dengan beberapa aplikasi diantaranya

sensor jarak untuk mengendalikan putaran motor dc yang akan membuka dan menutup

tutup tempat sampah secara otomatis. Alasan utama pemilihan mikrokontroler AVR

sendiri karena merupakan generasi terbaru dari produk sebelumnya, yang mengalami penyempurnaan untuk mempermudah pengisian program.

Dengan menggunakan sistem ISP (In – system Programming). Selain itu jumlah

port paralel yang digunakan sebagai jalur masukan dan keluaran menjadi lebih banyak. Para desainer sistem elektronika telah diberi suatu teknologi yang memiliki kapabilitas

(17)

Selain itu teknologi saat ini juga merambah ke realitas kehidupan manusia, salah

satunya adalah pengembangan suatu sistem otomasi pada rumah. sistem otomasi rumah

sudah bukan hal umum ada di kalangan elite. Dengan berbagai fasilitas yang ada, sistem

otomasi rumah nantinya bisa memudahkan pemiliknya untuk menjaga dan memberikan

kenyamanan bagi setiap orang yang tinggal didalamnya. Fasilitas-fasilitas tersebut

didapat karena adanya beberapa piranti sensor yang nantinya dapat mendeteksi suatu

keadaan yang tidak sesuai dengan kriteria keadaan yang diharapkan yaitu nyaman, aman

dan efesien.

1.2. Rumusan Masalah

Dalam merancang dan membuat Sistem Perancangan Pemantau Kapasitas Tangki Air Menggunakan Sensor Ultrasonic Dengan SMS Gateway Berbasis Mikrockontroler Atmega 8535 penulis akan membahas dan pengontrolan tangki air dari jarak jauh. Komponen yang di gunakan dalam perancangan akan di bahas

fungsinya secara umum dan karakteristik tidak di bahas.

1.3. Tujuan Penulisan

Adapun Tujuan dari penulisan tugas akhir ini sebagai berikut :

1. Memanfaatkan teknologi SMS untuk mengendalikan tong air.

2. Memanfaatkan ultarasonik sebagai sensor kapasitas.

3. Agar Lebih Mengerti tentang pengaplikasian Mikrokontroler dan sensor-sensor

dalam kehidupan sehari-hari.

(18)

Dalam perencanaan penulisan ini terdapat beberapa batasan masalah sebagai berikut:

1. Rangakaian Mikrokontroller yang di gunakan adalah mikrokontroller

ATMega8535.

2. Modem GSM wavecome fastracke yang digunakan adalah M1306b yang

berguna sebagai SMS gateway (Media Pengirim dan penerima SMS)

3. Sensor yang di gunakan adalah Sensor ultrasonic sebagai pengukur kapasitas

4. Modem Wavecome tidak dapat melihat pulsa secara otomatis (tidak dapat

melakukan Dial ke nomor tertentu)

5. Tidak membahas mengenai komunikasi Mobile Phone

1.5. Metodologi Penulisan

Adapun metode penulisan yang digunakan dalam menyusun dan menganalisa tugas

akhir ini adalah:

1. Studi literatur yang berhubungan dengan perancanangan dan pembuatan alat ini.

2. Perencanaan dan pembuatan alat

Merencanakan peralatan yang telah dirancang baik software maupun hardware.

3. Pengujian alat

Peralatan yang telah dibuat kemudian diuji apakah telah sesuai yang telah

direncanakan.

1.6.Sistematika Penulisan

Sistematika penulisan dalam tugas akhir ini terdiri dari 5 bab, yaitu:

(19)

Berisi latar belakang permasalahan, rumusan masalah, batasan masalah, tujuan

pembahasan, metodologi pembahasan, dan sistematika penulisan dari penulisan laporan

proyek ini.

BAB II : LANDASAN TEORI

Dalam bab ini dijelaskan tentang teori pendukung yang digunakan untuk

pembahasan dan cara kerja dari rangkaian Dan bahasa program yang digunakan,

serta karakteristik dari komponen-komponen pendukung.

BAB III : PERANCANGAN SISTEM

Membahas tentang perencanaan dan pembuatan sistem secara keseluruhan.

BAB IV : PENGUJIAN RANGKAIAN

Berisi tentang uji coba alat yang telah dibuat, pengoperasian dan spesifikasi alat.

BAB V : PENUTUP

Merupakan kesimpulan dari pembahasan pada bab-bab sebelumnya dan kemungkinan

(20)

BAB 2

LANDASAN TEORI

Dalam bab ini penulis akan membahas tentang komponen- komponen yang di

gunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan menyimpang

dari topic utama laporan ini, maka setiap komponen hanya di bahas sesuai fungsi nya

pada masing- masing unit nya

2.1 Mikrokontroler ATMega 8535

Mikrokontroler merupakan sebuah single chip yang didalamnya telah dilengkapi

dengan CPU (Central Processing Unit), RAM (Random Access Memori), ROM (Read

Only Memori), Input dan Output, Timer/Counter, Serial com port secara spesifik digunakan untuk aplikasi – aplikasi kontrol dan aplikasi serbaguna. Perangkat ini sering

digunakan untuk kebutuhan kontrol tertentu seperti pada sebuah penggerak motor. Read

Only Memori (ROM) yang isinya tidak berubah meskipun IC kehilangan catu daya. Memori penyimpanan program dinamakan sebagai memori program. Random Access

Memori (RAM) isinya akan langsung hilang ketika IC kehilangan catudaya yang dipakai untuk menyimpan data pada saat program bekerja. RAM yang dipakai untuk

menyimpan data ini disebut sebagai memori data.

Mikrokontroler biasanya dilengkapi dengan UART (Universal Asychronous

Receiver Transmitter) yaitu port serial komunikasi serial asinkron, USART (Universal

Syncrhronous and Asyncrhronous Serial Receiver and Transmitter) yaitu port yang

digunakan untuk komunikasi serial sinkron dan asinkron yang kecepatannya 16 kali lebih cepat dari UART, SPI (Serial Port Interface), SCI (Serial Communication

(21)

CAN (Control Area Network) merupakan standart pengkabelan SAE (Society of

Automatic Engineers).

Mikrokontroler saat ini sudah dikenal dan digunakan secara luas pada dunia

industri. Banyak sekali penelitian atau proyek mahasiswa yang menggunakan berbagai

versi mikrokontroler yang dapat dibeli dengan harga yang relative murah.

Mikrokontroler saat ini merupakan chip utama pada hamper setiap peralatan elektronika

canggih. Mikrokontroler AVR memiliki arsitektur RISC 8 bit, dimana semua instruksi

dikemas dalam kode 16 bit (16 bit word) dan sebagian besar instruksi dieksekusi dalam satu siklus clock, berbeda dengan instruksi CS51 yang membutuhkan siklus 12 clock.

AVR berteknologi RISC (Reduce Instruction Set Computing), sedangkan seri

MCS51berteknologi CISC (Complex Instruction Set Computing). Secara umum, AVR

dikelompokkan menjadi beberapa kelas, yaitu keluarga AT90Sxx, keluarga ATMega

dan AT86RFxx. Pada dasarnya yang membedakan masing – masing kelas adalah

memori, peripheral dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan,

mereka bias dikatakan hamper sama.

2.1.1. Fitur ATMega8535

Fitur-fitur yang dimiliki oleh mikrokontroler ATmega8535 adalah sebagai

berikut:

1. Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D. 2. ADC internal sebanyak 8 saluran.

3. Tiga buah Timer/Counter dengan kemampuan pembandingan.

4. CPU yang terdiri atas 32 buah register.

5. SRAM sebesar 512 byte.

(22)

7. Port antarmuka SPI

8. EEPROM sebesar 512 byte yang dapat diprogram saat operasi.

9. Antarmuka komparator analog.

10.Port USART untuk komunikasi serial.

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

2.1.2. Konfigurasi Pin ATMega 8535

Konfigurasi pin ATmega8535 dengan kemasan 40 pin DIP (Dual Inline

Package) dapat dilihat pada gambar xxxxxx. Dari gambar di atas dapat dijelaskan fungsi dari masing-masing pin Atmega8535 sebagai berikut:

1. VCC merupakan pinyang berfungsi sebagai masukan catu daya.

2. GND merukan pin Ground.

3. PortA (PortA0…PortA7) merupakan pin input/outputdua arah dan pinmasukan

ADC.

4. PortB (PortB0…PortB7) merupakan pin input/outputdua arah dan dan pin

fungsi khusus,

5. Port C (PortC0…PortC7) merupakan pin input/output dua arah dan pin fungsi

khusus,

6. Port D (PortD0…PortD7) merupakan pin input/output dua arah dan pin fungsi

khusus,

7. RESET merupakan pinyang digunakan untuk me-resetmikrokontroler.

8. XTAL1 dan XTAL2 merupakan pin masukan clockeksternal.

9. AVCC merupakan pinmasukan tegangan untuk ADC.

(23)

Gambar 2.1 Konfigurasi Pin ATmega8535 PDIP

Berikut ini penjelasan mengenai konfigurasi pin ATMega8535 sebagai berikut :

1. Port A

Pin33 sampai dengan pin 40 merupakan pin dari port A. Merupakan 8 bit

directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor

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

mengendalikan display LED secara langsung. Data Direction Register port A

(DDRA) harus di-setting terlebih dahulu sebelum port A digunakan. Bit-bit DDRA

diisi 0 jika ingin memfungsikan pin-pin port A yang disesuaikan sebagai input, atau diisi 1 jika sebagai output.

2. Port B

Pin 1 sampai dengan pin 8 merupakan pin dari port B. Merupakan 8 bit

directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor

(dapat diatur per bit). Output buffer port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B

(24)

diisi 0 jika ingin memfungsikan pin-pin port B yang disesuaikan sebagai input, atau

diisi 1 jika sebagai output. Selain itu, pin-pin port B juga memiliki fungsi-fungsi

alternatif khusus seperti yang dapat dilihat dalam tabel:

Tabel 2.1 Penjelasan pin pada port B

Pin Keterangan

PB.7 SCK (SPI Bus Serial Clock)

PB.6 VISO (SPI Bus Master Input/Slave Output)

PB.5 VOSI (SPI Bus Master Output/Slave Input)

PB.4 SS (SPI Slave Select Input)

PB.3 AIN1 (Analog Comparator Negative Input)OCC

(Timer/Counter0 Output Compare Match Output)

PB.2 AIN0 (Analog Comparator Positive Input)INT2 (External

Interrupt2 Input)

PB.1 T1 (Timer/Counter1 External Counter Input)

PB.0 T0 (Timer/Counter0 External Counter Input)XCK (JSART

External Clock Input/Output)

3. Port C

Pin 22 sampai dengan pin 29 merupakan pin dari port C. Port C sendiri

merupakan port input atau output. Setiap pin-nya dapat menyediakan internal

pull-up resistor (dapat diatur per bit). Output buffer port C dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register

port C (DDRC) harus di-setting terlebih dahulu sebelum port C digunakan. Bit-bit

DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang disesuaikan sebagai

(25)

4. Port D

Pin 14 sampai dengan pin 20 merupakan pin dari port D. Merupakan 8 bit

directional port I/O. Setiap pin-nya dapat menyediakan internal pull-up resistor

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

mengendalikan display LED secara langsung. Data Direction Register port D

(DDRD) harus di-setting terlebih dahulu sebelum port D digunakan. Bit-bit DDRD

diisi 0 jika ingin memfungsikan pin-pin port D yang disesuaikan sebagai input, atau

diisi 1 jika sebagai output. Selain itu, pin-pin port D juga memiliki fungsi-fungsi alternatif khusus seperti yang dapat dilihat dalam tabel:

Tabel 2.2 Penjelasan pin pada port D

Pin Keterangan

PD.0 RDX (UART input line)

PD.1 TDX (UART output line)

PD.2 INT0 (external interrupt 0 input)

PD.3 INT1 (external interrupt 1 input)

PD.4 OC1B (Timer/Counter1 output compareB match output)

PD.5 OC1A (Timer/Counter1 output compareA match output)

PD.6 ICP (Timer/Counter1 input capture pin)

PD.7 OC2 (Timer/Counter2 output compare match output)

2.1.3. Peta Memori ATMega 8535

ATMega8535 memiliki dua jenis memori yaitu Data Memori dan Program Memori ditambah satu fitur tambahan yaitu EEPROM Memori untuk penyimpan data.

(26)

ATMEGA 8535 memiliki On-Chip In-Sistem Reprogrammable Flash Memory

untuk menyimpan program. Untuk alasan keamanan, program memori dibagi menjadi

dua bagian, yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section

digunakan untuk menyimpan program Boot Loader, yaitu program yang harus

dijalankan pada saat AVR reset atau pertama kali diaktifkan.

Application Flash Section digunakan untuk menyimpan program aplikasi yang

dibuat user. AVR tidak dapat menjalakan program aplikasi ini sebelum menjalankan

program Boot Loader. Besarnya memori Boot Flash Section dapat diprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi bit di register BOOTSZ.

Jika Boot Loader diproteksi, maka program pada Application Flash Section juga sudah

aman.

Gambar 2.2 Peta Memori Program

2. Data Memori

Gambar berikut menunjukkan peta memori SRAM pada ATMEGA 8535. Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk Register

File dan I/O Memori sementara 512 lokasi address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, I/O register

(27)

Gambar 2.3 Peta Memori Data

3. EEPROM Data Memori

ATMEGA 8535 memiliki EEPROM 8 bit sebesar 512 byte untuk menyimpan

data. Loaksinya terpisah dengan sistem address register, data register dan control

register yang dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari $000

sampai $1FF.

Gambar 2.4 EEPROM Data Memori

2.1.4. Status Register (SREG) ATMega8535

Status register adalah register berisi status yang dihasilkan pada setiap operasi

yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti

(28)

Gambar 2.5 Status Register ATMega 8535

1. Bit 7-I : Global Interrupt Enable

Bit harus diset untuk meng-enable interupsi. Setelah itu anda dapat

mengaktifkan interupsi mana yang akan digunakan dengan cara meng-enable bit

kontrol register yang bersangkutan secara individu. Bit akan di-clear apabila

terjadi suatu interupsi yang dipicu oleh hardware, dan bit tidak akan

mengizinkan terjadinya interupsi, serta akan diset kembali oleh instruksi RETI.

2. Bit 6-T : Bit Copy Storage

Instruksi BLD dan BST menggunakan bit-T sebagai sumber atau tujuan dalam

operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T

menggunakan instruksi BTS, dan sebaliknya bit-T dapat disalin kembali ke suatu bit dalam register GPR menggunakan instruksi BDL.

3. Bit 5-H : half Carry Flag

4. Bit 4-S : Sigh Bit

Bit-S merupakan hasil operasi EOR antara Flag-N (negatif) dan flag V

(komplemen dua overflow).

5. Bit 3-V : Two’s Complement Overflow Flag

Bit berguna untuk mendukung operasi aritmatika.

6. Bit 2-N : Negative Flag

Apabila suatu operasi menghasilkan bilangan negatif, maka flag-N akan di-set.

(29)

Bit akan di-set bila hasil operasi yang diperoleh adalah nol.

8. Bit 0-C : Carry Flag

Apabila suatu operasi menghasilkan carry, maka bit akan di-set.

Port I/O pada mikrokontroler ATMega8535 dapat difungsikan sebagai input

ataupun dengan keluaran high atau low. Untuk mengatur fungsi port I/O sebagai input

ataupun output perlu dilakukan setting pada DDR dan Port. Logika port I/O dapat

berubah-ubah dalam program secara byte atau hanya bit tertentu. Mengubah sebuah

keluaran bit I/O dapat dilakukan menggunakan perintah cbi (clear bit I/O) untuk menghasilkan output low atau perintah sbi (set bit I/O) untuk menghasilkan output high.

Perubahan secara byte dilakukan dengan perintah in atau out yang menggunakan

register bantu.

2.2 Modem GSM

Modem adalah sebuah alat yang dapat membuat komputer terkoneksi dengan

internet melalui line telepon standar. Modem banyak digunakan komputer rumah dan

jaringan sederhana untuk dapat berkomunikasi dengan jutaan komputer lain dalam lalu

lintas internet. Kata Modem itu sendiri merupakan kependekan dari Modulator

Demodulator. Ini berarti Modem bekerja dengan cara mengubah informasi digital dari

komputer pengirim ke dalam bentuk sinyal analog yang ditransmisikan melaluli line

telepon.

Selanjutnya Modem pada komputer penerima akan mengubah ulang sinyal

analog ke sinyal digital. Modem GSM adalah sebuah perangkat Modem Wireless Plug

and Play dengan konektivitas GSM/GPRS untuk aplikasi-aplikasi machine to machine.

GSM Modul atau Modem GSM adalah jenis khusus dari modem yang menerima kartu

(30)

Modem GSM dihubungkan dengan suatu interface yang memungkinkan aplikasi seperti

SMS untuk mengirim dan menerima pesan melalui Modem. Beberapa fungsi kegunaan

modem ini di masyarakat adalah antara lain:

· SMS Broadcast application

· SMS Quiz application

· SMS Polling

· SMS auto-reply

· M2M integration · Aplikasi Server Pulsa

· Telemetri

· Payment Point Data

Pada pembuatan proyek ini, digunakan Modem GSM Serial Wavecom Fastrack

M1306B. Untuk Modem seri ini memiliki dua type konektor yaitu

serial dan USB[12].

Gambar 2.6 Modem Gsm Fastrack M1306b

Spesifikasi modem WAVECOM FASTRACK M1306B:

· Dual-band GSM 900/1800MHZ & GPRS Class 10

· GSM Dual Band antenna

(31)

· Standard USB 2.0 interface (untuk USB)

· Input Voltage : 5V-32V

· Maximum transmitting speed 253KBps

· Support AT-Command

· Dimensi : 74×54×25mm

2.2.5. AT-Command

AT-Command adalah singkatan dari Attention Command. AT Command adalah

perintah yang digunakan dalam komunikasi dengan serial port. Pada awalnya standar perintah ini untuk modem-modem telepon PSTN, akan tetapi perintah ini sekarang

dikembangkan juga untuk modem-modem GSM.

Perintah AT-Command dapat diberikan kepada handphone atau GSM/CDMA

modem untuk melakukan sesuatu hal, termasuk untuk mengirim dan menerima SMS.

Dengan memberikan perintah ini di dalam komputer/mikrokontroller maka perangkat

kita dapat melakukan pengiriman atau penerimaan SMS secara otomatis untuk

mencapai tujuan tertentu. Untuk memulai suatu perintah AT-Command, diperlukan

prefiks

(32)

Tabel 2.3 Tabel Set AT-Command

2.2.6. Short Message Service (SMS)

Short Message Service (SMS) merupakan salah satu tipe Instant Messaging (IM)

yang memungkinkan user untuk bertukar pesan singkat. SMS dihantarkan pada channel

signal Global System for Mobile Communication (GSM). Dewasa ini perkembangan

teknologi yang sangat pesat membuat teknologi SMS ini banyak digemari masyarakat

karena teknologi ini bersifat praktis, murah dan mudah untuk digunakan.

Sebuah pesan SMS maksimal terdiri dari 140 bytes, yang berarti dapat memuat 140 karakter 8-bit, 160 karakter 7-bit atau 70 karakter 16-bit untuk bahasa Jepang,

bahasa Mandarin dan bahasa Korea yang memakai Hanzi (Aksara Kanji/Hanja). User

pun dapat mengirim pesan SMS yang lebih dari 140 bytes dengan catatan membayar lebih dari sekali biaya kirim SMS. [5] 21 SMS menjamin pengiriman pesan oleh

jaringan, jika terjadi kegagalan maka disimpan di jaringan atau yang disebut SMS

(33)

beberapa kali. Batas waktu yang telah ditentukan untuk menyimpannya biasanya sekitar

1 hari atau 2 hari, lalu pesan dihapus.

2.2.7. Database

Database merupakan sekumpulan data yang terintegrasi yang diorganisasi untuk

memenuhi kebutuhan pemakai untuk keperluan organisasi yang dimana dapat dipakai

hanya sekali atau berulang yang dimana dalam bentuk digital. Salah satu komponen

penting dalam penggunaan database adalah DataBase Management System (DBMS).

DBMS ini bertugas untuk menangani semua akses ke database dan bertanggug jawab untuk menerapkan pemeriksaan otorisasi dan prosedur validasi.

2.2.8. Microsoft Office Access

Salah satu software atau aplikasi yang banyak digunakan untuk membuat suatu

database sederhana adalah Microsoft Access. Micosoft Access merupakan software

yang dikeluarkan oleh microsoft untuk membuat aplikasi database. Sofware ini cocok

untuk kalangan industri kecil atau rumah tangga,

karena kapasitas datanya yang mencapai 4 GB. Program ini banyak dipakai karena

kemudahannya dalam mengolah database.

2.3 LCD

LCD merupakan salah satu perangkat penampil yang sekarang ini mulai banyak

digunakan. Penampil LCD mulai dirasakan menggantikan fungsi dari penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan manusia sebagai

penampil gambar/text baik monokrom (hitam dan putih), maupun yang berwarna.

Teknologi LCD memberikan keuntungan dibandingkan dengan teknologi CRT, kaena

pada dasarnya, CRT adalah tabung triode yang digunakan sebelum transistor ditemukan.

(34)

relative kecil, lebih ringan, tampilan yang lebih bagus, dan ketika berlama-lama di

depan monitor, monitor CRT lebih cepat memberikan kejenuhan pada mata

dibandingkan dengan LCD

Gambar 2.7 LCD

LCD memanfaatkan silicon atau gallium dalam bentuk Kristal cair sebagai

pemendar cahaya. Pada layar LCD, setiap matrik adalah susunan dua dimensi piksel

yang dibagi dalam baris dan kolom. Dengan demikian, setiap pertemuan baris dan

kolom adalah sebuah LED terdapat sebuah bidang latar (backplane), yang merupakan lempengan kaca bagian belakang dengan sisi dalam yang ditutupi oleh lapisan elektroda

trasparan. Dalam keadaan normal, cairan yang digunakan memiliki warna cerah.

Daerah-daerah tertentu pada cairan akan berubah warnanya menjadi hitam ketika tegangan diterapkan antara bidang latar dan pola elektroda yang terdapat pad sisi dalam

lempeng kaca bagian depan.

Keunggulan LCD adalah hanya menarik arus yang kecil (beberapa

microampere), sehingga alat atau sistem menjadi portable karena dapat menggunakan

catu daya yang kecil. Keunggulan lainnya adalah tampilan yang diperlihatkan dapat

(35)

remang-remang dalam kondisi gelap, sebuah lampu (berupa LED) harus dipasang

dibelakang layar tampilan.

LCD yang digunakan adalah jenis LCD yang mena mpilkan data dengan 2 baris

tampilan pada display. Keuntungan dari LCD ini adalah :

1. Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk

membuat program tampilan.

2. Mudah dihubungkan dengan port I/O karena hanya mengunakan 8 bit data dan 3

bit control.

3. Ukuran modul yang proporsional.

4. Daya yang digunakan relative sangat kecil.

Gambar 2.8 Konfigurasi Pin LCD

Operasi dasar pada LCD terdiri dari empat, yaitu instruksi mengakses proses

internal, instruksi menulis data, instruksi membaca kondisi sibuk, dan instruksi membaca data. ROM pembangkit sebanyak 192 tipe karakter, tiap karakter dengan

huruf 5x7 dot matrik. Kapasitas pembangkit RAM 8 tipe karakter (membaca program),

(36)

Clear, Cursor Home, Display ON/OFF, Display Character Blink, Cursor Shift, dan

Display Shift. Tabel 2.3 menunjukkan operasi dasar LCD

Tabel 2.4 Operasi Dasar LCD

RS R/W Operasi

0 0 Input Instruksi ke LCD

0 1 Membaca Status Flag (DB7) dan alamat counter (DB0 ke

DB6)

1 0 Menulis Data

1 1 Membaca Data

Tabel 2.5 Konfigurasi Pin LCD

(37)

12 D5 Bit 5

13 D6 Bit 6

14 D7 Bit 7

15 A Anoda (+5VDC)

16 K Katoda (Ground)

Tabel 2.6 Konfigurasi LCD

Pin Bilangan biner Keterangan

RS 0 Inisialisasi

1 Data

RW 0 Tulis LCD / W (write)

1 Baca LCD / R (read)

E 0 Pintu data terbuka

1 Pintu data tertutup

Lapisan film yang berisis Kristal cair diletakkan di antara dua lempeng kaca

yang telah ditanami elektroda logam transparan. Saat teganga dicatukan pada beberapa pasang elektroda, molekul – molekul Kristal cair akan menyusun diri agar cahaya yang

mengenainya akan dipantulkan atau diserap. Dari hasil pemantulan atau penyerapan

cahaya tersebut akan terbentuk pola huruf, angka, atau gambar sesuai bagian yang di

aktifka.

LCD membutuhkan tegangan dan daya yang kecil sehingga sangat popular

untuk aplikasi pada kalkulator, arloji digital, dan instrument elektronika lain seperti

(38)

umumnya dikemas dalam bentuk Dual In Line Package (DIP) dan mempunyai

kemampuan untuk menampilkan beberapa kolom dan baris dalam satu panel. Untuk

membentuk pola, baik karakter maupun gambar pada kolom dan baris secara bersamaan

digunakan metode Screening.

Metode screening adalah mengaktifkan daerah perpotongan suatu kolo dan suatu

baris secara bergantian dan cepat sehingga seolah-olah aktif semua. Penggunaan metode

ini dimaksudkan untuk menghemat jalur yang digunakan untuk mengaktifkan panel

LCD. Saat ini telah dikembangkan berbagai jenis LCD, mulai jenis LCD biasa, Passive Matrix LCD (PMLCD), hingga Thin-Film Transistor Active Matrix (TFT-AMLCD).

Kemampuan LCD juga telah ditingkatkan daru yang monokrom hingga yang mampu

menampilkan ribuan warna.

2.4 Sensor Ultrasonic

Sensor ultrasonic adalah sensor yang bekerja berdasarkan prinsip pantulan

gelombang dimana sensor menghasilkan gelombang pantulan ke benda yang kemudian

menangkapnya kembali dengan perbedaan waktu sebagai dasar perhitungannya..

Perbedaan waktu antara gelombang pantulan yang di kembalikan dan yang diterima

kembali adalah berbanding lurus dengan jarak atau tinggi objek yang memantulkannya..

Jenis objek yang dapat di indranya adalah padat, cair dan butiran. Tanpa kontak jarak 2

cm sampai 3 meter dan dapat dengan mudah dihubungkan dengan mikrokontroler malalui satu pin I/O saja. Dimensi : 2,6 cm (p) x 4,1 cm (l) x 6,2 cm (t)

(39)

Spesifikasi: :

 Memiliki 2 jenis antarmuka yang dapat aktif bersamaan, yaitu I2C-bus (fSCL

maks. 65 kHz) dan pulse width (10µs/mm).

 8 modul dapat digunakan bersama dalam satu sistem I2C-bus yang hanya

membutuhkan 2 pin I/O mikrokontroler saja.

 Membutuhkan catu daya tunggal +5 VDC, dengan konsumsi arus 17 mA typ

(tanpa sensor infrared ranger).

 Terdapat 2 mode operasi yaitu full operation dan reduced operation. Pada mode

reduced operation beberapa komponen ultrasonic ranger akan dimatikan (saat

idle) dan konsumsi arus mejadi 13 mA typ.

 Terdiri dari sebuah ultrasonic ranger dengan spesifikasi: Mengukur jarak dari 2

cm hingga 3 m tanpa dead zone atau blank spot. Obyek dalam jarak 0 - 2 cm

dideteksi sebagai 2 cm. Menggunakan burst sinyal kotak 16 Vp-p dengan

frekuensi 40 kHz.

 Dapat dihubungkan dengan maksimum 2 buah infrared ranger Sharp GP2D12

yang memiliki jangkauan pengukuran 10 - 80 cm.

 Data keluaran sudah siap pakai dalam satuan mm (untuk antarmuka I2C)

sehingga mengurangi beban mikrokontroler.  Ketelitian pengukuran jarak (ranger) adalah 5mm.

 Siklus pengukuran yang cepat, pembacaan dapat dilakukan tiap 25 ms (40 Hz

rate).

 Memerlukan input trigger berupa pulsa negatif TTL (20µs min.) untuk

(40)

 Tersedia 1 pin output yang menunjukkan aktifitas sensor, dapat tidak

dimanfaatkan.

 Tidak diperlukan waktu tunda sebelum melakukan pengukuran berikutnya.

 Kompensasi kesalahan dapat diatur secara manual untuk mengurangi pengaruh

faktor perubahan suhu lingkungan dan faktor reflektifitas obyek.

Blok diagram ini di lengkapi dengan tampilan seven segment agar kita bisa melihat

hasilnya tanpa mengaflikasikan ke sebuah alat.

Gambar 2.10 Blok Sensor Ultrasonic dengan Tampilan Seven Segment

Kita lihat secara seksama cara kerja sensor ultrasonic dengan cara memantulkan

gelombang ke sebuah objek kemudian data yang di pantulkan menentukan jarak dari

sensor ke objek.

(41)

Untuk pengaktifan sensor ultrasonik, hubungkan Pin Vss ke Ground, kemudian

pin Vdd ke catu daya yang keluarannya sudah diset 5V, setelah batere dihubungkan

dengan IC Regulator 7805, tinggal Pin SIG dihubungkan ke pin di Mikrokontroller,

buat sensor ke port P1.7, sedangkan indikator output P3.7

Gambar 2.12. Skematik hubungan pin

2.5 Komunikasi Serial

Pada PC / laptop standar, biasanya terdapat sebuah port untuk komunikasi serial.

Pada prinsipnya, komunikasi serial ialah komunikasi dimana pengiriman data dilakukan

per bit, sehingga lebih lambat dibandingkan komunikasi parallel seperti pada port printer yang mampu mengirim 8 bit sekaligus dalam sekali detak. Beberapa contoh

penerapan komunikasi serial ialah mouse, scanner dan sistem akuisisi data yang

terhubung ke port serial COM1/COM2. Sistem antar muka komunikasi serial RS232 sering digunakan sebagai antar muka antara komputer dengan mikrokontroler. Agar

level tegangan data serial dari mikrokontroler setara dengan level tegangan komunikasi

port serial PC, diperlukan MAX232 untuk mengubah ke tegangan TTL/CMOS logic

level RS232. MAX232 menggunakan sistim komunikasi simplex sehingga difungsikan

untuk mengubah dari arus dan tegangan logika TTL menjadi arus tegangan logika

(42)

2.5.1 Karakteristik Sinyal Port Serial

Standar sinyal komunikasi serial yang banyak digunakan adalah Standar RS232

yang dikembangkan oleh Electronic Industri Association (EIA/TIA) yang pertama kali

dipublikasikan pada tahun 1962.Ini terjadi jauh sebelum IC TTL populer sehingga

sinyal ini tidak ada hubungan sama sekali dengan level tegangan IC TTL. Standar ini

hanya menyangkut komunikasi antara (Data Terminal Equipment – DTE) dengan alat –

alat pelengkap komputer (Data Circuit Terminating Equipment – DCE). Standar sinyal

RS232 memiliki ketentuan level tegangan sebagai berikut :

• Logika 1 disebut ‘Mark’ terletak antara -3 Volt sampai -25 Volt

• Logika ‘0’ disebut ‘space’ terletak antara +3 Volt samapai +25 Volt.

• Daerah tegangan antara -3 Volt sampai +3 Volt adalah invalid level, yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari.

Demikian juga level tegangan dibawah -25 Volt dan diatas +25 Volt juga harus

dihindari karena bisa merusak line driver pada saluran RS232

Gambar dibawah adalah contoh level tegangan RS232 pada pengiriman huruf “A”

dalam format ASCII tanpa bit paritas.

(43)

2.5.2 Port Komunikasi Serial

Komunikasi serial membutuhkan port sebagai saluran data. Berikut tampil port serial

DB9 yang umum digunakan sebagai port serial

Gambar 2.14 Port DB9 Jantan

Gambar 2.15 Port DB9 Betina

Untuk menghubungkan antara 2 buah PC, biasanya digunakan format null mode,

dimana pin TxD dihubungkan dengan RxD pasangan, pin Sinyal ground (5)

(44)

Gambar.2.16 Susunan Pin Konektor DB9

Tabel 2.7 Fungsi Susunan Konektor DB9

Untuk dapat menggunakan port serial harus diketahui dahulu alamat dari port serial

tersebut. Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Base

Address COM1 biasanya 1016 (3F8h) dan COM2 biasanya 760 (2F8h). Alamat tersebut

(45)

kita bisa melihat pada peta memori tempat menyimpan alamat tersebut, yaitu memori

0000.0400h untuk COM1 dan 0000.0402h untuk COM2. Berikut adalah nama – nama

register yang digunakan beserta alamatnya.

2.5.3 Koneksi Ke RS232 Port

Koneksi TXD dan RXD MCU MCS-51 dengan port serial komputer selain level

tegangannya harus disesuaikan, cara koneksikan juga perlu diperhatikan. Ada semacam

protokol komunikasi, bila DTE hendak menghubungi DCE atau sebaliknya, untuk

’DCE’ yang berupa MCU MCS-51 ini, protokol perlu diakali, lebih sederhana prosesnya, sehingga tidak memrlukan software yang rumit, tetapi masih tetap handal.

Selain sinyal data, terdapat sinyal – sinyal protokol komunikasi serial pada komputer

dan dihubungkan keluar melalui konektor male DB9 (komputer baru) dan DB25 (Komputer lama), nama sinyal – sinyal tersebut adalah:

• RD, Receive Data (RXD).

• TD, Transmit Data

• SG, Signal Ground

• DTR, Data Terminal Ready

• DSR, Data Set Ready

• CD, Carrier Detect

• RTS, Request To Send

• CTS, Clear To Send.

(46)

Komunikasi asinkron yang sederhana yang disebut sebagai null modem, adalah dengan

menghubungkan pin- pin DTR, DSR dan CD serta RTS dengan CTS. Sedangkan sinyal

data input masuk RD dan sinyal transmit output adalah TD. Konvertor level untuk saat ini tersedia dalam bentuk ic, contoh adalah ICL232 dari Harris semikonduktor,

MAX232 dari Maxim.

Gambar 2.17 IC MAX232

Protokol standar yang mengatur komunikasi melalui serial port disebut RS-232

(Recommended Standard-232) yang dikembangkan oleh EIA (Electronic Industries Association). Interfacing RS-232 menggunakan komunikasi asyncronous di mana sinyal

clock tidak dikirimkan bersamaan dengan data. Setiap word data disingkronisasikan

(47)

sebuah start bit, diikuti bit-bit data dan diakhiri dengan stop bit. Jumlah bit data yang

digunakan dalam komunikasi serial adalah 8 bit. Encoding yang digunakan dalam

komunikasi serial adalah NRZ (Non-Return-to-Zero), di mana bit 1 dikirimkan sebagai

high value dan bit 0 sebagai low value.

Komunikasi serial merupakan hal yang penting dalam system embedded, karena dengan

komunikasi serial kita dapat dengan mudah menghubungkan mikrokontroler dengan

devais lainnya.

Port serial pada mikrokontroler terdiri atas dua pin yaitu RXD dan TXD. RXD berfungsi untuk mengirim data dari komputer atau perangkat lainnya, standard

komunikasi serial untuk computer adalah RS-232, RS-232 mempunyai standard

tegangan yang berbeda dengan serial port mikrokontroler, sehingga agar sesuai dengan

RS-232 maka dibutuhkan suatu rangkaian level converter, IC yang digunakan

bermacam-macam, tapi yang paling mudah dan sering digunakan ialah IC

MAX232/HIN232.

Pada prinsipnya, komunikasi serial ialah komunikasi dimana pengiriman data

dilakukan per bit, sehingga lebih lambat dibandingkan komunikasi parallel seperti pada

port printer yang mampu mengirim 8 bit sekaligus dalam sekali detak. Beberapa contoh

komunikasi serial ialah mouse, scanner, dan system akuisisi data yang terhubung ke port

COM1/COM2.

Jika ingin menggunakan mikrokontroler untuk berkomunikasi dengan komputer

atau device lainnya maka Rx dan Tx tidak bisa langsung dihubungkan begitu saja

dengan device tersebut karena level sinyal yang digunakan berbeda-beda. Contohnya

komunikasi serial untuk komputer menggunakan sinyal RS232 yaitu sinyal yang

(48)

diharapkan terjadi komunikasi antara mikrokontroler dengan komputer dibutuhkan

sebuah buffer yang dapat mengubah sinyal level TTL dari mikrokontroler menjadi

sinyal level RS232. Salah satu Buffer yang sering digunakan adalah IC MAX232CPE

dan menggunakan transistor NPN maupun PNP.

Gambar 2.18 merupakan penggunaan ic max 232 dalam rangkaian sebagai komunikasi

serial.

2.6 Bahasa Pemograman Mikrokontroler

Pengembangan sebuah sistem menggunakan mikrokontroler AVR buatan ATMEL menggunakan software AVR STUDIO dan CodeVisionAVR. AVR STUDIO

merupakan software yang digunakan untuk bahasa assembly yang mempunyai fungsi

yang sangat lengkap, yaitu digunakan untuk menulis program, kompilasi, simulasi dan download program ke IC mikrokontroler AVR. Sedangkan CodeVisionAVR merupakan

software C-cross Compiler, dimana program dapat ditulis dalam bahasa C, CodeVision memiliki IDE (Integrated Development Environment) yang lengkap, dimana penulisan

program, compile, link, pembuatan kode mesin (assembler) dan download program ke

chip AVR dapat dilakukan dengan CodeVision, selain itu ada fasilitas terminal, yaitu

(49)

download program ke IC mikrokontroler AVR dapat menggunakan Sistem

programmable Flash on-Chip mengizinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI.

2.7. Dasar Pemrograman ATMega8535 dengan Bahasa C 2.7.1. Pendahuluan

C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa

tingkat rendah (bahasa yang berorientasi pada mesin) dan bahasa tingkat tinggi (bahasa yang berorientasi pada manusia). Seperti yang diketahui, bahasa tingkat tinggi

mempunyai kompatibilitas antara platform. Karena itu, amat mudah untuk membuat

program pada berbagai mesin. Berbeda halnya dengan menggunakan bahasa mesin,

sebab setiap perintahnya sangat bergantung pada jenis mesin.

Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada

tahun 1972. C adalah bahasa pemrograman terstruktur, yang membagi program dalam

bentuk blok. Tujuannya untuk memudahkan dalam pembuatan dan pengembangan

program. Program yang ditulis dengan bahasa C mudah sekali dipindahkan dari satu

jenis program ke bahasa program lain. Hal ini karena adanya standarisasi bahasa C yaitu

berupa standar ANSI (American National Standart Institute) yang dijadikan acuan oleh

para pembuat kompiler.

2.7.2 Pengenal Pada Bahasa C

Pengenal merupakan sebuah nama yang didefinisikan oleh program untuk

menunjukkan sebuah konstanta, variabel, fungsi, label, atau tipe data khusus. Pemberian

pengenal pada program harus memenuhi syarat-syarat di bawah ini:

(50)

b. Karakter kedua berupa huruf, angka, garis bawah,;

c. Tidak menggunakan spasi;

d. Bersifat case sensitive, yaitu huruf kapital dan huruf kecil dianggap berbeda;

e. Tidak boleh menggunakan kata-kata yang merupakan sintaks atau operator dari

bahasa C.

Contoh menggunakan pengenal yang diperbolehkan:

1. Nama

2. _nama 3. Nama2

4. Nama_pengenal

Contoh penggunaan pengenal yang tidak diperbolehkan:

1. 2nama

2. Nama+2

3. Nama pengenal

2.7.3 Tipe Data

Pemberian signed dan unsigned pada tipe data menyebabkan jangkauan dari tipe

berubah. Pada unsigned menyebabkan tipe data akan selalu bernilai positif sedangkan

signed menyebabkan nilai tipe data bernilai negatif dan memungkinkan data bernilai

positif. Perbedaan nilai tipe data dapat kita lihat pada tabel di bawah ini. Tabel 2.9 Tipe Data

Pemodifikasi Tipe Persamaan Jangkauan Nilai

Signed char Char -128 s/d 127

Signed int Int -32.768 s/d 32.767

(51)

Signed long int Long, long int, signed

long

-2.147.483.648 s/d

2.147.483.647

Unsigned char Tidak ada 0 s/d 255

Unsigned int Unsigned 0 s/d 65.535

Unsigned short int Unsigned short 0 s/d 65.535

Unsigned long int Unsigned long 0 s/d 4.294.967.295

(52)

PORTB = a – b; PORTC = d – e; delay_ms(100); };

}

Program di atas akan memberikan data di PORTB = 10 (desimal) sedangkan

PORTC = -10 (desimal) karena PORT mikrokontroler tidak dapat mengeluarkan nilai negatif maka PORTB dan PORTC akan memiliki keluaran 0x0A tapi pada

kenyataannya PORTC lebih banyak memakan memori karena tanda negatif tersebut

disimpan dalam memori.

Pada program di atas terdapat tulisan//set PORTB sebagai output yang berguna

sebagai komentar yang mana komentar ini tidak mempengaruhi hasil dari program. Ada

dua cara penulisan komentar pada pemrograman bahasa C, yaitu dengan mengawali komentar dengan tanda “ // “ ( untuk komentar yang hanya satu baris ) dan mengawali

komentar dengan tanda “ /* “ dan mengakhiri komentar dengan tanda “ */ “.

Contoh:

// ini adalah komentar

/* ini adalah komentar

Yang lebih panjang

Dan lebih panjang lagi */

(53)

Header digunakan untuk menginstruksikan kompiler untuk menyisipkan file lain. Di dalam file header ini tersimpan deklarasi, fungsi, variable, dan jenis

mikrokontroler yang kita gunakan (pada software Code Vision AVR). File-file yang ber

akhiran .hdisebut file header.

File header yang digunakan untuk mendefinisikan jenis mikrokontroler yang

digunakan berfungsi sebagai pengarah yang mana pendeklarasian register-register yang

terdapat program difungsikan untuk jenis mikrokontroler apa yang digunakan ( pada

software Code Vision AVR ). Contoh:

#include <mega8535.h> #include<delay.h> #include <stdio. h>

2.7.5. Operator Aritmatika

Operator aritmatika digunakan untuk melakukan proses perhitungan matematika.

Fungsi-fungsi matematika yang terdapat pada bahasa C dapat dilihat pada tabel di

bawah ini.

Tabel 2.10 Operator Aritmatika

Operator Keterangan

+ Operator untuk penjumlahan

- Operator untuk pengurangan

* Operator untuk perkalian

/ Operator untuk pembagian

(54)

Contoh penggunaan operator aritmatika dapat dilihat di bawah ini.

DDRC 0XFF; // PORTC digunakan sebagai output while (1)

Operator pembanding digunakan untuk membandingkan 2 data atau lebih. Hasil

operator akan di jalankan jika pernyataan benar dan tidak dijalankan jika salah.

Operator pembanding dapat kita lihat pada tabel di bawah ini.

Tabel 2.11 Operator Pembanding

Operator Contoh Keterangan

= = x = = y Benar jika kedua data bernilai sama

!= x != y Bernilai benar jika kedua data tidak sama

> x > y Bernilai benar jika nilai x lebih besar dari pada y

< x < y Bernilai jika x lebih kecil dari y

(55)

<= x <= y Bernilai benar jika x lebih kecil atau sama dengan y

2.7.7. Operator Logika

Operator logika digunakan untuk membentuk logika dari dua pernyataan atau

lebih. Operator logika dapat dilihat pada tabel di bawah ini.

(56)

PORTC = 0x00;

mengeluarkan logika 0xff kemudian logika 0x00 secara bergantian dengan selang waktu

0,5 s. dan apabila bukan PINA.1 atau PINA.0 diberi logika 1 maka PORTC akan mengeluarkan logika 0x00.

2.7.8. Operator Bitwise

Operator logika ini bekerja pada level bit. Perbedaan operator bitwise dengan

operator logika adalah pada operator logika akan menghasilkan pernyataan benar atau

salah sedangkan pada operator bitwise akan menghasilkan data biner. Operator bitwise

dapat dilihat pada tabel di bawah ini.

Tabel 2.13 Operator Bitwise

Operator Keterangan

& Operasi AND level bit

| Operasi OR level bit

^ Operasi XOR level bit

~ Operator NOT level bit

>> Operator geser kanan

(57)

Contoh program:

DDRC = 0xff; //portc sebagai output while (1)

2.7.9. Operator Penugasan dan Operator Majemuk

Operator ini digunakan untuk memberikan nilai atau manipulasi data sebuah

(58)

Tabel 2.14 Operator Penugasan

Operator Keterangan

= Memberikan nilai variabel

+= Menambahkan nilai variabel

- = Mengurangi nilai variabel

*= Mengalikan nilai variabel

/= Membagi nilai variable

%= Memperoleh sisa bagi

Contoh:

a += 2 ; artinya nilai variabel a berubah menjadi a = a + 2

b *= 4; artinya nilai variabel b berubah menjadi b = b * 4

selain operator penugasan di atas juga ada operator penugasan yang berkaitan dengan

operator bitwise seperti pada tabel di bawah ini:

Tabel 2.15 Operator Majemuk

Operator Contoh Arti

&= x &= 1 Variabel x di AND kan dengan 1

|= x |= 1 Variabel x di OR kan dengan 1

~= x ~= 1 x = ~ (1) ; x = 0xFE

^= x ^= 1 Variabel x di XOR kan dengan 1

<<= x <<= 1 Variabel x digeser kiri 1 kali

(59)

2.7.10.Operator Penambahan dan Pengurangan

Operator ini digunakan untuk menaikkan atau menurunkan nilai suatu variabel

dengan selisih 11. Operator ini dapat dilihat pada tabel di bawah ini.

Tabel 2.16 Operator Penambahan dan Pengurangan

Operator Keterangan

++ Penambahan 1 pada variable

-- Pengurangan

Maka operator a++ akan mengubah variabel a dari satu menjadi 2, sedangkan operator

B— akan mengubah variabel b dari 2 menjadi 1.

2.7.11.Pernyataan If dan If Bersarang

Pernyataan if digunakan untuk pengambilan keputusan terhadap 2 atau lebih pernyataan dengan menghasilkan pernyataan benar atau salah. Jika pernyataan benar

maka akan di jalankan instruksi pada blok nya, sedangkan jika pernyataan tidak benar

maka instruksi yang pada blok lain yang dijalankan ( sesuai dengan arah programnya).

Bentuk pernyataan IF adalah sebagai berikut:

(60)
(61)

else

yang pernyataan yang lain maka PORTC akan mengeluarkan logika 0x00.

2.7.12. Pernyataan Switch

Pernyataan switch digunakan untuk melakukan pengambilan keputusan terhadap

banyak kemungkinan. Bentuk pernyataan switch adalah sebagai berikut.

Switch (ekspresi)

{

case nilai_1 : pernyataa_1;break; case nilai_2 : pernyataan_2;break; case niai_3 : pernyataan_3;break;

Defaut : pernyataan_default;break;

}

Pada pernyataan switch, masing-masing pernyataan (pernyataan_1 sampai

dengan pernyataan_default) dapat berupa satu atau beberapa perintah dan tidak perlu berupa blok pernyataan. Pernyataan_1 akan dikerjakan jika ekspresi bernilai sama

dengan nilai_1, pernyataan_2 akan dikerjakan jika ekspresi bernilai sama dengan

nilai-_2, pernyataan_3 akan dikerjakan jika ekspresi bernilai sama dengan nilai_3 dan

(62)

ekspresi tidak ada yang sama satupun dengan salah satu nilai_1, nilai_2, nilai_3 dan seterusnya. Setiap akhir dari pernyataan harus diakhiri dengan break, karena ini

digunakan untuk keuar dari pernyataan swich.

Contoh :

Switch (PINA)

{

case 0xFE : PORT=0x00;break;

case 0xFD : PORT=0xFF;break;

}

Pernyataan di atas berarti membaca port A, kemudian datanya (PINA) akan

dicocokan dengan nilai case. Jika PINA bernilai 0xFE maka data 0x00 akan dikeluarkan

ke port C kemudian program keluar dari pernyataan switch tetapi jika PINA bernilai

0xFD maka data 0xFF akan dikeluarkan ke port C kemudian program keluar dari

pernyataan switch.

2.7.13.Pernyataan While

Pernyataan while digunakan untuk mengulangi sebuah pernyataan atau blok

kenyataan secara terus menerus selama kondisi tertentu masih terpenuhi. Bentuk

pernyataan while adalah sebagai berikut :

while (kondisi)

{

(63)

Jika pernyataan yang akan diulang hanya berupa sebuah pernyataan saja maka

tanda { dan } bisa dihilangkan.

Contoh :

Setiap kali pengulangan nilai a akan bertambah 1 dan setelah niai a mencapai 10 maka

pengulangan selesai.

2.7.14. Pernyataan Do..While

Pernyataan do…while hamper sama dengan pernyataan while, yaitu pernyataan

yang digunakan untuk menguangi sebuah pernyataan atau blok pernyataan secara terus

menerus selama kondisi tertentu masih terpenuhi. Bentuk pernyataan while adalah

sebagai berikut :

do {

// sebuah pernyataan atau b;ok pernyataan

} while (kondisi).

Yang membedakan antara pernyataan while dengan do..while adalah bahwa pada

pernyataan while pengetesan kondisi dilakukan terlebih dahulu, jika kondisi terpenuhi

(64)

pernyataan dikerjakan terebih dahulu setelah itu baru diakukan pengetesan kondisi, jika

kondisi terpenuhi maka dilakukan pengulangan pernyataan atau blok pernyataan lagi.

Sehingga dengan demikian pada pernyataaan do..while blok pernyataan pasti akan

dikerjakan minimal satu kali sedangkan pada pernyataan while blok pernyataan beum

tentu dikerjakan.

2.7.15 Pernyataan For

Pernyataan for juga digunakan untuk melakukan pengulangan sebuah pernyataan

atau blok pernyataan, tetapi berapa kali jumah pengulangannya dapat ditentukan secara lebih spesifik. Bentuk pernyataan for adalah sebagai berikut :

for (nilai_awal ; kondisi ; perubahan)

{

// sebuah pernyataan atau blok pernyataan }

Nilai_awal adaah nilai inisial awal sebuah variabel yang didefenisikan terlebih dahulu untuk menentukan nilai variabel pertama kali sebelum pengulangan.

Kondisi merupakan pernyataan pengetesan untuk mengontrol pengulangan, jika pernyataan kondisi terpenuhi (benar) maka blok pernyataan akan diulang terus

sampai pernyataan kondisi tidak terpenuhi (salah).

Perubahan adalah pernyataan yang digunakan untuk melakukan perubahan

nilai variabel baik naik maupun turun setiap kali pengulangan dilakukan.

Contoh :

unsigned int a;

for ( a=1, a<10, a++)

{

(65)

}

Pertama kali nilai a adalah 1, kemudian data a dikeluarkan ke port C. selanjutnya

data a dinaikkan (a++) jika kondisi a<10 masih terpenuhi maka data a akan terus

dikeluarkan ke port C.

2.8. Software ATMega8535 Editor dan Simulator 2.8.1. Software ATMega8535 Editor

Instruksi - instruksi yang merupakan bahasa C tersebut dituliskan pada sebuah

editor, yaitu Code Vision AVR. Tampilannya seperti berikut ini:

Gambar 2.19 Tampilan Code Vision AVR

2.8.2. Software Downloader

Melakukan download program ke mikrokontroler dapat menggunakan

(66)

Gambar 2.20 Tampilan Ponyprog2000

2.8.3. Software Desain PCB (Printed Circuit Board) Eagle 4.13r

Untuk mendesain PCB dapat digunakan software eagle 4.13r yang dapat

di-download di internet secara gratis . Tampilan software eagle 4.13r dapat dilihat pada gambar 2.4 dibawah ini :

(67)

Cara menggunakan software ini terlebih dahulu yang dikerjakan adalah

mendesain skematik rangkaian, setelah itu memindahkannya ke dalam bentuk board dan

mendesain tata letak komponen sesuai keinginan tetapi harus sesuai jalur rangkaian nya

agar rangkaian dapat berfungsi sesuai dengan skematiknya. Setelah itu didesain layout

PCB nya , barulah siap di-print dan di-transfer ke PCB. Pada proses pentransferan

layout ke PCB dapat digunakan kertas Transfer Paper.

Cara menggunakan software ini terlebih dahulu yang dikerjakan adalah

mendesain skematik rangkaian, setelah itu memindahkannya ke dalam bentuk board dan mendesain tata letak komponen sesuai keinginan tetapi harus sesuai jalur rangkaian nya

agar rangkaian dapat berfungsi sesuai dengan skematiknya. Setelah itu didesain layout

PCB nya , barulah siap di-print dan di-transfer ke PCB. Pada proses pentransferan

(68)

BAB III

3.1. Diagram Blok Rangkaian

Gambar 3.1. Diagram Blok System

Fungsi Tiap Blok

1. Blok Sensor Ultrasonik : Sebagai input/penhitung ketinggian level air.

2. Blok Mikrokontroller : Mengkonversi data dari sensor dan modul GSM

3. Blok LCD : Sebagai output tampilan

4. Blok Power Supply : Sebagai penyedia tegangan ke system dan sensor

5. Blok Modul GSM : Sebagai pengirim informasi dan penerima

Feedback

(69)

3.2. Rangkaian Power Supply

Gambar 3.2 Rangkaian Power Supplay (PSA)

Gambar 3.2 menunjukkan rangkaian PSA yang dibuat terdiri dari keluaran 5 volt

yang digunakan untuk mensupplay tegangan ke seluruh rangkaian, termasuk ke mikro

dan lcd. Rangkaian tersebut berfungsi untuk mensupplay tegangan ke seluruh rangkaian

yang ada. Rangkaian tersebut bermula dari tegangan DC Batreai 9 Volt, selanjutnya 9

volt DC akan diratakan oleh kapasitor 2200 µF. Regulator tegangan 5 volt (LM7805)

digunakan agar keluaran yang dihasilkan tetap 5 volt walaupun terjadi perubahan pada tegangan masukannya. LED hanya sebagai indikator apabila PSA dinyalakan.

3.3 Rangkaian Sensor Ultrasonic

Di dalam blok sensor ultrasonic ada 2 rangkaian yang saling berhubungan yaitu

Transmitter sebagai pengirim data dari objek ke benda dan Receiver sebagai penerima

data dari benda ke objek seperti terlihat pada gambar 3.3. Jarak antara ultrasonic

tranducer Rx dan Tx mempengaruhi kinerja alat dalam aplikasi ini. Pengaturan

resistor variabel R6 pada rangkaian receiver dapat dilakukan saat rangkaian

dinyalakan yaitu dengan acuan tampilan LCD. Bila LCD selalu menampilkan

Gambar

Gambar 2.6 Modem Gsm Fastrack M1306b
Tabel 2.3 Tabel Set AT-Command
Gambar 2.7 LCD
Gambar 2.9 Sensor Ultrasonic
+7

Referensi

Dokumen terkait

Proses sertifikasi, adalah seluruh kegiatan yang dilakukan oleh LSP STMIK IKMI CIREBON untuk menetapkan bahwa seseorang memenuhi persyaratan kompetensi yang

[r]

Pengujian sensitivitas bertujuan untuk mengetahui sensitivitas sensor hasil post hydrothermal terhadap temperatur sensor dan konsentrasi gas CO seperti yang

Dengan demikian, dapat disimpulkan bahwa nilai tukar adalah harga dari mata uang suatu negara terhadap mata uang negara lain yang digunakan dalam melakukan

Penelitian ini dilakukan berdasarkan permasalahan yang terjadi pada perusahaan kopi Sumber Agung mengenai pengelolaan biaya yang belum tepat dan belum pernah

Kalau sebelumnya, sesuai dengan perkembangan masyarakat, orang membuat pakaian dari benang yang dibuat dari bahan-bahan yang tersedia di tempat pemukiman

synthesized compounds were screened for in vitro anti- bacterial activity against various gram positive and gram negative bacteria ( E. aureus ) and in vitro anti-TB against

Proyek Akhir ini bertujuan untuk membuat sistem tenaga listrik hybrid untuk suplay beban penerangan jalan umum type led sebagai energi alternatif yang terbaharukan