viii
INTISARI
Perkembangan teknologi yang sedemikian pesat pada kehidupan dewasa ini,
menuntut manusia untuk bergaya hidup praktis. Hal ini juga berpengaruh pada bidang
informasi. Oleh karena itu dilakukan perancangan dan realisasi pembuatan modul
komunikasi serial antara mikrokontroler. Sistem peralatan ini menggunakan komunikasi
serial sebagai penyampaian informasi. Untuk komunikasi ini sendiri menggunakn
komunikasi dua arah .
Sistem ini terdiri dari perangkat keras dan perangkat lunak. Perangkat keras terdiri
dari IC Atmega16, dan LCD 2x16. Sedangkan perangkat lunak mikrokontroler dengan
menggunakan bahasa C.
Sistem ini akan bekerja setelah power supply dalam keadaan on maka mikrokontroler A berfungsi sebagai master untuk menerima data dari model simulator boiler
menggunakan komunikasi serial USART. Data yang diterima berupa data parameter boiler.
Sedangkan mikrokontroler B fungsinya sebagai slave untuk menerima data dari mikrokontroler master dan selanjutnya data tersebut akan ditampilkan pada LCD 2x16 menggunakan komunikasi serial I2C.
Hasil akhir dari penelitian ini adalah menunjukkan bahwa sistem kerja dari modul
komunikasi serial belum sesuai dengan perancangan awal, dan implementasinya hanya
menggunakan komunikasi satu arah dan data yang diterima dari model simulator boiler
berubah ubah sesuai dengan data yang dikirim dari model simulator boiler. Data boiler
yang diterima oleh modul komunikasi serial akan sama dengan data yang dikirim dari
model simulator boiler, kecuali untuk komunikasi SPI.
ix
ABSTRACT
The rapid development of technology in today's life, demanding man's practical life style.
It also affects the field of information. Therefore, to design and manufacture the realization
of serial communication between the microcontroller module. This equipment systems
using serial communication as the delivery of information. For this communication is to
use your own two-way communication.
The system consists of hardware and software. The hardware consists of ATmega16
IC, IC MAX 232 and 2x16 LCD. While software microcontroller using C language
This system will work after the power supply in a state on the microcontroller A
serves as the master to receive data from boiler simulator model using USART serial
communication. The data received in the form of boiler parameter data. While the
microcontroller and its function as a slave to receive data from the master microcontroller
and further data will be displayed on the LCD 2x16 using I2C serial communication.
The final results of this study indicate that the system is working on the serial
communication module works well, although the data received from the boiler simulator
model changed to change according to the data are sent from the boiler simulator models.
Boiler data received by serial communication module will be the same as the data sent
from the boiler simulator models, except for SPI communication.
i
TUGAS AKHIR
MODUL KOMUNIKASI SERIAL PADA MODEL
SIMULATOR BOILER BERBASIS
MIKROKONTROLER ATMEGA16
Disusun Oleh :
NUNCIO NATALINO VICENTE DE FATIMA SOARES
NIM : 125114012
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
ii
FINAL PROJECT
MODULE COMMUNICATION OF THE SERIES ON MODEL SIMULATOR
BOILER BASED ON MICROCONTROLLER ATMEGA 16
In partial fulfilment of the requirements
for the degree of Sarjana Teknik
Electrical Engineering Study Program
Electrical Engineering Departement
Science and Technology Faculty Sanata Dharma University
NUNCIO NATALINO VICENTE DE FATIMA SOARES
NIM : 125114012
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTEMENT
SCIENCE AND TECHNOLOGY FACULTY
SANATA DHARMA UNIVERSITY
vi
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP
MOTTO:
“KEBERHASILAN AKAN DIRAIH DENGAN BELAJAR”
JANGAN INGAT LELAHNYA BELAJAR, TAPI INGAT BUAH
MANISNYA YANG BISA DIPETIK KELAK KETIKA SUKSES
Karya tulis ini kupersembahkan kepada:
Hati Kudus Tuhan Yesus Kristus Ganjuran dan Bunda Maria
Pembimbingku yang amat berarti di hidupku,
Papa dan mama tercinta,
Saudara-saudaraku yang tercinta,
Teman-teman seperjuanganku,
Dan famalia warik uan jogja
viii
INTISARI
Perkembangan teknologi yang sedemikian pesat pada kehidupan dewasa ini,
menuntut manusia untuk bergaya hidup praktis. Hal ini juga berpengaruh pada bidang
informasi. Oleh karena itu dilakukan perancangan dan realisasi pembuatan modul
komunikasi serial antara mikrokontroler. Sistem peralatan ini menggunakan komunikasi
serial sebagai penyampaian informasi. Untuk komunikasi ini sendiri menggunakn
komunikasi dua arah .
Sistem ini terdiri dari perangkat keras dan perangkat lunak. Perangkat keras terdiri
dari IC Atmega16, dan LCD 2x16. Sedangkan perangkat lunak mikrokontroler dengan
menggunakan bahasa C.
Sistem ini akan bekerja setelah power supply dalam keadaan on maka mikrokontroler A berfungsi sebagai master untuk menerima data dari model simulator boiler
menggunakan komunikasi serial USART. Data yang diterima berupa data parameter boiler.
Sedangkan mikrokontroler B fungsinya sebagai slave untuk menerima data dari mikrokontroler master dan selanjutnya data tersebut akan ditampilkan pada LCD 2x16 menggunakan komunikasi serial I2C.
Hasil akhir dari penelitian ini adalah menunjukkan bahwa sistem kerja dari modul
komunikasi serial belum sesuai dengan perancangan awal, dan implementasinya hanya
menggunakan komunikasi satu arah dan data yang diterima dari model simulator boiler
berubah ubah sesuai dengan data yang dikirim dari model simulator boiler. Data boiler
yang diterima oleh modul komunikasi serial akan sama dengan data yang dikirim dari
model simulator boiler, kecuali untuk komunikasi SPI.
ix
ABSTRACT
The rapid development of technology in today's life, demanding man's practical life style.
It also affects the field of information. Therefore, to design and manufacture the realization
of serial communication between the microcontroller module. This equipment systems
using serial communication as the delivery of information. For this communication is to
use your own two-way communication.
The system consists of hardware and software. The hardware consists of ATmega16
IC, IC MAX 232 and 2x16 LCD. While software microcontroller using C language
This system will work after the power supply in a state on the microcontroller A
serves as the master to receive data from boiler simulator model using USART serial
communication. The data received in the form of boiler parameter data. While the
microcontroller and its function as a slave to receive data from the master microcontroller
and further data will be displayed on the LCD 2x16 using I2C serial communication.
The final results of this study indicate that the system is working on the serial
communication module works well, although the data received from the boiler simulator
model changed to change according to the data are sent from the boiler simulator models.
Boiler data received by serial communication module will be the same as the data sent
from the boiler simulator models, except for SPI communication.
x
KATA PENGATAR
Puji dan syukur peneliti panjatkan kehadirat Tuhan Yang Maha Esa atas berkat dan
rahmat-Nya sehingga peneliti dapat menyelesaikan Tugas Akhir ini dengan baik. Tujuan
penulisan tugas akhir adalah untuk memenuhi persyaratan mencapai Derajat Sarjana
Teknik dari Program Studi Teknik Elektro Fakultas Sains dan teknologi Universitas Sanata
Dharma Yogyakarta.
Penulisan tugas akhir ini dapat diselesaikan dengan baik tak lepas dari bantuan
berbagai pihak. Oleh karena itu peneliti ingin mengucapkan terima kasih kepada :
1. Tuhan Yesus Kristus, atas kasih, berkat, dan penyertaannya sehingga penulis
mampu menyelesaikan tugas akhir ini dengan baik.
2. Ibuk Paulina Heruningsih Prima Rosa, S.si., M.Sc. selaku Dekan Fakultas Sains dan
Teknologi.
3. Bapak Petrus Setyo Prabowo, S.T., M.T. selaku Ketua Program Studi Teknik
Elektro Universitas Sanata Dharma Yogyakarta.
4. Bapak Ir.Tjendro, selaku dosen pembimbing akademik yang telah mendampingi
dan membimbing penulis salama perkuliahan.
5. Bapak Ir.Tjendro, M.Kom, selaku dosen pembimbing yang dengan penuh
pergertian, sabar dan ketulusan hati memberi bimbingan, kritik, saran, serta
motivasi dalam penulisan tugas akhir ini.
6. Bapak Martanto, S.T.,M.T. dan Bapak Petrus Setyo Prabowo, S.T., M.T. dosen
penguji yang telah bersedia memberi masukan, bimbingan dan saran dalam
memperbaiki tugas akhir ini.
7. Seluruh dosen dan laboran yang telah mengajarkan banyak ilmu yang bermanfaat
selama menempuh pendidikan di Universitas Sanata Dharma Yogyakarta.
8. Seluruh Staff Program Studi Teknik Elektro Fakultas Sains dan Teknologi
Universitas Sanata Dharma Yogyakarta yang telah membantu dalam hal
administrasi.
9. Kedua orangtuaku ( alm. Antonio Vicente Marques Soares dan Maria Do Rosario
Fatima), atas kasih sayang, dukungan, motivasi dan doa yang tiada henti selama
menempuh pendidikan di Universitas Sanata Dharma.
10.Kakak-kakak dan adik-adik ku tercinta yang selalu mendukung dan mendoakan
xii
DAFTAR ISI
HALAMAN JUDUL (Bahasa Indonesia) ... i
HALAMAN JUDUL (Bahasa Inggris) ... ii
HALAMAN PERSETUJUAN ... iii
HALAMAN PENGESAHAN ... iv
PERNYATAAN KEASLIAN KARYA ... v
HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS... vii
INTISARI ... viii
ABSTRACT ... ix
KATA PENGANTAR ... x
DAFTAR ISI ... xii
DAFTAR GAMBAR ... xv
DAFTAR TABEL ... xvii
BAB I: PENDAHULUAN 1.1. Latar Belakang ... 1
1.2. Tujuan dan Manfaat Penelitian ... 2
1.3. Batasan Masalah ... 3
1.4. Metodelogi Penelitian ... 2
BAB II : DASAR TEORI 2.1. Sistem Komunikasi ... 4
2.1.1. Komunikasi Serial ... 4
2.1.2. Data Transfer Rate ... 4
2.2. Mikrokontroler ATmega16 ... 5
2.2.1. Konfigurasi Pin ATmega16 ... 6
2.2.2. Pemrograman Mikrokontroler ATmega16 ... 8
2.2.3. Bahasa C Pada AVR ATmega16 ... 9
2.3. LCD (Liquid Cristal Display) ... 9
xiii
2.4.1. Prinsip Kerja RS232 ... 11
2.4.2. Konektor RS232 ... 11
2.4.3. Keuntungan Komunikasi Secara Serial ... 13
2.4.4. MAX232 ... 13
2.5. USART ... 14
2.5.1. Register Komunikasi Serial Usart ... 14
2.6. SPI (SERIAL PERIPHERAL INTERFACE) ... 17
2.6.1. Pin – Pin Penghubung pada SPI ... 17
2.6.2. Register Komunikasi SPI ... 18
2.6.2.1. SPI Control RegIster (SPCR) ... 18
2.6.2.2. SPI Data Register (SPDR) ... 20
2.7. I2C (Inter Integrated Circui t ) ... 20
2.7.1. Register Komunikasi I2C ... 21
BAB III : RANCANGAN PENELITIAN 3.1. Proses Kerja Sistem ... 24
3.2. Kebutuhan Perangkat Keras ... 24
3.3. Perancangan Perangkat Keras Mekanik ... 25
3.4. Perancangan Perangkat Keras Elektronika ... 25
3.4.1. Perancangan Minimum Sistem dan Display LCD 2x16 ... 26
3.4.2. Perancangan Rangkaian RS-232 ... 26
3.5. Perancangan Perangkat Lunak ... 28
3.5.1. Diagram Alir Utama ... 28
3.5.2. Diagram Alir Komunikasi Serial Dengan Sistem Boiler ... 29
3.5.3. Diagram Alir Komunikasi Serial Dengan Sistem Penampil ... 30
3.5.4. Diagram Alir Komunikasi Serial Dengan Sistem Monitoring... 33
BAB IV : HASIL DAN PEMBAHASAN 4.1. Bentuk Fisik Hardware Elektronika ... 34
4.1.1. Bentuk Fisik Minimum System ATmega16 ... 34
4.1.2. Bentuk Fisik LCD 2x16 ... 35
4.1.3. Cara Penggunaan Alat ... 37
xiv
4.2.1. Pengujian Penerimaan Data Temperatur ... 37
4.2.2. Pengujian Penerimaan Data Tekanan ... 38
4.2.3. Pengujian Penerimaan Data Level Air ... 39
4.2.4. Pengujian Penerimaan Data Level Oli ... 40
4.3. Pembahasan Software ... 41
4.3.1. Program USART ... 41
4.3.2. Program I2C ... 45
4.4. Pembahasan Komunikasi Serial ... 47
4.5. Analisa Sistem Secara Keseluruhan ... 52
BAB V : KESIMPULAN DAN SARAN 5.1. Kesimpulan ... 54
5.2. Saran ... 54
DAFTAR PUSTAKA
LAMPIRAN
xv
DAFTAR GAMBAR
Halaman
Gambar 1.1. Diagram Blok Perancangan ... 3
Gambar 2.1. Model Komunikasi Data Sederhana ... 4
Gambar 2.3 Konfigurasi kaki (pin) ATmega16 ... 6
Gambar 2.4 Bentuk LCD (Liquid Cristal Display) ... 10
Gambar 2.5. Komunikasi data serial ... 11 Gamabar 2.6. RS232 pin out (DB9) ... 13
Gambar 2.7. Rangkaian MAX232 ... 14
Gambar 2.5. Avr Usart Tx dan Rx ... 15 Gambar 2.6. Register UCSRA ... 15
Gambar 2.7. Register UCSRB ... 16
Gambar 2.8. Register UCSRC ... 16
Gambar 2.9. Cara kerja protokol SPI ... 17
Gambar 2.10. SPCR Register ... 18
Gambar 2.12. SPDR Register ... 20
Gambar 2.13. Kondisi sinyal start dan stop ... 21
Gambar 2.14. Sinyal ACK dan NACK ... 21
Gambar 2.15. Konfigurasi sistem I2C ... 22
Gambar 2.17. Timing diagram ... 22
Gambar 3.1. Diagram Blok Keseluruhan Sistem ... 24
Gambar 3.2 a dan b ... 25 Gambar 3.3. Minimum Sistem dan Display LCD 2x16 ... 26
Gambar 3.4. Rangkaian RS232 ... 27
Gambar 3.5. Diagram Alir Utama ... 28
Gambar 3.6. Diagram Alir Model Serial Komunikasi dengan Sistem Bolier ... 29
Gambar 3.7. Diagram Alir Komunikasi Serial dengan Sistem Penampil ... 30
Gambar 3.8. Paket data serial “B=1” ... 31
Gambar 3.9. Contoh Data yang Akan Ditampilkan ... 32
xvi
Gambar 4.1. Minimum System A ... 34
Gambar 4.2. Minimum System B ... 35
Gambar 4.3. LCD 2x16 ... 35
Gambar 4.4. Rangkaian Keseluruhan Modul Komunikasi Serial ... 36
Gambar 4.5. Bentuk Fisik Modul Komunikasi Serial ... 36
Gambar 4.6. Komunikasi Serial Data Temperatur (T=50C) ... 48
Gambar 4.7. Data temperatur pada osiloskop (T=50C) ... 48
Gambar 4.8. Komunikasi Serial Data Temperatur (T=200C) ... 50
Gambar 4.9. Data Temperatur Pada Osiloskop (T=200C) ... 50
Gambar 4.10. Data dan clock temperatur pada osiloskop (T=50C) ... 52
xvii
DAFTAR TABEL
Halaman
Tabel 2.1 Fungsi khusus port B ... 7
Tabel 2.2 Fungsi khusus port C ... 7
Tabel 2.3 Fungsi khusus port D ... 8
Tabel 2.5. Fungsi pin konektor DB25 dan DB9 ... 12
Tabel 3.1. Kode parameter boiler ... 31
Tabel 3.2. Karakter ASCII “B=1” dalam desimal dan biner ... 31
Tabel 3.3. Karakter ASCII dalam format heksa dan desimal ... 32
Tabel 4.1. Penggunaan Port Pada Mynsis Mikrokontroler ... 37
Tabel 4.2. Hasil Pengujian Penerimaan Data Temperatur ... 38
Tabel 4.3. Hasil Pengujian Penerimaan Data Tekanan ... 38
Tabel 4.4. Hasil Pengujian Penerimaan Data Level Air ... 39
Tabel 4.5. Hasil Pengujian Penerimaan Data Level Oli ... 40
Tabel 4.6. Biner dari (T=50) dalam hex dan karakter ... 49
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan teknologi yang sedemikian pesat pada kehidupan dewasa ini,
menuntut manusia untuk bergaya hidup praktis. Hal ini juga berpengaruh pada bidang
informasi. Semakin berkembangnya teknologi dan semakin banyaknya kesibukan manusia
membuat orang berpikir untuk dapat bekerja lebih efektif dan efisien. Oleh karena itu
semua peralatan manusia telah dikembangkan untuk dapat membuat pekerjaan manusia
lebih ringan. Kebutuhan sistem informasi yang sederhana dan multiguna sangat diperlukan.
Saat ini komunikasi semakin berkembang dengan adanya perangkat yang mendukung,
sehingga mempermudah manusia dalam menyampaikan informasi.
Komunikasi serial adalah sebuah komunikasi pengiriman data yang dilakukan secara
bergantian atau satu persatu. Komunikasi serial tersebut bersifat dua arah serta memiliki
jalur yang sedikit sehingga lebih menghemat pin dan kabel jika dibandingkan dengan
komunikasi paralel. Sistem peralatan ini menggunakan komunikasi serial sebagai
penyampaian informasi. Namun pada umumnya komunikasi yang digunakan adalah
komunikasi serial USART.
Model simulator boiler dirancang untuk menunjukkan secara sederhana berbagai
kontrol pada sistem boiler. Model simulator boiler ini dapat bertindak sebagai alat bantu
untuk diagnosis kesalahan sistem boiler yang mungkin terjadi dalam praktek. Model
simulator boiler ini berfungsi untuk mengatur input data parameter dan kemudian data tersebut akan dikirimkan ke bagian sistem monitoring boiler.
Berdasarkan hal tersebut maka dibuatlah sebuah modul komunikasi serial pada
mikrokontroler. Modul komunikasi serial pada mikrokontroler dirancang untuk sarana
komunikasi antara model simulator boiler dengan sistem monitoring boiler. Ada tiga tipe
komunikasi serial yang digunakan yaitu USART, I2C dan SPI. USART digunakan untuk
komunikasi antara model simulator boiler dengan modul komunikasi serial, I2C digunakan
untuk menampilkan data yang diterima dari komunikasi sebelumnya (USART), dan SPI
1.2. Tujuan dan Manfaat Penelitian
Tujuan dari penelitian ini adalah membuat suatu alat komunikasi serial
menggunakan mikrokontroler Atmega16 untuk menampilkan data.
Manfaat dari penelitian ini adalah dapat menjadi sarana komunikasi serial
antara model simulator boiler dengan sistem monitoring.
1.3. Batasan Masalah
Agar Tugas Akhir ini bisa mengarah pada tujuan dan untuk menghindari terlalu
kompleksnya permasalahan yang muncul, maka perlu adanya batasan-batasan masalah
yang sesuai dengan judul dari tugas akhir ini. Adapun batasan masalah :
1. Komunikasi serial dengan sistem boiler menggunakan kabel serial RS 232
2. Menggunakan LCD 2x16 sebagai penampil data
3. Menggunakan dua buah mikrokontroler ATmega16 sebagai pengelolah data
yang diterima dari sistem boiler dan data tersebut akan ditampilkan pada LCD.
Dimana mikrokontroler A fungsinya digunakan untuk menerima data dari model
simulator boiler, sedangkan mikrokontroler B fungsinya untuk menerima data
dari mikrokontroler A dan data tersebut akan ditampilkan pada LCD 2x16.
4. Sakelar on-off digunakan sebagai penghubung dan pemutus aliran arus listrik 5. MAX232 digunakan sebagai buffer untuk komunikasi serial antara
mikrokontroler
6. Nilai baud rate dapat diatur dengan menggunakan standar kecepatan yang disediakan. Kecepatan nilai baud rate adalah 9600 bps
7. Menggunakan bahasa C dalam penulisan programny
1.4. Metodologi Penelitian
Berdasarkan pada tujuan yang ingin dicapai metode-metode yang digunakan dalam
penyusunan tugas akhir ini adalah:
1. Studi literatur, yaitu dengan cara mendapatkan data dengan membaca buku-buku
dan jurnal-jurnal yang berkaitan dengan permasalahan yang dibahas dalam tugas
2. Eksperimen, yaitu dengan langsung melakukan praktek maupun pengujian
terhadap hasil pembuatan alat dalam pembuatan tugas akhir ini.
3. Perancangan subsistem hardware ini mengacu pada gambar 1.1 diagram blok perancangan. Tahap ini bertujuan untuk mencari bentuk model yang optimal dari
sistem yang akan dibuat dengan mempertimbangan dari berbagai faktor-faktor
permasalahan dan kebutuhan yang telah ditentukan
4. Proses pengambilan data. Pengambilan data dilakukan setelah alat jadi dengan
cara menerima (receiver) masukan data dari pengirim (transmiiter).
LCD
ATmega16
Monitoring Model Boiler Secara Real Time Berbasis
Android Max 232
Simulator Boiler USART SPI
I2C
Gambar 1.1. Diagram Blok Perancangan
5. Proses pengambilan data. Pengambilan data akan dilakukan saat hardware sudah selesai atau jadi dan dilakukan dengan cara melihat output data yang dihasilkan. 6. Analisis dan penyimpulan data percobaan. Analisis data dilakukan dengan cara
mengecek kinerja alat (ketepatan data yang ditampilkan). Penyimpulan hasil
percobaan dapat dilakukan setelah selesai melakukan analisis.
4
BAB II
DASAR TEORI
2.1. Sistem Komunikasi
Kegunaan dasar dari sistem komunikasi adalah menjalankan pertukaran data antara
dua pihak. Pada gambar 2.1 dibawah ini merupakan suatu model komunikasi yang
sederhana yaitu komunikasi dua arah.
Gambar 2.1. Model Komunikasi Data Sederhana
2.1.1. Komunikasi Serial
Komunikasi serial ialah pengiriman data secara serial (data dikirim satu persatu
secara berurutan). Pada prinsipnya komunikasi serial merupakan komunikasi dimana
pengiriman data dilakukan per bit, sehingga lebih lambat dibandingkan komunikasi
parallel, atau dengan kata lain komunikasi serial merupakan salah satu metode komunikasi
data dengan hanya satu bit data yang dikirimkan melalui seuntai kabel pada suatu waktu
tertentu. Komunikasi serial dapat digunakan untuk menggantikan komunikasi parallel jalur
data 8-bit dengan baik. Komunikasi ini mempunyai suatu kelebihan yaitu hanya
membutuhkan satu jalur dan kabel yang sedikit dibandingkan dengan komunikasi
paralel.[1]
2.1.2. Data Transfer Rate
data transfer rate penamaannya mengacu pada jumlah bit dari byte data yang ditransfer setiap detik.[2]
Baud rate mengindikasikan seberapa cepat data dikirim melalui komunikasi serial.
Baud rate biasanya diberi satuan bit-per-second (bps), walaupun untuk kasus-kasus khusus (misalnya untuk komunikasi paralel), nilai bps dapat berbeda dengan nilai baud rate. sumsi asumsi saat ini kita fokus pada komunikasi serial, dimana setiap detak menyatakan transisi
satu bit keadaan. Jika hal ini dipenuhi, maka nilai baud rate akan sama dengan nilai bit-per-second (bps). Bit per detik ini mengartikan bahwa berapa bit data dapat ditransfer setiap detiknya. Jika kita menginverskan nilai bps ini, kita dapat memperoleh keterangan
berapa lama waktu yang dibutuhkan untuk mengirim 1 bit. [3]
Nilai baud rate dapat diatur dengan menggunakan standar kecepatan yang disediakan. Contoh modem dengan transmisi adalah 9.600 bps. Data yang dikirim dengan
kecepatan 9600 bit/detik, maka setiap bitnya memerlukan waktu selama 1/9600 = 104
mikrodetik/bit. Satu paket data untuk satu karakter terdiri dari 10 bit (8-bit data, 1-bit start
dan 1-bit stop). Dengan demikian, pengiriman satu karakter (yang terdiri dari 10-bit) akan membutuhkan waktu selama 10 x 104 mikrodetik = 1.040 mikrodetik = 1,04 milidetik.
Pada system yang sangat mementingkan integritas data yang disimpan, maka
ditambahkanlah bit paritas kepada bingkai data tersebut. Maksudnya untuk setiap karakter
8-bit kita masih menambahkan bit paritas disamping bit start dan bit stop. Adapun bit
paritas adalah bit yang menunjukkan bahwa data yang dimaksud adalah memiliki jumlah
bit 1s (high) ganjil atau genap. Bit paritas adalah bit di luar data yang bersangkutan atau merupakan tambahan.[4]
2.2. Mikrokontroler ATmega16
Mikrokontroler ATmega16 memiliki keunggulan dibandingkan dengan
mikrokontroler lainnya, keunggulan mikrokontroler ATmega16 yaitu pada kecepatan
eksekusi program yang lebih cepat karena sebagian besar instruksi 2 dieksekusi dalam 1
siklus clock, lebih cepat dibandingkan dengan mikrokontroler MCS51 yang memiliki arsitektur CISC (Complex Instruction Set Computer) di mana mikrokontroler MCS51 membutuhkan 12 siklus clock untuk mengeksekusi 1 instruksi. Selain itu mikrokontroler ATmega16 memiliki fitur yang lengkap (ADC internal, EEPROM internal, Timer/Counter,
berbagai aplikasi sistem elektronika seperti robot, otomasi industri, peralatan
telekomunikasi, dan berbagai keperluan lain.
Fitur mikokontroler ATmega16 sebagai berikut :[5]
1. Mikrokontroler ATmega16 yang memiliki 8 bit dan kemampuan tinggi dengan
daya rendah.
2. Arsitektur RISC dengan troughput mencapai 16 MIPS pada frekuensi 16 MHz. 3. Memiliki kapasitas Flash memori 16 KByte, EEPROM 512 Byte dan SRAM 1
KByte.
4. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan PortD.
5. Unit interupsi internal dan eksternal.
6. Fitur Peripheral yaitu tiga buah Timer/Counter, Real Time Counter dengan
Oscillator tersendiri, empat channel PWM, delapan channel 10-bit ADC,
Byteoriented Two-wire Serial Interface, Programmable Serial USART, antarmuka SPI, Wachdog Timer dengan oscillator internal, dan On-chip Analog Comparator.
2.2.1. Konfigurasi Pin ATmega16
Gambar 2.3 Konfigurasi kaki (pin) ATmega16 [6]
Konfigurasi pin ATmega16 dengan kemasan 40 pin Dual In-line Package (DIP) dapat dilihat pada Gambar 2.13. dari gambar diatas dapat dijelaskan fungsi dari
masing-masing pin ATmega16 sebagai berikut.
3. Port A (PA0 – PA7) merupakan pin input/output dua arah (full duplex) dan selain itu merupakan pin masukan ADC
4. Port B (PB0 – PB7) merupakan pin input/output dua arah (full duplex) dan selain itu merupakan pin khusus, seperti dapat dilihat pada tabel dibawah ini.
Tabel 2.1 Fungsi khusus port B.
Pin Fungsi Khusus
PB0 XCK (USART External Clock Input/Output)
T0 (Timer/Counter0 External Counter Input
PB1 T1 (Timer/Counter1 External Counter Input
PB2 INT2 (External Interupt 2 Input)
AIN0 (Analog Comparator Negative Input)
PB3 OC0 (Timer/Counter0 Output Compare Match Output)
AIN1 (Analog Comparator Negative Input)
PB4 (SPI Slave Select Input)
PB5 MOSI (SPI Bus Master Output / Slave Input) PB6 MISO (SPI Bus Master Input / Slave Output) PB7 SCK (SPI Bus Serial Clock)
5. Port C (PC0 – PC7) merupakan pin input/output dua arah (full duplex) dan selain itu merupakan pin khusus, seperti dapat dilihat pada tabel dibawah ini.
Tabel 2.2 Fungsi khusus port C.
Pin Fungsi Khusus
PC0 SCL (Two-wire Serial Bus Clock Line)
PC1 SDA (Two-wire Serial Bus Data Input/Output Line)
PC2 TCK (Joint Test Action Grup Test Clock) PC3 TMS (JTAG Test Mode Select)
PC7 TOSC2 (Timer Oscillator pin 2)
6. Port D (PD0 – PD7) merupakan pin input/output dua arah (full duplex) dan selain itu merupakan pin khusus, seperti dapat dilihat pada tabel dibawah ini.
Tabel 2.3 Fungsi khusus port D.
Pin Fungsi Khusus
PD0 RXD (USART Input Pin) PD1 TXD (USART Output Pin) PD2 INT0 (External Interupt 0 Input) PD3 INT1 (External Interupt 1 Input)
PD4 OC1B (Timer/Counter1 Output Compare B Match Output)
PD5 OC1A (Timer/Counter1 Output Compare A Match Output)
PD6 ICP (Timer/Counter1 Input Capture Pin)
PD7 OC2 (Timer/Counter2 Output Compare Match Output)
7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler 8. XTAL1 dan XTAL2, merupakan pin masukan external clock
9. AVCC merupakan pin masukan tegangan untuk ADC
10. AREF merupakan pin masukan tegangan referensi untuk ADC.
2.2.2. Pemrograman Mikrokontroler ATmega16
Pengembangan sebuah system menggunakan mikrokontroler AVR buatan ATMEL
menggunakan software AVR STUDIO dan CodeVision AVR. AVR STUDIO merupakan
software khusus untuk bahasa assembly yang mempunyai fungsi sangat lengkap, yaitu digunakan untuk menulis program, kompilasi, simulasi dan download program ke IC
mikrokontroler AVR dapat dilakukan pada CodeVision. CodeVision AVR memilki
fasilitas terminal, yaitu untuk melakukan komunikasi serial dengan mikrokontroler yang
menggunakan system download secara In-System Programming (ISP). ISP Flash On-chip
mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan
hubungan serial SPI.
2.2.3. Bahasa C Pada AVR ATmega16
Mikrokontroler AVR dapat pula menggunakan bahasa C dalam penulisan
programnya, sehingga dapat memudahkan dan mempersingkat instruksi-intruksi yang
digunakan dalam bahasa assembly. Dalam pembuatan program yang menggunakan fungsi atau aritmatika, bahasa C menawarkan kemudahan dengan menyediakan fungsi-fungsi
khusus, seperti pembuatan konstanta, operator aritmatika, operator logika, operator bitwise
dan operator Assigment. Selain itu, bahasa C menyediakan program kontrol seperti: Percabangan (if dan if…else), Percabangan switch, Looping (for, while dan do…while),
Array, serta fungsi-fungsi lainnya. Di bawah ini merupakan contoh penulisan program dalam bahasa C untuk mikrokontroler AVR ATmega16.
Preprocessor digunakan untuk memasukkan text dari file lain, mendefinisikan macro yang dapat mengurangi beban kerja pemrograman dan Program Utama preprocessor
inisialisasi 25 meningkatkan legability source code (mudah dibaca). Inisialisasi merupakan pengaturan awal yang akan dibutuhkan dalam membuat suatu program.[7]
2.3. LCD (Liquid Cristal Display)
LCD (Liquid Cristal Display) berfungsi untuk menampilkan karakter angka, huruf ataupun simbol dengan lebih baik dan dengan konsumsi arus yang rendah. LCD (Liquid Cristal Display) dot matrik M1632 merupakan modul LCD buatan hitachi. Modul LCD
(Liquid Cristal Display) dot matrik M1632 terdiri dari bagian penampil karakter (LCD) yang berfungsi menampilkan karakter dan bagian sistem prosesor LCD dalam bentuk
modul dengan mikrokontroler yang diletakan dibagian belakan LCD tersebut yang
berfungsi untuk mengatur tampilan LCD serta mengatur komunikasi antara LCD dengan
mikrokontroler yang menggunakan modul LCD tersebut. LCD yang digunakan adalah tipe
Gambar 2.4 Bentuk LCD (Liquid Cristal Display)
Modul prosesor M1632 pada LCD tersebut memiliki memori tersendiri sebagai berikut :
1. CGROM (Character Generator Read Only Memory)
2. CGRAM (Character Generator Random Access Memory) 3. DDRAM (Display Data Random Access Memory)
Fungsi Pin LCD (Liquid Cristal Display) Dot Matrix 2×16 M1632
1. DB0 – DB7 adalah jalur data (data bus) yang berfungsi sebagai jalur komunikasi untuk mengirimkan dan menerima data atau instruksi dari mikrokontrooler ke
modul LCD.
2. RS adalah pin yang berfungsi sebagai selektor register (register sellect) yaitu
dengan memberikan logika low (0) sebagai register perintah dan logika high (1) sebagai register data.
3. R/W adalah pin yang berfungsi untuk menentukan mode baca atau tulis dari data yang terdapat pada DB0 – DB7, yaitu dengan memberikan logika low (0) untuk fungsi read dan logika high (1) untuk mode write.
2.4. Komunikasi Data Melalui RS232
RS232 adalah suatu standar komunikasi serial transmisi data antar dua peralatan
elektronik. RS232 dibuat pada tahun 1962 oleh Electronic Industry Association and Telecomunication Industry Association dan ada dua hal pokok yang diatur oleh RS232, yaitu bentuk signal dan level tegangan yang dipakai. Selain digunakan pada peralatan PLC,
sebenarnya sistem RS232 ini sering berhubungan dengan kita pada kehidupan sehari-hari,
antara lain komunikasi PC komputer dengan mouse, keybord atau scanner. Satu hal yang jelas adalah RS323 ini akan diaplikasikan pada semua sistem peralatan yang berbasis
Komunikasi data secara serial dilakukan dengan metode pengiriman data secara bit
per bit atau satu per satu secara berurutan dan itu berbeda dengan sistem paralel yang
mengirim data secara serentak. kecepatan transfer data RS232 cukup rendah, kecepatan
maksimal hanya 19200 bits/sekon. Pengiriman data bisa dilakukan secara satu arah atau
dua arah. Jika hanya membutuhkan komunikasi satu arah maka cukup menggunakan dua
kabel yaitu kabel “Tx” sebagai pengirim data dan kabel “Rx” sebagai penerima data.
Sedangkan, untuk membuat sistem komunikasi dua arah maka kabel yang dibutuhkan
adalah 3 unit kabel, yaitu kabel Tx, Rx dan GND (ground).
Standar ini menggunakan beberapa piranti dalam implementasinya. Paling umum
yang dipakai adalah plug/konektor DB9 atau DB25.
2.4.1. Prinsip Kerja RS232
Komunikasi data secara serial dilakukan dengan metode untuk mengirimkan data
dari sebuah pengirim secara bit per bit dengan kecepatan tertentu (bit per detik/bps), dan
pengiriman dilakukan melalui jalur satu kawat (Tx) dan diterima oleh sebuah penerima
(Rx) dalam waktu tertentu. Oleh karena komputer penerima dapat berfungsi sebagai
pengirim begitu juga pengirim juga dapat berfungsi sebagai penerima, maka komunikasi
[image:30.595.83.526.228.615.2]dapat dilakukan dalam dua arah. Seperti yang ditunjukan pada gambar 2.5. di bawah ini.
Gambar 2.5. Komunikasi data serial
2.4.2. Konektor RS232
Konektor DB9 atau DB25 digunakan sebagai penghubung antar devais, RS232
dengan konektor DB9 dipakai untuk mouse, modem dan lain-lain. Sedang konektor DB25 dipakai untuk joystik game. Serial port RS232 dengan konektor DB9 memiliki 9 buah pin dan pada konektor DB25 memiliki pin 25 buah.[10]
Tabel 2.5. Fungsi pin konektor DB25 dan DB9.
Fungsi pin berdasarkan tabel di atas dapat dijelaskan sebagai berikut:
1. Signal Ground (SG) berfungsi untuk memberikan masa (ground) pada setiap sinyal secara bersama (common signal ground).
2. Transmit Data (TX) berfungsi sebagai saluran keluarnya data dari UART atau sebagai pengirim data ke devais secara serial.
3. Receiver Data (RX) berfungsi sebagai saluran masuknya data ke UART atau sebagai penerima data dari devais secara serial.
4. Data Terminal Ready (DTR) berfungsi sebagai pemberi informasi status ke devais terkoneksi bahwa UART telah siap. Saat terkoneksi dan berkomunikasi
dengan devais DTR perlu beri logika 1.
5. Data Set Ready (DSR) berfungsi untuk menerima informasi status devais bahwa devais siap untuk diakses oleh komputer melalui UART.
6. Request to Send (RTS) berfungsi sebagai isyarat permintaan UART ke devais untukmemfasilitasi bahwa UART akan mengirimkan data ke devais.
7. Clear to Send(CTS) berfungsi sebagai penerima jawaban atas pengiriman isyarat RTS bila modem / piranti telah menerima data.
8. Data Carrier Detect (DCD) berfungsi sebagai penerima isyarat agar komputer bersedia menerima data pada pada waktu tertentu.
9. Ring Indicator (RI) berfungsi menerima isyarat dari modem bahwa ada devais
(eksternal) yang membutuhkan koneksi dalam rangka pengiriman atau permintaan data.
Gambar 2.6. RS232 pin out (DB9)
2.4.3. Keuntungan Komunikasi Secara Serial
Antar muka komunikasi serial menawarkan beberapa kelebihan dibandingkan
dengan komunikasi pararel, diantaranya:[10]
1. Kabel untuk komunikasi serial bisa lebih panjang dibandingkan dengan pararel.
Data-data dalam komunikasi serial dikirimkan untuk logika ‘1’ sebagai
tegangan -3 s/d -25 volt dan untuk logika ‘0’ sebagai tegangan +3 s/d +25 volt,
dengan demikian tegangan dalam komunikasi serial memiliki ayunan tegangan
maksimum 50 volt, sedangkan pada komunikasi pararel hanya 5 volt. Hal ini
menyebabkan gangguan pada kabel-kabel panjang lebih mudah diatasi
dibanding dengan pararel.
2. Jumlah kabel serial lebih sedikit. Dua perangkat komputer yang berjauhan
dengan hanya tiga kabel untuk konfigurasi null modem, yakni TxD (saluran
kirim), RxD (saluran terima) dan ground, akan tetapi jika menggunakan komunikasi pararel akan terdapat dua puluh hingga dua puluh lima kabel.
3. Komunikasi serial dapat diterapkan untuk berkomunikasi dengan
mikrokontroler.
Hanya dibutuhkan dua pin utama TxD dan RxD (diluar acuan ground).
2.4.4. MAX232
Sinyal TTL dari mikrokontroler nantinya akan diubah menjadi RS232 oleh IC
Gambar 2.7. Rangkaian MAX232
IC MAX232 ini digunakan sebagai buffer untuk komunikasi serial antara mikrokontroler
dengan komputer. Pada dasarnya komputer dan mikrokontroler sama-sama memiliki
sebuah port untuk komunikasi serial. Namun pada mikrokontroler sinyal levelnya adalah
TTL ( 5 Volt ) sedangkan pada komputer sinyal levelnya sebesar 25 Volt atau lebih dikenal
dengan RS232. Oleh karena itu tidak dapat langsung menghubungkan pin Rx pada
mikrokontroler dengan pin Tx pada komputer atau sebaliknya. Membutuhkan sebuah level
konverter, IC MAX232 ini yang digunakan menjadi sebuah level konverter.
2.5. USART
USART (Universal Synchronous and Ansynchronous Serial Receiver and Transmitter) adalah protokol komunikasi serial antara PC dengan komponen elektronika lainnya, salah satunya adalah mikrokontroler. USART juga digunakan sebagai alat
komunikasi antara satu mikrokontroler dengan mikrokontrol lain maupun dengan port expander. Hal terpenting dalam komunikasi USART antara mikrokontroler adalah diperlukannya driver penghubung yaitu IC RS232 yang berfungsi mengkonversi perbedaan
logic. Hal lain yang perlu diperhatikan adalah setting baudrate dan clock yang digunakan mikrokontroler tersebut. USART (Universal Syncronous Asyncronous Receiver/Transmiter) pada mikrokontroler ATmega16 memiliki beberapa keuntungan diantaranya ialah operasi full duplex (memiliki register receiver dan transmiter yang terpisah), mendukung komunikasi multiprosesor dan kecepatan transmisi berorde Mbps.
2.5.1. Register Komunikasi Serial Usart
Pada mikrokontroler AVR untuk mengaktifkan dan mengatur komunikasi USART
dilakukan dengan cara mengaktifkan register-register yang digunakan untuk komunikasi
USART harus diatur sedemikian rupa agar komunikasi dapat berlangsung dengan baik,
berikut register-register pada komunikasi serial USART antara lain :
1. USART I/O Data Register
(UDR) digunakan sebagai penyangga (buffer) data yang akan dikirimkan dan penyangga data yang diterima. Transmit data buffer register (TXB) berfungsi sebagai penyangga data yang akan ditulis ke dalam register UDR. Sedangkan
receiver data buffer register (RXB) berfungsi sebagai penyangga data yang diterima oleh register UDR. Register UDR untuk penyangga transmitter hanya dapat ditulis ketika bit/flag UDRE dalam register UCSRA dalam keadaan set. Gambar 2.5 menunjukkan register USART transmitter dan receiver pada UDR sebagai berikut :
Gambar 2.5. Avr Usart Tx dan Rx
2. USART Control and status register A
Gambar 2.6. Register UCSRA
a) Bit 7 RXC : sebagai flag (tanda) bahwa penerimaan data1 byte telah selesai dan
data bisa dibaca pada register UDR.
b) Bit 6 TXC : sebagai flag (tanda) bahwa pengiriman data1 byte telah selesai
[image:34.595.86.525.170.692.2]Gambar 2.7. Register UCSRB
a) Bit 7 RXCI : mengatur interupsi penerimaan data serial. Nilai awal 0 dan akan
bernilai 1 jika RXC = 1.
b) Bit 6 TXCIE : mengatur interupsi pengiriman data serial. Nilai awal 0 dan akan
bernilai 1 jika TXC = 1.
c) Bit 4 RXEN : mengaktifkan penerimaan RX.
d) Bit 3 TXEN : mengaktifkan pengiriman TX.
e) Bit 2 UCSZ2 : menentukan panjang karakter yang akan dikirimkan. Register ini
digunakan bersamaan dengan register UCSZ0 dan UCSZ1 yang terdapat pada
register UCSRC
4. USART Control and status register C
Gambar 2.8. Register UCSRC
a) Bit 7 URSEL : karena UCSRC dan UBRRH memakai alamat yang sama maka
fungsi bit ini adalah memutuskan register mana yang akan "ditulis". Jika bernilai
1 maka data akan ditulis ke UCSRC dan jika bernilai 0 maka data akan ditulis di
UBRRH.
b) Bit 6 UMSEL : menentukan apakah komunikasi sinkron atau asinkron. Bernilai
0 maka komunikasi asinkron dan jika bernilai 1 maka komunikasi sinkron.
c) Bit 3 USBS : Usart Stop Bit Select jika bernilai 0 maka stop bit-nya 1 dan jika
bernilai 1 stop bit-nya 2.
d) Bit 2 UCSZ1 dan bit 1 UCSZ0 : bersamaan dengan UCSZ2 menentukan
panjang bit yang akan digunakan. Umumnya 8 bit tetapi anda bisa memilih
2.6. SPI (SERIAL PERIPHERAL INTERFACE)
SPI (serial peripheral interface) merupakan salah satu metode pengiriman data dari suatu devais ke devais lainnya. Metode ini merupakan metode yang bekerja pada
[image:36.595.83.528.193.628.2]metode full duplex dan merupakan standar sinkronasi serial data link yang dikembangkan oleh Motorola. ). Cara kerja protokol SPI ditunjukkan pada gambar 2.9 di bawah ini :
Gambar 2.9. Cara kerja protokol SPI
Pada SPI, devais dibagi menjadi dua bagian yaitu master dan slave dengan master sebagai devais yang menginisiasi pengiriman data. Dalam aplikasinya, sebuah master
dapat digunakan untuk mengatur pengiriman data ke beberapa slave (Multipoint).
2.6.1. Pin
–
Pin Penghubung pada SPI
Komunikasi serial data antara master dan slave pada SPI diatur melalui 4 buah pin yang terdiri dari SCLK, MOSI, MISO, dan SS. Berikut ini adalah penjelasan singkat
mengenai ke 4 pin tersebut: SCLK (serial clock) merupakan data biner yang keluar dari master ke slave yang berfungsi sebagai clock dengan frekuensi tertentu. Clock
merupakan salah satu komponen prosedur komunikasi data SPI. Dalam beberapa
devais, istilah yang digunakan untuk pin ini adalah SCK.
MOSI (master out slave input) merupakan pin yang berfungsi sebagai jalur data pada saat data keluar dari master dan masuk ke dalam slave. Istilah lain untuk pin ini antara lain SIMO, SDI, DI, dan SI.
MISO (master input slave output) merupakan pin yang berfungsi sebagai jalur data yang keluar dari slave dan mesuk ke dalam master. Istilah lain untuk pin ini adalah SOMI, SDO, DO, dan SO.
Pin SCLK, MOSI, dan SS merupakan pin dengan arah pengiriman data dari master ke slave. Sebaliknya, MISO mempunyai arah komunikasi data dari slave ke master. Pengaturan hubungan antara pin SDO dan SDI harus sesuai dengan ketentuan.
Pin SDO pada master harus dihubungkan dengan pin SDI pada slave, begitu juga sebaliknya. Hal ini penting untuk diperhatikan untuk menghindari terjadinya kesalahan
prosedur pada pengiriman data. Istilah pin-pin SPI untuk berbagai devais mungkin saja mempunyai istilah yang berbeda dengan istilah di atas tergantung produsen yang
membuatnya.
SPI pada AVR merupakan salah satu peripheral sederhana dalam programingnya.
AVR memiliki arsitektur 8 bit mikrokontroler, sehingga SPI pada AVR juga 8 bit. Bahkan
biasanya bus SPI juga mempunyai nilai 8 bit. Pada AVR, port SPI berada pada PORT B baik untuk yang mempunyai kaki 28 ataupun 40.
2.6.2. Register Komunikasi SPI
Ada tiga register yang terdapat pada SPI di AVR:
1. SPCR
SPI Control Register merupakan register dari Master Device. Berisi Bit inisialisasi dari AVR dan kontrol data dari Master Device .
2. SPSR
SPI Status Register merupakan register status dari AVR, digunakan untuk membaca
status komunikasi dari Bus SPI.
3. SPDR
SPI Data Register merupakan register data dari SPI dimana untuk membaca atau
mengirim data yang sebenarnya.
2.6.2.1. SPI Control RegIster (SPCR)
Seperti namanya, SPCR adalah register untuk mengontrol dari SPI. Terdapat Bit
[image:37.595.87.529.245.608.2]dimana kita menemukan bit untuk mengenable SPI, mengatur clock atau kecepatan dari SPI, mengatur mode operasi seperti master/slave. Berikut ini adalah gambar isi dari SPCR:
Bit 7: SPIE – SPI Interrupt Enable
SPIE adalah bit yang digunakan untuk mengaktikfkan interupsi dari SPI. Untuk mengaktifkannya, Global interrupt dari AVR harus diaktifkan terlebih dahulu. Set bit ini pada kondisi high atau 1 untuk mengaktifkan interrupt SPI.
Bit 6: SPE – SPI Enable
SPE adalah bit yang digunakan untuk mengaktifkan SPI secara keseluruhan. Jika bit ini di-set pada kondisi high atau 1 maka SPI akan aktif dan yang lain akan dimatikan. Saat SPI diaktifkan, port kaki dari AVR masih bisa berfungsi sebagai
Input-Output itu sendiri. Bit 5: DORD – Data Order
Data order adalah mode pengiriman apakah MSB dulu atau LSB dulu. Set bit
ini pada kondisi high atau 1 jika ingin mengirimkan 4 bit yang kecil (LSB) dulu.
Namun jika ingin mengirim MSB dulu maka set bit ini pada kondisi low atau 0. Bit 4: MSTR – Master/Slave Select
Bit ini digunakan untuk menyetting hardware sebagai master atau sebagai
slave. Jika ingin menyetting sebagai master maka set bit ini pada kondisi high atau 1 (clock dihasilkan dari device lain). Jika bit di set low atau 0 maka device bertindak sebagai slave.
Bit 3: CPOL – Clock Polarity
Bit ini digunakan untuk memilih polaritas clock pada saat kondisi idle. Set bit ini pada kondisi high atau 1 untuk mengaktifkan clock tinggi pada saat idle, dan sebaliknya mengatur bit ini low atau 0 untuk mengaktifkan clock rendah pada saat idle.
Artinya saat bit CPOL bernilai low maka clock SCK akan bersifat rising edge, dan jika pada kondisi high maka SCK akan bersifat Falling Edge. (Rising adalah perubahan pulsa pada saat 0 ke 1, falling sebaliknya adalah kondisi pada saat pulsa berubah dari 1 ke 0).
Bit 2: CPHA – Clock Phase
Bit inidigunakanuntuk sampling data. Set Bit satuatau high untuk sampling data saat SCK dalam edge yang pertama, set bit 0 atau low untuk sampling data saat sck dalam edge
yang kedua.
Bit 1,0: SPR1, SPR0 – SPI Clock Rate Select
Digunakan untuk memilih pembagi atau prescaller dari clock SPI, dimana FOSC
2.6.2.2. SPI Data Register (SPDR)
SPI Data register adalah register yang digunakan untuk menyimpan data baik yang akan dikirim maupun yang sudah di terima.
Gambar 2.12. SPDR Register
Bit ke 7 adalah bit Most Significant Bit (MSB) dan Bit yang ke 0 adalah bit Least
Significant Bit (LSB). Sekarang kita bisa sambungkan ke Bit ke 5 SPCR, jika MSB yang
dikirim duluan maka Bit 4 hingga 7 dari data registerlah yang akan dikirim pertama,
namun jika LSB yang dikirim pertama maka Bit 0 hingga Bit 3 lah yang akan dikirim
duluan.[12]
2.7. I2C (Inter Integrated Circuit )
Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun
menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang
dihubungkan dengan sistem I2C bus dapat dioperasikan sebagai Master dan Slave. Master adalah piranti yang memulai transfer data pada I2C bus
dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop, dan membangkitkan sinyal clock. Slave adalah piranti yang dialamati master.
Gambar 2.13. Kondisi sinyal start dan stop
Sinyal dasar yang lain dalam I2C bus adalah sinyal acknowledge yang disimbolkan dengan ACK Setelah transfer data oleh master berhasil diterima slave, slave akan menjawabnya dengan mengirim sinyal acknowledge, yaitu dengan membuat SDA menjadi “0” selama siklusclock ke 9. Ini menunjukkan bahwa Slave telah menerima 8 bit data dari Master. Gambar 2.14 merupakan sinyal ACK dan NACK
Gambar 2.14. Sinyal ACK dan NACK
Dalam melakukan transfer data pada I2C Bus, harus mengikuti tata cara yang telah ditetapkan yaitu :
1. Transfer data hanya dapat dilakukan ketikan Bus tidak dalam keadaan sibuk. 2. Selama proses transfer data, keadaan data pada SDA harus stabil selama SCL
dalam keadan tinggi. Keadaan perubahan “1” atau “0” pada SDA hanya dapat dilakukan selama SCL dalam keadaan rendah. Jika terjadi perubahan keadaan
SDA pada saat SCL dalam keadaan tinggi, maka perubahan itu dianggap sebagai
sinyal Start atau sinyal Stop.
2.7.1. Register Komunikasi I2C
I2C (Inter-Integrated Circuit) umumnya disebut sebagai “two-wire interface”.
Gambar 2.15. Konfigurasi sistem I2C
Pada komunikasi I2C terdapat perangkat master dan slave. Master adalah perangkat yang mengatur jalur clock SCL. Sedangkan slave adalah perangkat yang merespon perintah
master. Slave tidak dapat mengirim sinyal untuk dapat mentransfer data pada jalur I2C, hanya master yang dapat melakukannya.
Berikut adalah Gambar 2.16 timing diagram dari sebuah master yang ingin meminta data yang terdiri dari dua sekuen khusus yang ditetapkan untuk I2C yaitu Start dan Stop.
Gambar 2.17. Timing diagram
Data terdiri dari 8 bit dan menjadi 9 bit dengan bit terakhir adalah ACK
(Acknowledge). ACK (Acknowledge) adalah sinyal yang dikirim oleh sinyal penerima. Jika perangkat penerima mengirim kembali bit low ACK, karena sudah menerima data dan berarti siap menerima data selanjutnya. Jika sinyal ACK yang dikirim adalah high maka perangkat tersebut tidak dapat menerima data lebih lanjut dan master harus menghentikan transfer dengan mengirim Stop sequence.
Semua pengalamatan I2C terdiri dari 7 bit atau 10 bit. Penggunaan pengalamatan 10 bit jarang. Biasanya yang banyak digunakan adalah pengalamatan 7 bit. Data yang terdiri dari 9 bit terdapat R/W sebagai bit pengatur apakah maksud dari master adalah untuk
write/menulis (nilai R/W bit = 0) data atau read/membaca (nilai R/W bit = 1) data dari
24
BAB III
RANCANGAN PENELITIAN
3.1. Proses Kerja Sistem
Bab ini menjelaskan tentang perancangan alat secara umum dari hardware dan
software.
Perancangan alat ini terdiri dari beberapa bagian utama, yaitu IC Atmega16, IC
MAX 232, LCD 2x16. Kegunaan IC MAX232 atau lebih dikenal dengan RS232 adalah
sebagai driver, yang akan mengkonversi tegangan atau kondisi logika TTL dari hardware
agar sesuai dengan tegangan pada mikrokontroler sehingga data dapat dibaca.
Mikrokontroler Atmega16 berfungsi untuk mengatur dan memproser input data yang
diterima dari sistem boiler. LCD yang digunakan adalah tipe LCD 2x16. LCD berfungsi
untuk menampilkan data-data yang telah diatur dan diterima. Sistem ini merupakan
fullduplex atau komunikasi dua arah yakni pengirimin (Tx) dan penerima (Rx). Bagian utama dari sistem tersebut memggunakan dua buah mikro dimana fungsinya sebagai
master dan slave. Arsitektur umum sistem ditunjukan seperti diagram blok pada gambar
3.1.
Gambar 3.1. Diagram Blok Keseluruhan Sistem
3.2. Kebutuhan Perangkat Keras
Ada beberapa komponen dalam perancangan sub sistem keras komunikasi serial diantaranya adalah sebagai berikut :
3. Minimum sistem IC MAX 232 4. Kabel RS-232
3.3. Perancangan Perangkat Keras Mekanik
Perancangan ini merupakan desain modul komunikasi serial akan dibuat dengan
bentuk gambar 3 dimensi, yang nantinya akan menjadi panduan untuk membuat alat yang
sebenarnya. Pada perancangan boks untuk tempat model komunikasi serial, bahan yang
digunakan adalah bahan jenis mika (plastik keras). Pada gambar 3.2 ditunjukkan desain
untuk komunikasi serial dengan ukuran panjang x lebar x tinggi adalah 25cm x 15cm x
5cm.
Didalam boks tersebut akan terpasang minimum sistem ATmega16 dan rangkaian
RS232. Sementara untuk meletakkan koneksi port serial USART dan SPI disamping kotak
boks. Untuk LCD 2x16 posisinya dapat diletakkan di atap boks. Desain boks di tunjukkan
pada gambar 3.2 a dan b.
a. Gambar Tampak Atas b. Gambar Tampak Samping
3.4. Perancangan Perangkat Keras Elektronika
3.4.1. Perancangan Minimum Sistem dan Display LCD 2x16
Minimum sistem merupakan pusat kontrol dan pengolahan data dari simulator
boiler. Display LCD merupakan perangkat interface untuk menampilkan hasil data yang diterima dari simulator boiler.
Dalam perancangan ini terdapat dua buah IC ATmega16 yaitu mikrokontroler A
dan mikrokontroler B yang memiliki fungsi masing-masing. Mikrokontroler A fungsinya
digunakan untuk menerima data dari model simulator boiler. Data yang diterima berupa
data parameter boiler. Mikrokontroler B fungsinya digunakan untuk menerima data dari
Gambar 3.2 merupakan minimum sistem dengan IC mikrokontroler ATmega16
sebagai komponen utama. Pada minimum sistem ditambahkan rangkaian clock ekstrnal. Nilai kapasitor C1=C2=C4=C5= 22pF dan C3=C6= 100nF sesuai dengan datasheet
ATmega16, yang berfungsi mengoptimalkan clock yang dihasilkan dari Crystal 11.0592 MHz. Nilai kapasitor dan resistor R1=R2=10K dimana fungsinya sebagai pembatas arus
[image:44.595.85.527.217.638.2]yang mengalir ke rangkaian, serta push button merupakan bagian dari rangkaian reset.. Gambar minimum sistem dan display LCD 2x16 seperti ditunjukan pada gamabar 3.2.
Gambar 3.3. Minimum Sistem dan Display LCD 2x16
3.4.2. Perancangan Rangkaian RS-232
RS232 adalah standard komunikasi serial yang digunakan untuk koneksi periperal ke periperal. Biasa juga disebut dengan jalur I/O ( input / output ).
Fungsi dari serial port RS232 adalah untuk menghubungkan / koneksi dari perangkat yang satu dengan perangkat yang lain, atau peralatan standard yang menyangkut komunikasi data antara mikrokontroler. Pada IC MAX232 terdapat pin untuk komunikasi
serial yaitu Rx dan Tx. Rx digunakan untuk mengirimkan data secara serial sedangkan Tx
digunakan untuk menerima data secara serial.
Pada mikrokontroler ATmega16, pin D0 dan D1 digunakan untuk komunikasi serial
usart (Universal Synchronous and Asynchronous Serial Receiver And Transmiter) yang mendukung komunikasi full duplex (komunikasi dua arah). Dengan fasilitas Rx dan Tx ini mikrokontroler bisa berkomunikasi secara serial usart baik antara devais. Sistem
komunikasi ini, jumlah data yang diterima merupakan data 8 bit dan data yang akan
diterima dari model simultor boiler ada lima buah parameter sebagai berikut :
1. Temperatur
2. Tekanan
3. Level air
4. Level oli
5. Blower
Nilai komponen C7=C8=C9=C10=10uF pada rangkaian RS232 mengacu pada datasheet
IC MAX232. Gambar rangkaian RS232 seperti ditunjukkan pada gambar 3.3.
Rancangan program ini dibuat kedalam bentuk flowchart, guna mempermudah proses pembuataan listing program. Program mikrokontroler yang akan dibuat menggunakan bahasa C, kemudian program tersebut disusun (compile) secara otomatis ke dalam bentuk file *.hex untuk dimasukan ke dalam IC ATmega16. Listing program yang akan dibuat meliputi:
1. Komunikasi Serial Usart
2. Komunikasi I2C
3. Komunikasi SPI
3.5.1. Diagram Alir Utama
Diagram alir utama ditunjukkan pada gambar 3.5. Program utama menunjukkan
proses mikrokontroler keseluruhan.
START
INISIALISASI
TERIMA DATA DARI MODEL SISTEM
BOILER
KOMUNIKASI DENGAN SISTEM PENAMPIL
KIRIM PAKET DATA
APAKAH ADA DATA FEEDBACK ?
KOMUNIKASI DENGAN SISTEM MODEL SIMULATOR BOILER END YA TIDAK
Gambar 3.5. Diagram Alir Utama
Setelah start, program melakukan inisialisasi terhadap port-port mikrokontroler yang digunakan untuk proses pengendalian alat. Proses pengiriman data dari sistem model boiler
sistem panampil dan sistem monitoring boiler. Data yang di terima oleh sistem monitoring
berupa sebuah paket data.
Pada saat data parameter yang diterima oleh sistem monitoring boiler melebihi atau kurang dari batas yang ditentukan (set point) , maka sistem monitoring dapat melakukan umpan balik (feedback) ke model sistem boiler. Timing (pewaktuan) yang dibutuhkan untuk proses pengiriman dan penerimaan harus sinkron supaya tidak terdapat ada
kesalahan atau error.
3.5.2. Diagram Alir Komunikasi Serial Dengan Sistem Boiler
Diagram alir modul serial komunikasi dengan sistem boiler, data yang akan dikirim
dengan menggunakan cara komunikasi serial USART. Setelah start, program melakukan inisialisasi terhadap port-port mikrokontroler A. Setelah data parameter dari sistem model boiler diterima kemudian data tersebut dapat diproses lebih lanjut oleh mikrokontroler A.
Ketika pemrosesan data parameter pada mikrokontroler A sudah selesai maka data
tersebut akan dikirim ke mikrontroler B. Gambar diagram alir model serial komunikasi
dengan sistem boiler dapat ditunjukkan pada gambar 3.6.
START
INISIALISASI
TERIMA DATA
DATA DI KIRIM ?
MIKRO B
END
TIDAK
YA
3.5.3. Diagram Alir Komunikasi Serial Dengan Sistem Penampil
Berikut ini menjelaskan komunikasi serial antara mikrokontroler A dengan
mikrokontroler B menggunakan cara komunikasi serial I2C. Untuk komunikasi ini sendiri
merupakan komunikasi satu arah dimana mikrokontroler A sebagai pemancar (TX) dan
mikrokontroler B sebagai penerima (RX).
Setelah start, program melakukan inisialisasi terhadap port-port mikrokontroler B. Saat proses penguraian data parameter pada mikrokontroler B sudah selesai dan data
tersebut akan ditampilkan pada LCD 2x16. Gambar 3.7 merupakan diagram alir serial
komunikasi sistem penampil.
START
INISIALISASI
PROSES PENGURAIA
N DATA
MENAMPILKAN DATA
[image:48.595.85.512.207.628.2]END
Gambar 3.7. Diagram Alir Komunikasi Serial dengan Sistem Penampil
Proses penguraian data dari sistem model simulator boiler akan dilakukan secara
berurutan atau satu per satu. Parameter yang akan diterima langsung tampil di LCD. Data
yang diterima pada sistem penampil ini akan sama dengan data yang akan dikirimkan dari
sistem model simulator boiler. Setiap parameter akan diberi kode seperti terlihat pada tabel
Tabel 3.1. Kode parameter boiler
No Parameter Kode Satuan
1 Temperatur T C (C)
2 Tekanan P bar (b)
3 Level Air A ton (t)
4 Level Oli O meter kubik(m3)
5 Blower B -
Setiap parameter yang diterima akan diberikan kode ASCII (American Standard Code for Information Interchange). Contohnya untuk kondisi blower di LCD akan ditampilkan “B=1”, dimana B merupakan kode dari blower dan 1 menunjukan kondisi
blower sedang ON. Kode ASCII (American Standard Code for Information Interchange)
[image:49.595.81.527.235.617.2]dari B=1 dalam bentuk desimal dan biner ditunjukan pada tabel 3.2. Tabel 3.2. Karakter ASCII “B=1” dalam desimal dan biner
ASCII Desimal Biner
B 11 00001011
= 61 00111101
1 1 00000001
Data yang terima lebih dahulu adalah LSB (least significant bit). LSB merupakan bit yang paling kanan. Dengan demikian, gambaran paket data dari “B=1” yang akan
diterima diperlihatkan seperti pada gambar 3.8.
Gambar 3.8. Paket data serial “B=1”
Karena data diterima dengan kecepatan 9600 bit/detik, maka setiap bitnya
memerlukan waktu selama 1/9600 = 104 mikrodetik/bit. Satu paket data untuk satu
karakter terdiri dari 10 bit (8-bit data, 1-bit start dan 1-bit stop). Dengan demikian,
penerimaan satu karakter (yang terdiri dari 10-bit) akan membutuhkan waktu selama 10 x
membutuhkan waktu sekitar 3 milidetik pada kecepatan 9600 bps. Jika ingin mengirim
karakter yang lain, dapat mengacu pada tabel 3.8. untuk tiap-tiap karakter ASCII.
Untuk menerima dan menampilkan data parameter yang diatur menggunakan LCD
2x16. Data yang akan ditampilkan pada sistem penampil sama dengan data yang akan
dikirim oleh model simulator boiler. Data yang akan diterima merupakan parameter yang
sudah diatur oleh model simulator boiler. Setiap parameter akan diberi simbol atau kode
sebagai berikut :
1. Temperatur : T dengan satuan C (C)
2. Tekanan : P dengan satuan bar (b)
3. Level Air : A dengan satuan ton (t)
4. Level Oli : O dengan satuan liter (L)
5. Blower : B dengan kondisi (OFF : 0 dan ON : 1)
[image:50.595.84.519.170.770.2]Pada gambar 3.9. merupakan contoh dari tampilan data yang diharapkan pada LCD.
Gambar 3.9. Contoh Data yang Akan Ditampilkan
Tujuan pemberian kode agar data yang sudah dikirim oleh model simulator boiler
dapat dikenali atau dibaca oleh mikrokontroler dari modul komunikasi serial sebelum data
tersebut ditampilkan pada LCD.
3.5.4. Diagram Alir Komunikasi Serial Dengan Sistem Monitoring
Diagram alir komunikasi serial dengan sistem monitoring menggunakan cara komunikasi serial SPI dan komunikasi ini merupakan komunikasi dua arah. Disebut
sebagai komunikasi dua arah karena komunikasi sistem yang satu berfungsi sebagai
pemancar (TX) dan yang satu sebagai penerima (RX) dan begitu sebaliknya. Setelah start, program melakukan inisialisasi terhadap port-port mikrokontroler A. Jadi parameter data
input dari sistem boiler akan diterima oleh mikrokontroler A, selanjutnya data pada mikrokontroler A tersebut akan dikirim dan ditampilkan di bagian sistem monitoring.
Pada saat data parameter nilainya melebihi atau kurang dari batas yang ditentukan
(set point), sehingga sistem monitoring akan melakukan umpan balik (feedback) ke model simulatorboiler untuk mematikan blower. Gambar diagram alir modul serial komunikasi dengan sistem monitoring dapat ditunjukkan pada gambar 3.10.
STAR
INISIALISASI
INPUT BOILER
AMBIL DATA ?
[image:51.595.88.531.332.745.2]KIRIM DATA KE SISTEM MONITORING DATA DITAMPILKAN ADA DATA FEEDBACK ? END TIDAK YA TIDAK YA
34
BAB IV
HASIL DAN PEMBAHASAN
Bab ini berisi tentang gambar fisik hardware yang dibuat. Hardware yang dibuat bertujuan untuk mengimplementasikan rancangan dari alat yang sudah dibahas dalam bab
III. Setiap perangkat mengambil bagian penting dari sebuah sistem secara keseluruhan.
Berikut ini merupakan hasil implemetasi dari perancangan alat dan bagian-bagian
komponen yang merupakan satu kesatuan dari keseluruhan sistem.
4.1. Bentuk Fisik Hardware Elektronika
4.1.1. Bentuk Fisik Minimum System ATmega16
Bentuk fisik minimum system ATmega16 terdapat dua buah minimum sistem,
yakni minimum system A yang secara keseluruhan ditunjukkan pada pada gambar 4.1 dan
minimum system B yang secara keseluruhan ditunjukkan pada gambar 4.2. Minimum
sistem A terdiri dari IC ATmega16, IC Max232, port A, port B, port C, port D, port female
rs232, dan connector Vcc, sedangkan minimum system B terdiri dari IC ATmega 16, port A, port B, port C, port D dan connector Vcc Minimum system A fungsinya digunakan untuk menerima data dari model simulator boiler. Data yang diterima berupa data
parameter boiler. Minimum system B fungsinya digunakan untuk menerima data dari
[image:52.595.84.525.238.738.2]minimum system A dan data tersebut akan ditampilkan pada LCD .
Gambar 4.2. Minimum System B
4.1.2. Bentuk Fisik LCD 2x16
Bentuk Fisik LCD 2x16 secara keseluruhan terdapat pada gambar 4.3. LCD berfungsi
untuk menampilkan data-data yang telah diatur dan diterima. Data yang ingin ditampilkan
[image:53.595.84.524.78.735.2]berupa data parameter yang diolah oleh minimum system B. Port yang digunakan yakni port D.
Gambar 4.4. Rangkaian Keseluruhan Modul Komunikasi Serial
Tabel 4.1. Penggunaan Port Pada Mynsis Mikrokontroler
No Saluran Fungsi