Perancangan Pemantau Kapasitas Tong Air Menggunakan Sensor Ultrasonic dengan Sms Gateway Berbasis Atmega 8535 Secara Hardware

(1)

SISTEM PERANCANGAN PEMANTAU KAPASITAS TANGKI AIR

MENGGUNAKAN SENSOR ULTRASONIC DENGAN SMS

GATEWAY BERBASIS MIKROKONTROLER

ATMEGA 8535 SECARA HARDWARE

TUGAS AKHIR

REYFALDI HERMAWAN

112408030

PROGRAM STUDI D-3 FISIKA

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2015


(2)

SISTEM PERANCANGAN PEMANTAU KAPASITAS TANGKI AIR

MENGGUNAKAN SENSOR ULTRASONIC DENGAN SMS

GATEWAY BERBASIS MIKROKONTROLER

ATMEGA 8535 SECARA HARDWARE

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

REYFALDI HERMAWAN

112408030

PROGRAM STUDI D-3 FISIKA

DEPARTEMEN FISIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2015


(3)

PERSETUJUAN

Judul : Perancangan Pemantau Kapasitas Tong Air Menggunakan Sensor Ultrasonic dengan Sms Gateway Berbasis Atmega 8535 Secara Hardware

Kategori : Tugas Akhir

Nama : Reyfaldi Hermawan Nomor Induk Mahasiswa : 112408030

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

Fakultas : Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Disetujui di Medan, April 2015

Disetujui Oleh

Prodi D-3 Fisika FMIPA USU Pembimbing, Ketua,

Dr. Susilawati, M.Si


(4)

PERNYATAAN

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

TUGAS AKHIR

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

Medan, Mei 2015

REYFALDI HERMAWAN 112408030


(5)

PENGHARGAAN

Alhamdulillahirobbil’alamin,

Segala puji dan syukur bagi Allah Subhanahuwata’ala 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. Sholawat dan salam semoga senantiasa tercurahkan kepada Rasulullah Sallallahu’alaihiwassalam sang pembawa petunjuk dan selalu menjadi inspirasi dan teladan bagi penulis.

Tugas Akhir 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 Akhir ini adalah

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

Penulis menyadari bahwa tersusunnya Tugas Akhir 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. Kedua orang tua penulis serta saudara kandung yang telah memberikan bantuan moril maupun materil, semangat dan do’a yang begitu besar kepada penulis.

2. Bapak Dr. Sutarman, M. Sc, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam.

3. Ibu Dr. Susilawati, M.Si, selaku Ketua Program Studi D-3 Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam.

4. Bapak Drs. Perdinan Sinuhaji, M.S, selaku Sekretaris Program Studi D-3 Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam.


(6)

5. Bapak Drs. Takdir Tamba, M. Eng.Sc, selaku Dosen Pembimbing yang telah banyak membantu dan mendukung penulis dalam menyelesaikan Tugas Akhir ini.

6. Seluruh Dosen dan Karyawan Program Studi D-3 Fisika Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

7. Seluruh teman terkhusus kekasih tercinta Devi Larasati yang sudah banyak membantu penulis dalam menyelesaikan Tugas Akhir.

8. Seluruh pihak yang telah banyak membantu penulis didalam menyelesaikan Tugas Akhir yang namanya tidak dapat penulis sebutkan satu persatu.

Penulis menyadari sepenuhnya bahwa dalam pembuatan Tugas Akhir ini masih jauh dari kesempurnaan, untuk itu penulis mengharapkan kritik dan saran dari pembaca yang bersifat ny membangun dalam penyempurnaan Tugas Akhir ini.

Semoga laporan ini menjadi ibadah yang baik bagi penulis dan menjadi ilmu yang bermanfaat bagi pembaca.

Amin Yaa Rabbal’alamin

Medan, Mei 2015


(7)

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

ABSTRAK

Tujuan pembuatan tugas akhir ini adalah untuk mengaplikasikan Codevision

AVR pada mikrokrontroler ATMega 8535 untuk mengkonversi data dari sensor ultrasonic yang mendeteksi/menghitung ketinggian level air, dimana mikrokontroller akan meneruskan data yang telah dikonversi pada LCD dan modem GSM Wavecom. Kemudian modem wavecom akan mengirimkan data berupa pesan singkat kepada penerima yang sudah ditentukan.

Kata kunci : Codevision AVR, Mikrokontroler ATMega8535, Sensor Ultrasonic, Modem GSM Wavecom


(8)

DAFTAR ISI

Halaman

Persetujuan i

Pernyataan ii

Penghargaan iii

Abstrak v Daftar Isi vi Daftar Tabel viii

Daftar Gambar ix

Bab 1 Pendahuluan 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 2 Landasan Teori 2.1. Mikrokontroler ATMega 8535 ……… 5

2.1.1. Fitur ATMega8535 ……… 6

2.1.2. Konfigurasi Pin ATMega 8535 ……… 7

2.1.3. Peta Memori ATMega 8535 ……… 11

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 ……… 19

2.4.Sensor Ultrasonic ……… 23

2.5.Komunikasi serial ……… 26

2.5.1 Karakteristik Sinyal Port Serial ………….. 27

2.5.2 Koneksi ke RS232 Port ……… 28

2.6.Bahasa Pemrograman Mikrokontroler ……… 31

2.7.Software ATMega8535 Editor dan Simulator ……… 32

2.7.1. Software ATMega8535 Editor ……… 32

2.7.2. Software Downloader ……… 32

2.7.3. Software Desain PCB Eagle 4.13r …………... 33

Bab 3 Perancangan Sistem 3.1. Diagram Blok Sistem ……… 35

3.2. Rangkaian Sensor Ultrasonic ……… 36


(9)

3.4. Perancangan Perancangan Rangkaian LCD ……… 39 3.5. Rangkaian Wavecom Fastrack……… 40

3.6. Flowchart System ……… 41

Bab 4 Hasil dan Pengujian

4.1. Pengujian dan Analisa Rangkaian Sensor Ultrasonic ……… 43 4.2. Pengujian Rangkaian Mikrokontroler ATMega8535 ……… 44 4.3. Interfacing LCD 2x16 ……… 45 4.4. Pengujian Koneksi Modul GSM Wavecom dengan

Mikrokontroller ATMEGA8535 via serial max232 ……… 51 Bab 5 Penutup

5.1. Kesimpulan……… 73 5.2. Saran ……… 74 Daftar Pustaka ……… 75 Lampiran


(10)

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 Koneksi Null Mode 29 Tabel 4.1. Data Jarak deteksi Berbagai Halangan 43


(11)

DAFTAR GAMBAR

Halaman Gambar 2.1 Konfigurasi Pin ATmega8535 PDIP 8 Gambar 2.2 Peta 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 IC MAX232 29 Gambar 2.15 Penggunaan ic max 232 dalam rangkaian sebagai

Komunikasi Serial 31

Gambar 2.16 Tampilan Code Vision AVR 32 Gambar 2.17 Tampilan Ponyprog2000 33 Gambar 2.18 Tampilan software Eagle 4.13r 33 Gambar 3.1 Diagram Blok System 35 Gambar 3.2. Rangkaian Receiver ultrasonic 36 Gambar 3.3. Jarak antara Tx – Rx 36 Gambar 3.4 Keluaran Pulsa Ultrasonic 37 Gambar 3.5 Rangkaian sistem minimum mikrokontroler

ATMEGA 8535 38

Gambar 3.6 Rangkaian LCD 39 Gambar 3.7 Rangkaian Modul GSM dengan Mikrokontroller 40 Gambar 3.8 Flowchart System (Diagram Alir) 41 Gambar 4.1 Informasi Signature Mikrokontroler 45


(12)

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


(13)

memiliki kapabilitas yang sangat maju, tetapi dengan biaya ekonomis yang cukup minimal.

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 Mikrokontroler 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.


(14)

3. Agar Lebih Mengerti tentang pengaplikasian Mikrokontroler dan sensor-sensor dalam kehidupan sehari-hari.

1.4. Batasan Masalah

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.


(15)

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:

BAB I : PENDAHULUAN

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. 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 pengembangan alat.


(16)

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


(17)

Interface), SCI (Serial Communication Interface), Bus RC (Intergrated circuit Bus) merupakan 2 jalur yang terdapat 8 bit, 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.


(18)

5. SRAM sebesar 512 byte.

6. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 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 pin masukan ADC.

4. PortB (PortB0…PortB7) merupakan pin input/outputdua arah dan dan pinfungsi 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.


(19)

9. AVCC merupakan pinmasukan tegangan untuk ADC. 10.AREFF merupakan pinmasukan tegangan referensi ADC.

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


(20)

resistor (dapat diatur per bit). Output buffer port B dapat memberi arus 20 mA dan dapat mengendalikan display LED secara langsung. Data Direction Register port B (DDRB) harus di-setting terlebih dahulu sebelum port B digunakan. Bit-bit DDRB 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


(21)

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 input, atau diisi 1 jika sebagai output.

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)


(22)

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.

1. Program Memori

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.


(23)

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 terdiri dari 64 register.

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.


(24)

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 CPU mikrokontroler.

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).


(25)

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.

7. Bit 1-Z : Zero Flag

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


(26)

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 SIM, dan mengoperasikan selama berlangganan ke operator mobile, seperti ponsel. 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


(27)

Gambar 2.6 Modem Gsm Fastrack M1306b Spesifikasi modem WAVECOM FASTRACK M1306B: · Dual-band GSM 900/1800MHZ & GPRS Class 10 · GSM Dual Band antenna

· Power Supply with 4 pin connector (untuk serial) · 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


(28)

penerimaan SMS secara otomatis untuk mencapai tujuan tertentu. Untuk memulai suatu perintah AT-Command, diperlukan prefiks

“AT” atau “at” dalam setiap perintah AT-Command.[6] 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


(29)

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 Center (SMSC). Di SMSC pesan disimpan dan dicoba untuk mengirimkannya selama 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.


(30)

2.3 LCD

LCD (liquid crystal display) 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. Beberapa keuntungan LCD dibandingkan dengan CRT adalah konsumsi daya yang 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


(31)

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 dibaca dengan mudah di bawah terang sinar matahari. Di bawah sinar cahaya yang 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.

LCD 16x2 10 11 12 13 11 12 13 14 D0 D1 D2 D3 D4 D5 D6 D7 2 15 +5VDC RS RW EN 4 5 6

1 3 16 VCC V+BL

GND LCD Drv V-BL


(32)

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), maksimum pembacaan 80x8 bit tampilan data. Perintah utama LCD adalah Display 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 Pin

No.

Keterangan Konfigurasi Hubung

1 GND Ground

2 VCC Tegangan +5VDC

3 VEE Ground

4 RS Kendali RS


(33)

6 E Kendali E/Enable

7 D0 Bit 0

8 D1 Bit 1

9 D2 Bit 2

10 D3 Bit 3

11 D4 Bit 4

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


(34)

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 Global Positioning System (GPS), baragraph display dan multimeter digital. LCD 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


(35)

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)

Gambar 2.9 Sensor Ultrasonic 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.


(36)

• 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

antarmuka pulse width.

• 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 mengaplikasikan ke sebuah alat.


(37)

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.

Gambar 2.11 Ilustrasi cara kerja sensor

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


(38)

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 komputer (RS232).

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


(39)

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.

Gambar 2.13 Level Tegangan RS232 pada Pengiriman Huruf “A” Tanpa Bit Paritas.

2.5.2 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


(40)

• DSR, Data Set Ready

• CD, Carrier Detect

• RTS, Request To Send

• CTS, Clear To Send.

Tabel 2.7 Koneksi Null Mode

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.


(41)

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 menggunakan sebuah start bit dan sebuah stop bit. Jadi, sebuah frame data terdiri dari 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


(42)

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 gelombang level sinyalnya antara +25V sampai -25V. Oleh karena itu, jika ingin 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.15 Penggunaan ic max 232 dalam rangkaian sebagai komunikasi serial.

2.6 Bahasa Pemrograman 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.


(43)

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 melakukan komunikasi serial dengan mikrokontroler yang sudah di program. Proses 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. Software ATMega8535 Editor dan Simulator 2.7.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.16 Tampilan Code Vision AVR

2.7.2 Software Downloader

Melakukan download program ke mikrokontroler dapat menggunakan ponyprog2000. Tampilannya seperti di bawah ini:


(44)

Gambar 2.17 Tampilan Ponyprog2000

2.7.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 :


(45)

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 layout ke PCB dapat digunakan kertas Transfer Paper.


(46)

BAB 3

PERANCANGAN SISTEM

3.1. Diagram Blok Sistem

SENSOR ULTRASONIK

ATMEGA 8535 Baterai 9V

LCD

MODEM WAVECOM

Gambar 3.1. Diagram Blok Sistem

Fungsi Tiap Blok

1. Blok Sensor Ultrasonik : Sebagai input/penghitung ketinggian level air. 2. Blok mikrokontroller : Mengkonversi data dari sensor dan modul GSM Wavecom

3. Blok LCD : Sebagai output tampilan

4. Blok Baterai 9V : sebagai penyedia tegangan ke sistem dan sensor 5. Blok Modul-GSM : Sebagai pengirim informasi dan penerima


(47)

3.2 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 “Distance = 001 cm” berarti jendela komparator terlalu sempit sehingga dapat di-trigger oleh gelombang ultrasonic langsung dari Tx bukan pantulan dari benda di depannya

Gambar 3.2. Rangkaian Receiver ultrasonic

Gambar 3.3. Jarak antara Tx – Rx

Rangkaian ultrasonic transducer terbagi 2 yaitu rangkaian receiver dan rangkaian transmitter, skematik rangkaian terdapat Gambar 3.2. Pada Gambar


(48)

3.2. resistor variabel R6 berfungsi untuk mengatur jendela komparator yang akan berpengaruh pada sensitivitas receiver dan juga mempengaruhi daya ukur alat ini secara keseluruhan. Dengan pengaturan R6 yang baik, alat ini dapat mengukur jarak minimum 2 cm dan maksimum 300 cm dengan cukup baik.

Jika gelombang ultrasonik merambat dalam suatu medium, maka partikel Medium mengalami perpindahan energi. Besarnya energi gelombang ultrasonik yang dimiliki partikel medium. Maka kita perhatikan pulsa di bawah ini adalah keluaran gelombang ultrasonic :

Gambar 3.4. Keluaran Pulsa Ultrasonic

3.3. Rangkaian Mikrokontroller ATMega8535

Rangkaian sistem minimum mikrokontroler ATMEGA 8535 dapat dilihat pada gambar 3.5 di bawah ini :


(49)

Gambar 3.5Rangkaian sistem minimum mikrokontroler ATMEGA 8535

Dari gambar 3.5, Rangkaian tersebut berfungsi sebagai pusat kendali dari seluruh sistem yang ada. Komponen utama dari rangkaian ini adalah IC Mikrokontroler ATMega8535. Semua program diisikan pada memori dari IC ini sehingga rangkaian dapat berjalan sesuai dengan yang dikehendaki.

Pin 12 dan 13 dihubungkan ke XTAL 11,0592 MHz dan dua buah kapasitor 22 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroler ATMega8535 dalam mengeksekusi setiap perintah dalam program. Pin 9 merupakan masukan reset (aktif rendah). Pulsa transisi dari tinggi ke rendah akan me-reset mikrokontroler ini.

Untuk men-download file heksadesimal ke mikrokontroler, Mosi, Miso, Sck, Reset, Vcc dan Gnd dari kaki mikrokontroler dihubungkan ke pin header, pin header sebagai konektor yang akan dihubungkan ke ISP Programmer. Dari ISP Programmer inilah dihubungkan ke komputer melalui konektor usb.


(50)

Kaki Mosi, Miso, Sck, Reset, Vcc dan Gnd pada mikrokontroler terletak pada kaki 6, 7, 8, 9, 10 dan 11. Apabila terjadi keterbalikan pemasangan jalur ke ISP Programmer, maka pemograman mikrokontroler tidak dapat dilakukan karena mikrokontroler tidak akan bisa merespon.

3.4.Perancangan Rangkaian LCD (Liquid Crystal Display)

Pada alat ini, display yang digunakan adalah LCD (Liquid Crystal Display) 16 x 2. Untuk blok ini tidak ada komponen tambahan karena mikrokontroler dapat memberi data langsung ke LCD, pada LCD Hitachi - M1632 sudah terdapat driver untuk mengubah data ASCII output mikrokontroler menjadi tampilan karakter. Pemasangan potensio sebesar 5 KΩ untuk mengatur kontras karakter yang tampil. Gambar 3.4 berikut merupakan gambar rangkaian LCD yang dihubungkan ke mikrokontroler.


(51)

Dari gambar 3.6, rangkaian ini terhubung ke PA.0... PaA7, yang merupakan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Analog and Digital Converter .Nilai yang akan tampil pada LCD display akan dapat dikendalikan oleh Mikrokontroller ATMega8535.

3.6. Rangkaian Wavecom Fastrack

Rangkaian antar muka ini bertujuan agar mikrokontroler dapat berkomunikasi dengan modem GSM.

Gambar 3.7. Rangkaian Modul GSM dengan Mikrokontroller

X1 CRYSTAL C4 30p T1IN 11 R1OUT 12 T2IN 10 R2OUT 9 T1OUT 14 R1IN 13 T2OUT 7 R2IN 8 C2+ 4 C2-5 C1+ 1 C1-3 VS+ 2 VS-6 U2 MAX232 C6 1uf C7 1uf C8 1uf C9 1uf 5 V 1 6 2 7 3 8 4 9 5


(52)

3.7. Flowchart System START INISIALIASASI PORT Mulai pembacaan sensor ultrasonic Mikrokontroller memerintahkan pengiriman data melalui modul GSM

level air tingkat IV Volume air 1 Liter ? YA

TIDAK

END

Mikrokontroller memerintahkan pengiriman data melalui modul GSM

level air tingkat III Volume air 0,75

Liter ? YA

TIDAK

Mikrokontroller memerintahkan pengiriman data melalui modul GSM

level air tingkat II Volume air 0,5 Liter

? YA

TIDAK

Mikrokontroller memerintahkan pengiriman data melalui modul GSM

level air tingkat I Volume air 0,25

Liter ? YA

TIDAK

Gambar 3.8 Flowchart System (Diagram Alir)

Program dimulai dari start dan dilanjutkan dengan inisialisasi untuk memetakan memori dan port – port yang akan digunakan untuk keperluan


(53)

pembacaan sensor dan port – port untuk menampilkan ke LCD. Mikro melakukan pembacaan pada sensor ultrasonic:

• Jika “iya”, volume air berada pada kapasitas 1 liter maka mikrokontroller

akan melakukan pengiriman data melalui modul GSM dengan isi pesan “Level air tingkat IV”.

• Jika “tidak”, maka sensor akan meneruskan deteksi apakah volume air

berada pada kapasitas 0.75 liter, jika “iya” maka mikrokontroller akan melakukan pengiriman data melalui modul GSM dengan isi pesan “Level air tingkat III”.

• Jika “tidak”, maka sensor akan meneruskan deteksi apakah volume air

berada pada kapasitas 0.5 liter, jika “iya” maka mikrokontroller akan melakukan pengiriman data melalui modul GSM dengan isi pesan “Level air tingkat II”.

• Jika “tidak”, maka sensor akan meneruskan deteksi apakah volume air

berada pada kapasitas 0.25 liter, jika “iya” maka mikrokontroller akan melakukan pengiriman data melalui modul GSM dengan isi pesan “Level air tingkat I”.


(54)

BAB 4

HASIL DAN PENGUJIAN

4.1. Pengujian dan Analisa Rangkaian Sensor Ultrasonic

Pada gambar 3.2.dan 3.3. tentang rangkaian transmitter dan receiver terletak dalam 1 komponen melainkan masing- masing mempunyai fungsi. untuk menganalisa rangkaian ultrasonic dapat di lihat pada pembahasan di bawah ini. Jika sensor terkena suatu benda, maka pantulan gelombang yang berasal dari transmitter sensor ultrasonic akan kembali ke receiver, kemudian akan dihitung waktu dari gelombang terkirim hingga gelombang kembali. Dari waktu yang didapat, dokonversi menjadi jarak.

Tabel 4.1. Data Jarak Deteksi Berbagai Halangan

Jarak

(cm) 5 10 15 20 25 30 40 45 50 Pengujian

1 4 10 15 19 24 28 39 44,8 50

2 5 10 15,1 20 25 28 41 45,3 49

3 5 9 15,3 20 23,5 27 39,6 45 49

4 5 10 15,2 21 24,6 30 40 45 51

5 5 9 15,2 20 25 30 40,3 44,5 50


(55)

8Penjelasan pada table diatas yaitu : Pengujian jarak pendeteksian sensor ultrasonik dilakukan dengan mendekatkan dan menjauhkan posisi objek yang ada didepan sensor.untuk mengetahui kepekaan sensor ketika diberikan objek yang berbeda dilakukan sebanyak 5 kali pada masing-masing objek. Jarak dari objek di variasikan . Setiap pengujian akan menghasilkan pembacaan yang berbeda walau dengan jarak yang sama, tetapi perbedaanya tidak terlalu besar. Tujuan dari pengujian itu untuk mendapatkan nilai yang akurat, misalnya pengujian dengan jarak 50 cm menghasilkan nilai pembacaan 49,8 cm.

Hasil pengujian dapat membuktikan bahwa sensor ultrasonik bekerja berdasarkan kemampuan penghalang memantulkan kembali gelombang ultrasonik yang dikirim oleh sensor ultrasonik, gangguan pada pendeteksiaan sensor dapat diakibatkan oleh penghalang yang tidak mampu memantulkan gelombang bunyi dengan baik dan adanya interferensi gelombang dengan frekuensi yang sama.

Data yang ada di dalam tabel adalah linear karena batas minimal baca sensor adalah 2cm dan apabila pengukuran di bawah 2 cm maka tidak terdefenisi karena jarak dari sensor ke benda terlalu dekat dan tidak menghasilkan data. dalam pengukuran menggunakan sistem perhitungan dan setiap 1 gelombang pulsa nilainya adalah kelipatan 10mS.

4.2. Pengujian Rangkaian Mikrokontroler ATMega8535

Karena pemrograman menggunakan mode ISP (In System Programming) mikrokontroler harus dapat diprogram langsung pada papan rangkaian dan rangkaian mikrokontroler harus dapat dikenali oleh program downloader. Pada pengujian ini berhasil dilakukan dengan dikenalinya jenis


(56)

mikrokontroler oleh program downloader yaitu ATMega8535.

Gambar 4.1. Informasi Signature Mikrokontroler

ATMega menggunakan kristal dengan frekuensi 11,0592 MHz, apabila

Chip Signature sudah dikenali dengan baik dan dalam waktu singkat, bisa dikatakan rangkaian mikrokontroler bekerja dengan baik dengan mode ISP-nya.

4.3. Interfacing LCD 2x16

Bagian ini hanya terdiri dari sebuah LCD dot matriks 2 x 16 karakter yang berfungsi sebagai tampilan hasil pengukuran dan tampilan dari beberapa keterangan. LCD dihubungkan langsung ke Port D dari mikrokontroler yang berfungsi mengirimkan data hasil pengolahan untuk ditampilkan dalam bentuk alfabet dan numerik pada LCD.Display karakter pada LCD diatur oleh pin EN, RS dan RW: Jalur EN dinamakan Enable. Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah data. Untuk mengirimkan data ke LCD, maka melalui program EN harus dibuat logika low “0” dan set ( high ) pada dua jalur kontrol yang lain RS dan RW. Jalur RW adalah jalur kontrol Read/


(57)

Write. Ketika RW berlogika low (0), maka informasi pada bus data akan dituliskan pada layar LCD. Ketika RW berlogika high ”1”, maka program akan melakukan pembacaan memori dari LCD. Sedangkan pada aplikasi umum pin RW selalu diberi logika low ( 0 )

Berdasarkan keterangan di atas maka kita sudah dapat membuat progam untuk menampilkan karaker pada display LCD. Adapun program yang diisikan ke mikrokontroller untuk menampilkan karakter pada display LCD adalah sebagai berikut:

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

// Alphanumeric LCD Module functions #include <alcd.h>

// Declare your global variables here

void main(void) {

// Declare your local variables here

PORTA=0x00; DDRA=0x00;


(58)

DDRB = 0X00; //

PORTC = 0X00; DDRC = 0X01; //

PORTD = 0X00; DDRD= 0X00; //

// LCD module initialization lcd_init(16);

lcd_gotoxy(0,0); lcd_putsf("Fajar");

Program di atas akan menampilkan kata “Fajar ” di baris pertama pada display LCD 2x16. Pada alat dalam penelitian ini, Saat keseluruhan rangkaian diaktifkan, maka pada LCD akan menampilkan status sensor dan pemberitahuan apabila mengirim sms .

4.4. Pengujian Koneksi Modul GSM Wavecom dengan Mikrokontroller ATMEGA8535 via serial max232

Pada pengujian komunikasi serial ini, kita lakukan dengan cara mengkomunikasikan mikrokontroller dengan komputer menggunakan kabel serial yang terhubung ke mikro melewati IC MAX232. pengujian dapat dilakukan dan dapat dilihat pada hyper Terminal yang sudah ada pada Windows.


(59)

Pengujian pada hyper terminal ini akan muncul beberapa pilihan yaitu pilih Com1 dan pada bit per second (baud) pilih 9600. Dalam pengujian komunikasi serial ini kita harus memperhatikan perhitungan clock generator pada mikro, karena cristal yang harus dipergunakan harus menggunakan perhitungan. Hal ini diperlukan agar data yang masuk bener-bener bisa dibaca oleh komputer. Dalam pengujian ini menggunakan krystal 11.059200 MHz.

Mikrokontroller dikomunikasikan secara serial dengan wavecom fastrack 1306 b selanjutnya akan mengirimkan SMS di HP user pemilik rumah, untuk mengetahui kondisi pintu atau jendela.dalam Pengkabelanya kondisi RX wavecom dihubungkan dengan TX

mikrokontroller begitu pula sebaliknya.berikut adalah program untuk mengirimkan sms ke no hp tujuan

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

// Standard Input/Output functions #include <stdio.h>

// Declare your global variables here

void main(void) {


(60)

// Declare your local variables here

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

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;

DDRA=0x00;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;

DDRB=0x00;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;


(61)

// Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;

DDRD=0x00;

void sms_init() {

printf("ATE0");

putchar(0x0D);//ENTER while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500);

}

sms_init(); while (1) {

printf("AT+CMGF=1"); //menyeting modem GSM ke mode text putchar(13); //mengirim 1 karakter CR / enter printf("AT+CMGS="); //perintah untuk mengirim sms

putchar('"'); //mengirim karakter ‘ ” ’ printf("085760946582"); //no HP yg dituju putchar('"');


(62)

putchar(13); //kode ascii untuk enter<CR> printf("tes kirim sms");

putchar(26); // }

}

Jika program dijalankan, maka mikro akan memerintahkan modul gsm untuk mengirim pesan yang berisi karakter “tes kirim sms”.

4.5 Program Code-Vision AVR

/******************************************************* This program was created by the

CodeWizardAVR V3.12 Advanced Automatic Program Generator

© Copyright 1998-2014 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com

Project : Version : Date : Author : Company : Comments:


(63)

Chip type : ATmega32A Program type : Application

AVR Core Clock frequency: 11,059200 MHz Memory model : Small

External RAM size : 0 Data Stack size : 512

*******************************************************/

#include <mega32a.h> #include <delay.h>

// Alphanumeric LCD functions #include <alcd.h>

#include <stdio.h>

// Declare your global variables here

char dat,x,penuh,kosong,setengah,satu,satusetengah,dua; #define triger PORTC.1

#define pin_triger DDRC.1 #define echo PINC.0 #define pin_echo DDRC.0

unsigned char buf[33]; unsigned int counter,jarak; float volume;


(64)

#define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC)

#define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<DOR)

// USART Receiver buffer #define RX_BUFFER_SIZE 8 char rx_buffer[RX_BUFFER_SIZE];

#if RX_BUFFER_SIZE <= 256

unsigned char rx_wr_index=0,rx_rd_index=0; #else

unsigned int rx_wr_index=0,rx_rd_index=0; #endif

#if RX_BUFFER_SIZE < 256 unsigned char rx_counter=0; #else

unsigned int rx_counter=0; #endif


(65)

bit rx_buffer_overflow;

// USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void) {

char status,data; status=UCSRA; data=UDR;

if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)

{

rx_buffer[rx_wr_index++]=data; #if RX_BUFFER_SIZE == 256

// special case for receiver buffer size=256 if (++rx_counter == 0) rx_buffer_overflow=1; #else

if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE)

{

rx_counter=0;

rx_buffer_overflow=1; }

#endif }


(66)

}

#ifndef _DEBUG_TERMINAL_IO_

// Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_

#pragma used+ char getchar(void) {

char data;

while (rx_counter==0);

data=rx_buffer[rx_rd_index++]; #if RX_BUFFER_SIZE != 256

if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0; #endif

#asm("cli") --rx_counter; #asm("sei") return data; }

#pragma used- #endif

// USART Transmitter buffer #define TX_BUFFER_SIZE 8


(67)

char tx_buffer[TX_BUFFER_SIZE];

#if TX_BUFFER_SIZE <= 256

unsigned char tx_wr_index=0,tx_rd_index=0; #else

unsigned int tx_wr_index=0,tx_rd_index=0; #endif

#if TX_BUFFER_SIZE < 256 unsigned char tx_counter=0; #else

unsigned int tx_counter=0; #endif

// USART Transmitter interrupt service routine interrupt [USART_TXC] void usart_tx_isr(void) {

if (tx_counter) {

--tx_counter;

UDR=tx_buffer[tx_rd_index++]; #if TX_BUFFER_SIZE != 256

if (tx_rd_index == TX_BUFFER_SIZE) tx_rd_index=0; #endif


(68)

} }

#ifndef _DEBUG_TERMINAL_IO_

// Write a character to the USART Transmitter buffer #define _ALTERNATE_PUTCHAR_

#pragma used+ void putchar(char c) {

while (tx_counter == TX_BUFFER_SIZE); #asm("cli")

if (tx_counter || ((UCSRA & DATA_REGISTER_EMPTY)==0)) {

tx_buffer[tx_wr_index++]=c; #if TX_BUFFER_SIZE != 256

if (tx_wr_index == TX_BUFFER_SIZE) tx_wr_index=0; #endif

++tx_counter; }

else UDR=c; #asm("sei") }


(69)

#endif

// Standard Input/Output functions #include <stdio.h>

// Declare your global variables here void send_sms()

{

printf("AT+CMGF=1"); //menyeting modem GSM ke mode text putchar(13); //mengirim 1 karakter CR / enter. printf("AT+CMGS=");

putchar('"');

printf("085760946582"); //no HP yg dituju putchar('"');

putchar(13); //kode ascii <CR> //printf("tes feedback ok");

printf("tes kirim"); putchar(26); }

void sms_init() {

printf("ATE0");


(70)

while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500);

}

void cek_sms() {

while(getchar()!=','){}; while(getchar()!=0x0A){}; }

void send_sms_txt(char flash *fmtstr1, char flash *fmtstr2) {

printf("AT+CMGF=1"); putchar(0x0D);//ENTER while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500);

printf("AT+CMGS=\""); printf(fmtstr1);

printf("\"");

putchar(0x0D);//ENTER while(getchar()!=0x20){}; delay_ms(500);


(71)

printf(fmtstr2); putchar(0x1A);

while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500);

printf("AT+CMGD=1"); putchar(0x0D);//ENTER while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500);

printf("AT+CMGD=2"); putchar(0x0D);//ENTER while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(500);

printf("AT+CMGD=3"); putchar(0x0D);//ENTER while(getchar()!=0x0A){};


(72)

while(getchar()!=0x0A){}; delay_ms(500);

}

char receive_sms() {

char data;

printf("AT+CMGR=1"); putchar(0x0D);

while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; data=getchar();

while(getchar()!='K'){}; while(getchar()!=0x0A){};

delay_ms(500);

printf("AT+CMGD=1"); putchar(0x0D);//ENTER while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500);


(73)

putchar(0x0D);//ENTER while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500);

printf("AT+CMGD=3"); putchar(0x0D);//ENTER while(getchar()!='K'){}; while(getchar()!=0x0A){}; delay_ms(500);

return(data); }

void tampil_lcd(char x,char y,char flash *teks, int tunda) {

lcd_gotoxy(x,y); lcd_putsf(teks); delay_ms(tunda); }

void main(void) {


(74)

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

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

// Port B initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

// Port C initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);


(75)

PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

// Port D initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected

TCCR0=(0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (0<<CS02) | (0<<CS01) | (0<<CS00);

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped


(76)

// Mode: Normal top=0xFFFF // OC1A output: Disconnected // OC1B output: Disconnected // Noise Canceler: Off

// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off

TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);

TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);

TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock


(77)

// Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0<<AS2;

TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);

TCNT2=0x00; OCR2=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off

MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00); MCUCSR=(0<<ISC2);

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On


(78)

// USART Mode: Asynchronous // USART Baud Rate: 9600

UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM);

UCSRB=(1<<RXCIE) | (1<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);

UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);

UBRRH=0x00; UBRRL=0x19;

// Analog Comparator initialization // Analog Comparator: Off

// The Analog Comparator's positive input is // connected to the AIN0 pin

// The Analog Comparator's negative input is // connected to the AIN1 pin

ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);

SFIOR=(0<<ACME);

// ADC initialization // ADC disabled


(79)

ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);

// SPI initialization // SPI disabled

SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);

// TWI initialization // TWI disabled

TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);

// Alphanumeric LCD initialization // Connections are specified in the

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTA Bit 0

// RD - PORTA Bit 1 // EN - PORTA Bit 2 // D4 - PORTA Bit 3 // D5 - PORTA Bit 4 // D6 - PORTA Bit 5 // D7 - PORTA Bit 6 // Characters/line: 16


(80)

lcd_init(16);

// Global enable interrupts #asm("sei")

tampil_lcd(0,0,"pemantau air-GSM",500); tampil_lcd(0,1,"fajar&Fadly",2000);lcd_clear(); tampil_lcd(0,0,"inisialisasi modul gsm",0); sms_init();

delay_ms(2000); lcd_clear();

tampil_lcd(0,0,"inisialisasi oke",1000); while (1)

{

pin_triger=1;// pin TRIGGER triger=1;

delay_us(10); triger=0;

pin_echo=0;// pin ECHO counter = 0;

while (echo==0); while (echo==1) {


(81)

if ( counter > 13000) break; // ini di break agar ketika mengukur lebih dari 4 m,sistem tidak hang

}

jarak=28-((counter/34)*2); volume=(3.14*25*jarak)/1000;

sprintf(buf,"volume=%.1f L ",volume); lcd_clear();

lcd_gotoxy(0,0); lcd_puts(buf); delay_ms(500);

if ( volume>0 && volume<=0.5 && setengah==0) {

tampil_lcd(0,0,"tangki setengah L",1000); tampil_lcd(0,1,"kirim pesan",1000);

send_sms_txt("085760946582","tangki setengah L"); setengah=1;

satu=0;

satusetengah=0; dua=0;

}

if ( volume>0.5 && volume<=1 && satu==0) {


(82)

tampil_lcd(0,1,"kirim pesan",1000);

send_sms_txt("085760946582","tangki satu L"); setengah=0;

satu=1;

satusetengah=0; dua=0;

}

if ( volume>1 && volume<=1.5 && satusetengah==0) {

tampil_lcd(0,0,"tangki 1.5 L",1000); tampil_lcd(0,1,"kirim pesan",1000);

send_sms_txt("085760946582","tangki 1.5 L"); setengah=0;

satu=0;

satusetengah=1; dua=0;

}

if ( volume>1.5 && volume<=2 && setengah==0) {

tampil_lcd(0,0,"tangki 2 L",1000); tampil_lcd(0,1,"kirim pesan",1000);

send_sms_txt("085760946582","tangki 2 L"); setengah=0;


(83)

satusetengah=0; dua=1;

} } }


(84)

BAB 5 PENUTUP

5.1 Kesimpulan

Setelah melakukan tahap perancangan dan pembuatan sistem yang kemudian dilanjutkan dengan tahap pengujian dan analisa maka dapat diambil kesimpulan sebagai berikut :

1. Bahwa MODEM GSM WAVECOME dapat mengirirnkan dan menerima SMS dengan baik. Penggunaan SMS gateway adalah sebagai komunikasi antara mikrokontroler home, mikrokontroler pos dan user. Mikrokontroler akan mengirimkan SMS setelah sensor ultrasonic mendteksi naiknya air pada tangki penisian.

2. Sensor ultrasonic dapat dijadikan sebagai pengukur kapasitas. Jarak pantulan sinyalnya 10 cm sampai 80 cm dengan frekuensi sebesar 40 ini memungkinkan untuk mengukur sebuah tangki atau tong.

3. Didalam sebuah IC mikrokontroler sudah terdapat kebutuhan minimal agar mikroprosesor dapat bekerja yaitu meliputi mikroprosesor, ROM, RAM, I/O dan clock. Dengan inputan sensor yang membaca perubahan ketinggian air dan diolah oleh mikrokontroler. Kecepatan dan ketepatan dalam pengaksesan system pengontrolan sangat memadai dalam penghematan waktu.


(85)

5.2 Saran

Dari hasil tugas akhir ini masih terdapat beberapa kekurangan dan dimungkinkan untuk pengembangan lebih lanjut. Oleh karenanya penulis merasa perlu untuk memberi saran-saran sebagai berikut:

1. Pada Tugas Akhir ini masih menggunakan system pengontrolan jarak jauh masih memanfaatkan sistem sms. Agar lebih menarik lagi, perlu digunakan pengotrolan jarak jauh menggunakan Wifi atau sejenisnya.


(86)

DAFTAR PUSTAKA

Catur Edi Widodo & Retna Prasetia. 2004. Teori dan Praktek Interfacing Port Serial Komputer dengan VisualBasic 6.0. Yogyakarta: Andi.

Eko Putra, Agfianto. 2002. Teknik Antarmuka Komputer Konsep dan Aplikasi. Yogyakarta: Graha Ilmu

Elektur.1996.302 Rangkaian Elektronika.Penerjemahan P.Pratomo dkk.Jakarta: Percetakan PT Gramedia.

Putra eko afgianto.2002.Teknik Antar Muka Komputer: Konsep dan Aplikasi Yogyakarta: Graha ilmu.


(1)

if ( counter > 13000) break; // ini di break agar ketika mengukur lebih dari 4 m,sistem tidak hang

}

jarak=28-((counter/34)*2); volume=(3.14*25*jarak)/1000;

sprintf(buf,"volume=%.1f L ",volume); lcd_clear();

lcd_gotoxy(0,0); lcd_puts(buf); delay_ms(500);

if ( volume>0 && volume<=0.5 && setengah==0) {

tampil_lcd(0,0,"tangki setengah L",1000); tampil_lcd(0,1,"kirim pesan",1000);

send_sms_txt("085760946582","tangki setengah L"); setengah=1;

satu=0;

satusetengah=0; dua=0;

}

if ( volume>0.5 && volume<=1 && satu==0) {


(2)

tampil_lcd(0,1,"kirim pesan",1000);

send_sms_txt("085760946582","tangki satu L"); setengah=0;

satu=1;

satusetengah=0; dua=0;

}

if ( volume>1 && volume<=1.5 && satusetengah==0) {

tampil_lcd(0,0,"tangki 1.5 L",1000); tampil_lcd(0,1,"kirim pesan",1000);

send_sms_txt("085760946582","tangki 1.5 L"); setengah=0;

satu=0;

satusetengah=1; dua=0;

}

if ( volume>1.5 && volume<=2 && setengah==0) {

tampil_lcd(0,0,"tangki 2 L",1000); tampil_lcd(0,1,"kirim pesan",1000);

send_sms_txt("085760946582","tangki 2 L"); setengah=0;


(3)

satusetengah=0; dua=1;

} } }


(4)

BAB 5 PENUTUP

5.1 Kesimpulan

Setelah melakukan tahap perancangan dan pembuatan sistem yang kemudian dilanjutkan dengan tahap pengujian dan analisa maka dapat diambil kesimpulan sebagai berikut :

1. Bahwa MODEM GSM WAVECOME dapat mengirirnkan dan menerima SMS dengan baik. Penggunaan SMS gateway adalah sebagai komunikasi antara mikrokontroler home, mikrokontroler pos dan user. Mikrokontroler akan mengirimkan SMS setelah sensor ultrasonic mendteksi naiknya air pada tangki penisian.

2. Sensor ultrasonic dapat dijadikan sebagai pengukur kapasitas. Jarak pantulan sinyalnya 10 cm sampai 80 cm dengan frekuensi sebesar 40 ini memungkinkan untuk mengukur sebuah tangki atau tong.

3. Didalam sebuah IC mikrokontroler sudah terdapat kebutuhan minimal agar mikroprosesor dapat bekerja yaitu meliputi mikroprosesor, ROM, RAM, I/O dan clock. Dengan inputan sensor yang membaca perubahan ketinggian air dan diolah oleh mikrokontroler. Kecepatan dan ketepatan dalam pengaksesan system pengontrolan sangat memadai dalam penghematan waktu.


(5)

5.2 Saran

Dari hasil tugas akhir ini masih terdapat beberapa kekurangan dan dimungkinkan untuk pengembangan lebih lanjut. Oleh karenanya penulis merasa perlu untuk memberi saran-saran sebagai berikut:

1. Pada Tugas Akhir ini masih menggunakan system pengontrolan jarak jauh masih memanfaatkan sistem sms. Agar lebih menarik lagi, perlu digunakan pengotrolan jarak jauh menggunakan Wifi atau sejenisnya.


(6)

DAFTAR PUSTAKA

Catur Edi Widodo & Retna Prasetia. 2004. Teori dan Praktek Interfacing Port Serial Komputer dengan VisualBasic 6.0. Yogyakarta: Andi.

Eko Putra, Agfianto. 2002. Teknik Antarmuka Komputer Konsep dan Aplikasi. Yogyakarta: Graha Ilmu

Elektur.1996.302 Rangkaian Elektronika.Penerjemahan P.Pratomo dkk.Jakarta: Percetakan PT Gramedia.

Putra eko afgianto.2002.Teknik Antar Muka Komputer: Konsep dan Aplikasi Yogyakarta: Graha ilmu.