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
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
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
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
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.
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
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.
DAFTAR ISI
Bab 1 Pendahuluan 1.1. Latar Belakang ……… 1 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.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
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
DAFTAR TABEL
Halaman
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
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
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.
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
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
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
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.
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.
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
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
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)
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.
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.
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
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
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
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
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
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
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
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
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
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
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
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
• 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.
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
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
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
• 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.
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
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,
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
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 :
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
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
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
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
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
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.
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
3.7. Flowchart System Volume air 0,5 Liter
? YA
Gambar 3.8 Flowchart System (Diagram Alir)
Program dimulai dari start dan dilanjutkan dengan inisialisasi untuk
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
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
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
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
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;
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
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)
// 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;
// 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(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 :
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;
#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
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
}
#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
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;
}
}
#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")
}
#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");
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){};
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