MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

111
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 2017 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Transcript of MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

Page 1: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

2017

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

2017

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

v

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

Terima kasih untuk semuanya……

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

vii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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.

Kata kunci : Komunikasi Serial, Atmega16, , LCD dan bahasa C.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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.

Keywords: Serial Communications, ATmega16, MAX 232, LCD and C language

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

saya, sehingga dapat menyelesaikan tugas belajar dengan baik.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

xi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

2.4. Komunikasi Data Melalui RS232 ............................................................. 10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

4.2. Pengujian Keberhasilan ............................................................................. 37

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

Gambar 3.10. Diagram alir modul serial komunikasi

dengan Sistem Monitoring ........................................................................................ 33

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

Gambar 4.11. Data dan clock temperatur pada osiloskop (T=50C) .......................... 52

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

Tabel 4.7. Biner dari (T=200) dalam hex dan karakter ........................................... 51

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

digunakan untuk komunikasi antara modul komunikasi serial dengan sistem monitoring.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

2

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

akhir ini

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

3

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 232Simulator 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.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

Kecepatan transfer data pada komunikasi data serial diukur dalam satuan BPS (bits

persecond). Sebutan terkenal lainnya adalah baud rate. Namun Baud dan bps tidak serta

merta adalah sama. Hal ini mengacu kepada fakta bahwa baud rate adalah terminology

modem dan diartikan sebagai perubahan signal dalam satuan bit signal setiap detik. Sedang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

5

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,

Watchdog Timer, PWM, Port I/O, komunikasi serial, komparator, dan lain-lain), sehingga

dengan fasilitas yang lengkap ini, programmer dan desainer dapat menggunakannya untuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

6

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.

1. VCC merupakan pin yang berfungsi sebagai masukan catu daya

2. GND merupakan pin Ground

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

7

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)

PC4 TDO (JTAG Data Out)

PC5 TDI (JTAG Test Data In)

PC6 TOSC1 (Timer Oscillator pin 1)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

8

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

sudah diprogram. Proses download program ke IC mikrokontroler AVR dapat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

9

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

M1632 yang ditunjukkan pada gambar 2.4.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

10

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

komputer atau mikrokontroler.[9]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

11

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

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]

Sedangkan fungsi masing-masing pin pada konektor dapat dilihat pada tabel berikut:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

12

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.

Pada gambar 2.6. dibawah ini menunjukan pin out dari konektor RS232 (DB9 Male).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

13

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

tersebut. Gambar 2.7. dibawah ini merupakan rangkaian dari IC MAX232.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

14

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. Untuk melakukan inisialisasi pada komunikasi USART, maka register kontrol

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

15

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

3. USART Control dan Status Register B

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

16

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

5,6,7,8, atau 9 bit.[11]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

17

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

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.

SS (slave select) merupakan pin yang berfungsi untuk mengaktifkan slave sehingga

pengiriman data hanya dapat dilakukan jika slave dalam keadaan aktif (active low).

Istilah lain untuk SS antara lain CS (chip select), nCS, nSS, dan STE (slave transmit

enable).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

18

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

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:

Gambar 2.10. SPCR Register

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

19

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

merupakan singkatan dari clock internal atau frekuensi kristal external.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

20

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.

Sinyal Start merupakan sinyal untuk memulai semua perintah, didefinisikan sebagai

perubahan tegangan SDA dari “1” menjadi “0” pada saat SCL “1”. Sinyal Stop merupakan

sinyal untuk mengakhiri semua perintah, didefinisikan sebagai perubahan tegangan SDA

dari “0” menjadi “1” pada saat SCL “1”. Pada gambar 2.13 adalah menunjukkan

pengondisi sinyal star dan stop.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

21

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 siklus clock 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”.

Berikut Gambar 2.15 menjelaskan konfigurasi dari sistem I2C.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

22

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

slave. Pada intinya data yang dikirim adalah 8 bit dengan LSB adalah R/W bit.[13]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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 :

1. Minimun sistem ATmega16

2. LCD 2x16

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

25

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

mikrokontroler A dan data tersebut akan ditampilkan pada LCD 2x16.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

26

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

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

PB0/T0/XCK1

PB1/T12

PB2/AIN0/INT23

PB3/AIN1/OC04

PB4/SS5

PB5/MOSI6

PB6/MISO7

PB7/SCK8

RESET9

XTAL212

XTAL113

PD0/RXD14

PD1/TXD15

PD2/INT016

PD3/INT117

PD4/OC1B18

PD5/OC1A19

PD6/ICP120

PD7/OC221

PC0/SCL22

PC1/SDA23

PC2/TCK24

PC3/TMS25

PC4/TDO26

PC5/TDI27

PC6/TOSC128

PC7/TOSC229

PA7/ADC733

PA6/ADC634

PA5/ADC535

PA4/ADC436

PA3/ADC337

PA2/ADC238

PA1/ADC139

PA0/ADC040

AREF32

AVCC30

U1

ATMEGA16

D7

14

D6

13

D5

12

D4

11

D3

10

D2

9D

18

D0

7

E6

RW

5R

S4

VS

S1

VD

D2

VE

E3

LCD116_X_2_LCD

PB0/T0/XCK1

PB1/T12

PB2/AIN0/INT23

PB3/AIN1/OC04

PB4/SS5

PB5/MOSI6

PB6/MISO7

PB7/SCK8

RESET9

XTAL212

XTAL113

PD0/RXD14

PD1/TXD15

PD2/INT016

PD3/INT117

PD4/OC1B18

PD5/OC1A19

PD6/ICP120

PD7/OC221

PC0/SCL22

PC1/SDA23

PC2/TCK24

PC3/TMS25

PC4/TDO26

PC5/TDI27

PC6/TOSC128

PC7/TOSC229

PA7/ADC733

PA6/ADC634

PA5/ADC535

PA4/ADC436

PA3/ADC337

PA2/ADC238

PA1/ADC139

PA0/ADC040

AREF32

AVCC30

U2

ATMEGA16

X1CRYSTAL

C122pF

C222pF

C3100nF

R1

10k

X2CRYSTAL

C422pF

C522pF

C6100nF

R210k

1

2

3

4

J1

Connector SPI

ERROR

TXD3

RXD2

CTS8

RTS7

DSR6

DTR4

DCD1

RI9

P1

COMPIM_PCB

T1IN11

R1OUT12

T2IN10

R2OUT9

T1OUT14

R1IN13

T2OUT7

R2IN8

C2+

4

C2-

5

C1+

1

C1-

3

VS+2

VS-6

U3

MAX232

C7

10uF

C8

10uF

C9

10uF

C10

10uF

Micro A

Micro B

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

27

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.

Gambar 3.4. Rangkaian RS232

3.5. Perancangan Perangkat Lunak

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

28

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

akan diterima oleh mikrokontroler A dan program tersebut selanjutnya diteruskan ke

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

29

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

Gambar 3.6. Diagram Alir Model Serial Komunikasi dengan Sistem Bolier

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

30

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

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

3.1.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

31

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)

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

104 mikrodetik = 1.040 mikrodetik atau menjadi 1,04 milidetik. Pengiriman kata B=1 akan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

32

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)

Pada gambar 3.9. merupakan contoh dari tampilan data yang diharapkan pada LCD.

Gambar 3.9. Contoh Data yang Akan Ditampilkan

Tabel 3.3. Karakter ASCII dalam format heksa dan desimal

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

33

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

?

KIRIM DATA KE

SISTEM

MONITORING

DATA

DITAMPILKAN

ADA DATA

FEEDBACK ?

END

TIDAK

YA

TIDAK

YA

Gambar 3.10. Diagram alir modul serial komunikasi dengan Sistem Monitoring

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

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

minimum system A dan data tersebut akan ditampilkan pada LCD .

Gambar 4.1. Minimum System A

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

35

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

berupa data parameter yang diolah oleh minimum system B. Port yang digunakan yakni

port D.

Gambar 4.3. LCD 2x16

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

36

Gambar 4.4. Rangkaian Keseluruhan Modul Komunikasi Serial

Gambar 4.5. Bentuk Fisik Modul Komunikasi Serial

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

37

Tabel 4.1. Penggunaan Port Pada Mynsis Mikrokontroler

No Saluran Fungsi

1 PA0 BUZZER

2 PA1 LED Indikator

3 PB0 RS LCD

4 PB1 RW LCD

5 PB2 Enable LCD

6 PB4 D4 LCD

7 PB5 D5 LCD

8 PB6 D6 LCD

9 PB7 D7 LCD

10 PC0 SCL

11 PC1 SDA

12 PD0 RXD

13 PD1 TXD

4.1.4. Cara Penggunaan Alat

Hardware modul komunikasi serial akan langsung hidup secara otomatis ketika

mendapatkan tegangan dari power supply. User dapat mengatur kecerahan LCD dengan

mengatur potensiometer. Pada hardware ini terdapat dua buah potensiometer untuk

mengatur masing-masing kecerahan LCD. Selain itu terdapat dua buah tombol reset

dimana fungsinya untuk merestart program, sehingga kembali ke program awal.

4.2. Pengujian Keberhasilan

4.2.1. Pengujian Penerimaan Data Temperatur

Pengujian untuk penerimaan data temperatur dilakukan dengan mengamati apakah data

yang dikirim dari model simulator boiler dan data yang diterima di modul komunikasi

serial (USART dan I2C) akan di tampilkan pada LCD sudah sama atau berbeda.

Untuk pengujian percobaan ini diharapkan data yang diterima akan di tampilkan pada tiap

LCD harus sinkron semua. Untuk pengujian penerimaan data temperatur dilakukan

sebanyak 11 percobaan (sama dengan jumlah pengujian yang dilakukan pada bagian model

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

38

simulator boiler). Hasil pengujian penerimaan data temperatur pada modul komunikasi

serial ditunjukan pada tabel 4.2.

Tabel 4.2. Hasil Pengujian Penerimaan Data Temperatur

Data Dari Model

Simulator Boiler

LCD 1

USART

LCD 2

I2C

Error

(%)

0 0 0 0

24 24 24 0

55 55 55 0

79 79 79 0

109 109 109 0

134 134 134 0

160 160 160 0

184 184 184 0

211 211 211 0

233 233 233 0

254 254 254 0

4.2.2. Pengujian Penerimaan Data Tekanan

Pengujian untuk penerimaan data tekanan dilakukan dengan mengamati apakah data yang

dikirim dari model simulator boiler dan data yang diterima di modul komunikasi serial

(USART dan I2C) akan di tampilkan pada LCD sudah sama atau berbeda.

Untuk pengujian percobaan ini diharapkan data yang diterima akan di tampilkan pada tiap

LCD harus sinkron semua. Untuk pengujian penerimaan data tekanan dilakukan sebanyak

11 percobaan (sama dengan jumlah pengujian yang dilakukan pada bagian model simulator

boiler). Hasil pengujian penerimaan data tekanan pada modul komunikasi serial

ditunjukan pada tabel 4.3.

Tabel 4.3. Hasil Pengujian Penerimaan Data Tekanan

Data Dari Model

Simulator Boiler

LCD 1

USART

LCD 2

I2C

Error

(%)

0 0 0 0

0,9 0,9 0,9 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

39

Tabel 4.3. (Lanjutan) Hasil Pengujian Penerimaan Data Tekanan

2,1 2,1 2,1 0

3,1 3,1 3,1 0

4,3 4,3 4,3 0

5,2 5,2 5,2 0

6,3 6,3 6,3 0

7,3 7,3 7,3 0

8,3 8,3 8,3 0

9,1 9,1 9,1 0

9,9 9,9 9,9 0

4.2.3. Pengujian Penerimaan Data Level Air

Pengujian untuk penerimaan data level air dilakukan dengan mengamati apakah data yang

dikirim dari model simulator boiler dan data yang diterima di modul komunikasi serial

(USART dan I2C) akan di tampilkan pada LCD sudah sama atau berbeda.

Untuk pengujian percobaan ini diharapkan data yang diterima akan di tampilkan pada tiap

LCD harus sinkron semua. Untuk pengujian penerimaan data level air dilakukan sebanyak

11 percobaan (sama dengan jumlah pengujian yang dilakukan pada bagian model simulator

boiler). Hasil pengujian penerimaan data level air pada modul komunikasi serial

ditunjukan pada tabel 4.4.

Tabel 4.4. Hasil Pengujian Penerimaan Data Level Air

Data Dari Model

Simulator Boiler

LCD 1

USART

LCD 2

I2C

Error

(%)

0 0 0 0

0,7 0,7 0,7 0

2,1 2,1 2,1 0

3,3 3,3 3,3 0

4,2 4,2 4,2 0

5,2 5,2 5,2 0

6,6 6,6 6,6 0

7,2 7,2 7,2 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

40

Tabel 4.4. (Lanjutan) Hasil Pengujian Penerimaan Data Level Air

8,2 8,2 8,2 0

9,0 9,0 9,0 0

9,9 9,9 9,9 0

4.2.4. Pengujian Penerimaan Data Level Oli

Pengujian untuk penerimaan data level oli dilakukan dengan mengamati apakah data yang

dikirim dari model simulator boiler dan data yang diterima di modul komunikasi serial

(USART dan I2C) akan di tampilkan pada LCD sudah sama atau berbeda.

Untuk pengujian percobaan ini diharapkan data yang diterima akan di tampilkan pada tiap

LCD harus sinkron semua. Untuk pengujian penerimaan data level oli dilakukan sebanyak

11 percobaan (sama dengan jumlah pengujian yang dilakukan pada bagian model simulator

boiler). Hasil pengujian penerimaan data level oli pada modul komunikasi serial

ditunjukan pada tabel 4.5.

Tabel 4.5. Hasil Pengujian Penerimaan Data Level Oli

Data Dari Model

Simulator Boiler

LCD 1

USART

LCD 2

I2C

Error

(%)

0 0 0 0

9 9 9 0

19 19 19 0

27 27 27 0

37 37 37 0

44 44 44 0

52 52 52 0

61 61 61 0

71 71 71 0

77 77 77 0

85 85 85 0

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

41

4.3. Pembahasan Software

Pada tugas akhir ini software yang digunakan adalah Code Vision AVR Compiler

(bahasa C). Software ini digunakan untuk membuat program pada IC mikrokontroler yang

akan digunakan. IC yang akan digunakan pada modul komunikasi serial adalah

mikrokontroler ATmega16. Berikut ini merupakan pembahasan dari program modul

komunikasi serial (USART dan I2C).

4.3.1. Program USART

Berikut ini merupakan pembahasan dari program modul komunikasi serial untuk

bagian usart.

Pada program kode diatas merupakan library yang akan digunakan. Berhubung yang akan

digunakan adalah IC ATmega16, delay, LCD dan fungsi sprintf maka dituliskan include

librarinya masing-masing.

Ini adalah bagian dari inisialisasi USART untuk ATmega16, penulisan programnya

otomatis setelah melakukan setting awal pada codevision AVR

Nilai baud rate dapat diatur dengan menggunakan standar kecepatan yang disediakan,

diantaranya 1.200, 2.400, 4.800, 9600, 19.200, 38.400, 57.600, dan 115.200 bps. Salah satu

kecepatan yang paling umum digunakan adalah 9.600 bps.

Umumnya baud rate yang digunakan dalam pengiriman data antar mikrokontroler adalah

9600 bps. Karena baud rate 9600 bps merupakan standar unuk komunikasi serial.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

42

char tx_buffer[80] Transmisi Data untuk I2C,

char rx_buffer[80] Data Yang diterima dari I2C,

char dataString[16] Penampung untuk komunikasi USART,

char data1[33],data2[33],data3[33],data4[33] penampung untuk setiap data yang diterima

int suhu,oli, variabel untuk memeriksa kondisi suhu dan level oli ,

float tekanan,air Variabel untuk memeriksa kondisi tekanan dan level air.

Membersihkan variabel penampung untuk menerima data selanjutnya yang dikirim

Menerima dan memeriksa karakter kemudian mengubahnya kedalam string

getString();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

43

sprintf(data1,"%s",dataString) Menyimpan data suhu pada data1

getString();

sprintf(data2,"%s",dataString) Menyimpan data tekanan pada data2

suhu=atoi(data1) Ubah data1 menjadi integer untuk suhu

tekanan=atof(data2) Ubah data2 menjadi float untuk tekanan

Periksa kondisi boiler

jika nilai suhu < 20 atau suhu >200 maka buzzer akan bunyi (on) ,

jika nilai tekanan < 4 atau tekanan > 9 maka buzzer akan bunyi (on)

PORTA.0=1 buzzer akan aktif ( on),

PORTA.0=0 buzzer akan non aktif (off).

Menampilkan data yang diambil pada LCD

Tampilkan data untuk suhu, tampilkan data untuk tekanan,

PORTA.1=0 merupakan kondisi awal dari buzzer

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

44

sprintf(tx_buffer," T=%sC P=%sb\n A=%st O=%sm3",data1,data2,data3,data4) Untuk

mengirimkan data boiler ke slave menggunakan komunikasi serial I2C.

if

(twi_master_trans(TWI_SLAVE_ADDR,tx_buffer,strlen(tx_buffer),rx_buffer,sizeof(rx_buff

er)))

{

Mengirim data ke slave dan menunggu respon dari slave

if (twi_rx_index)

{

Respon yang akan dilakukan jika I2C tidak error

if (twi_rx_index)

{

rx_buffer[twi_rx_index]=NULL;

}

}

}

Pastikan data terakhir NULL karakter

4.3.2. Program I2C

Berikut ini merupakan pembahasan dari program modul komunikasi serial untuk

bagian I2C.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

45

char rx_buffer[32] variabel untuk menampung data yang diterima

char tx_buffer[32] variabel untuk mengirim respon slave

bool slave_rx_handler(bool rx_complete)

{

if (twi_result==TWI_RES_OK) received_ok=true;

else

{

Ini merupakan bagian program untuk mengecek I2C terlebih dahulu jika ada data yang

dikirim tanpa error.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

46

else

{

lcd_clear();

lcd_putsf("Receive error:\n");

lcd_putsf(status_msg[twi_result]);

received_ok=false;

return false;

}

Program ini untuk membaca jika ada data yang diterima error, maka sinyal akan

dikirimkan dengan pesan error untuk menghentikan pengecekan

unsigned char slave_tx_handler(bool tx_complete)

{

unsigned char i;

if (tx_complete==false)

{

strcpyf(tx_buffer,"Data diterima OK\n\r");

return strlen(tx_buffer);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

47

if (received_ok)

{

lcd_clear();

for (i=0;i<twi_rx_index;i++){

lcd_putchar(rx_buffer[i]);

}

}

return 0;

}

Bagian ini merupakan proses program pengiriman atau transmisi data dari master ke slave

dimulai. Kemudian pindahkan data yang diterima ke tx_buffer. Setelah pengiriman data

atau transmisi data dari slave ke master sudah siap, dan tidak ada lagi byte yang dikrim.

4.4. Pembahasan Komunikasi Serial

Untuk menguji komunikasi serial yang dilakukan antara model simulator boiler dan

modul komunikasi serial alat yang digunakan adalah osiloskop. Dengan osiloskop

penerima data parameter boiler dapat diamati. Bentuk gelombang tersebut dapat

diidentifikasi dan disesuaikan dengan data yang diterima pada program mikrokontroler.

Pengujian komunikasi serial menggunakan osiloskop dilakukan sebanyak 27 kali

percobaan. Setiap parameter boiler dilakukan percobaan sebanyak 6 sampai 7 kali

percobaan. Untuk analisis pengujian komunikasi serial hanya menggunakan data

temperatur karena temperatur merupakan data pertama (data1), tekanan merupakan data

kedua (data2), level air merupakan data ketiga (data3), dan level oli merupakan data

terakhir (data4). Data parameter yang lain tidak dapat dianalisis karena keterbatasan

kemampuan osiloskop untuk menampilkan seluruh data yang diterima. Ada 2 percobaan

yang akan dianalsis untuk mewakili setiap percobaan yang telah dilakukan, yaitu :

1. Data Temperatur ( T=50C )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

48

Gambar 4.6. Komunikasi serial data temperatur (T=50C)

Gambar 4.7. Data temperatur pada osiloskop (T=50C)

Gambar 4.7. merupakan komunikasi serial yang dilakukan oleh bagian model simulator

boiler dengan bagian modul komunikasi serial. Data temperatur yang diatur oleh user

menunjukan nilai temperatur adalah T=50C, sedangkan nilai parameter yang lain tidak

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

49

diubah karena pada percobaan ini hanya akan melihat perubahan bentuk data temperatur

pada osiloskop.

Gambar 4.7. merupakan gelombang dari data temperatur pada osiloskop dengan nilai

T=50C. Pada bagian program mikrokontroler (software) hanya nilai data saja yang

diterima, contohnya T=50C maka yang akan diterima hanya data 50. Pengiriman data yaitu

per karakter kemudian dikumpulkan menjadi sebuah kalimat. Setiap data yang diterima

akan dipisahkan dengan karakter # (data1#data2#data3#data4#). Data yang diterima lebih

dahulu adalah LSB (least significant bit). LSB merupakan bit yang paling kanan. Dari

bentuk gelombang pada gambar 4.7. terdapat 5 buah karakter dan dapat dilihat pada tabel

4.6.

Tabel 4.6. Biner dari (T=50) dalam hex dan karakter

Biner Hex Karakter

1010 1100 = 0011 0101 35 5

0000 1100 = 0011 0000 30 0

1100 0100 = 0010 0011 23 #

0001 1100 = 0011 1000 38 8

0111 0100 = 0010 1110 2E .

Dari tabel 4.6 dapat dilihat bahwa pengujian pengiriman data parameter boiler yang

dilakukan dengan menggunakan osiloskop membuktikan jika data yang diterima sesuai

dengan program mikrokontoler (software) yang telah dibuat.

2. Data Temperatur ( T=200C )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

50

Gambar 4.8. Komunikasi serial data temperatur (T=200C)

Gambar 4.9. Data temperatur pada osiloskop (T=200C)

Gambar 4.8. merupakan komunikasi serial yang dilakukan oleh bagian model

simulator boiler dengan bagian modul komunikasi serial. Data temperatur yang diatur oleh

user menunjukan nilai temperatur adalah T=200C, sedangkan nilai parameter yang lain

tidak diubah karena pada percobaan ini hanya akan melihat perubahan bentuk data

temperatur pada osiloskop.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

51

Gambar 4.9. merupakan gelombang dari data temperatur pada osiloskop dengan nilai

T=200C. Pada bagian program mikrokontroler (software) hanya nilai data saja yang

diterima, contohnya T=200C maka yang akan diterima hanya data 200. Pengiriman data

yaitu per karakter kemudian dikumpulkan menjadi sebuah kalimat. Setiap data yang

dikirimkan akan dipisahkan dengan karakter # (data1#data2#data3#data4#). Data yang

terkirim lebih dahulu adalah LSB (least significant bit). LSB merupakan bit yang paling

kanan. Dari bentuk gelombang pada gambar 4.9. terdapat 5 buah karakter dan dapat dilihat

pada tabel 4.7.

Tabel 4.7. Biner dari (T=200) dalam hex dan karakter

Biner Hex Karakter

1010 1100 = 0011 0101 32 2

0000 1100 = 0011 0000 30 0

0000 1100 = 0011 0000 30 0

1100 0100 = 0010 0011 23 #

0001 1100 = 0011 1000 38 8

Dari tabel 4.7 dapat dilihat bahwa pengujian penerima data parameter boiler yang

dilakukan dengan menggunakan osiloskop membuktikan jika data yang diterima sesuai

dengan program mikrokontoler (software) yang dibuat.

4.5. Pembahasan Komunikasi I2C

Berikut ini adalah pembahasan untuk komunikasi I2C. Untuk pengujian komunikasi I2C

dengan menggunakan osiloskop untuk menidentifikasi data yang diterima dari model

simulator boiler sesuai data yang dikirim. Serial data (SDA) dan serial clock (SCL)

merupakan data dan waktu yang akan ditampilkan di osiloskop. Percobaan dilakukan

sebanyak 4 kali sesuai dengan parameter boiler. Ada 2 percobaan yang akan dianalsis

untuk mewakili setiap percobaan yang telah dilakukan, yaitu :

1. Data Temperatur ( T=50C )

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

52

Gambar 4.10. Data dan clock temperatur pada osiloskop (T=50C)

2. Data Temperatur ( T=200C )

Gambar 4.11. Data dan clock temperatur pada osiloskop (T=50C)

Dari gambar 4.8 dan gambar 4.9 dapat dilihat bahwa data dan clock untuk data

temperatur pada T=50C dan T=200C hampir sama, tidak terlihat perbedaan karena saat

pengujian terjadi kesalahan dalam setting diosiloskop (Time/Div) sehingga bentuk

gelombang satu paket data tidak dapat terlihat. Sehinnga gelombang kotak SDA dan SCL

tidak bisa dapat diamati untuk diidentifikasi.

4.6. Analisa Sistem Secara Keseluruhan

Dari hasil pengujian alat dan listing program di atas dapat dianalisa bahwa sistem

secara keseluruhan tidak berjalan sesuai perancangan awal. Pada perancangan awal

keseluruhan sistem menggunakan komunikasi dua arah namun pada implementasinya

komunikasi hanya satu arah, dikarenakan pada bagian sistem monitoring boiler mengalami

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

53

kendala sehingga proses pengerjaannya terhenti. Sehingga pada pengujian keseluruhan

sistem hanya terdapat model simulator boiler dan modul komunikasi serial.

Pada implementasi feedback tidak ada karena bagian yang memberikan feedback

adalah sistem monitoring boiler, sehingga modul komunikasi serial hanya menerima data

dari model simulator boiler dan ditampilkan pada LCD.

Data yang diterima dari model simulator boiler merupakan data parameter, saat data yang

diterima kurang atau melebihi batas maksimal maka buzzer akan bunyi (on). Sebenarnya

buzzer ada pada bagian model simulator boiler dimana fungsinya sebagai alarm, namun

pada implementasi buzzer dipindahkan ke bagian komunikasi serial dikarena

mempengaruhi data yang sudah diatur oleh user pada bagian model simulator boiler.

Untuk buzzer menggunakan port A0 di bagian mikrokontroler (master).

Lampu indikator juga merupakan bagian yang dipindahkan dari model simualtor boiler ke

modul komunikasi serial. LED indikator berfungsi sebagai pertanda jika data telah

diterima. LED indikator dipindahkan dibagian modul komunikasi serial karena berperan

sebagai penerima data. LED indikator menggunakan port A1 pada mikrokontroler

(master).

Pada perancangan untuk komunikasi serial menggunakan RS232 namun pada pengujian

awal RS232 tidak dapat berfungsi (salah satu antara model simulator boiler dan modul

komunikasi serial). Untuk sarana komunikasi serial usart antara model simulator boiler

dengan modul komunikasi serial langsung menggunakan port tx dan rx yang ada di mynsis.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

54

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan penelitian yang telah dilakukan dimana dimulai dari tahap

perancangan sistem, implementasi, pengujian sistem, hasil pengujian, serta pembahasan,

maka dapat dapat ditarik kesimpulan, antara lain :

1. Alat yang dibuat oleh penulis tidak sesuia dengan perancangan awal

2. Untuk komunikasi serial (USART dan I2C) bekerja dengan baik, dimana data dapat

diterima dan ditampilkan pada LCD

3. Data yang ditampilkan pada LCD berubah-ubah atau tidak stbil.

4. Perlu dilakukan pengujian alat yang cukup sering agar didapat data yang sesuai.

5.2. SARAN

Saran untuk pengembangan sistem modul komunikasi serial (USART dan I2C)

adalah sebagai berikut :

1. Untuk penelitian selanjutnya, bisa lebih ditingkatkan lagi desain dan penggunaan

bahan perangkat keras sebagai bahan untuk penelitian ini.

2. Alat ini bisa dikembangkan lagi menggunakan bluetooth dan wifi sebagai media

komunikasi

3. Diharapkan untuk dapat dijadikan referensi agar dilakukan penelitian lebih lanjut

suapaya bisa mendapatkan hasil yang lebih optimal.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

DAFTAR PUSTAKA

[1] http://www.engineersgarage.com/embedded/avr-microcontroller-projects/serial-

communication-atmega16-usart, Di akses pada tanggal 4 Maret 2016

[2] Heri Andrianto, Maret 2013 (Edisi Revisi), Pemrograman Mikrokontroler AVR

Atmega16 Menggunakan Bahasa C (Code VisionAVR) : Bab 15 Komunikasi Serial

Usart, hal, 123.

[3] Banks, Michael A. (1990). "BITS, BAUD RATE, AND BPS Taking the Mystery Out

of Modem Speeds". Brady Books/Simon & Schuster. Retrieved 17 September 2014.

Di akses pada tanggal 7 Maret 2016

[4] https://tutorkeren.com/artikel/dasar-komunikasi-serial.htm, Di akses Pada Tanggal 7

Maret 2016

[5] http://www.academia.edu/5225096/Atmega_16 , Diakses Pada Tanggal 15 Maret

2016

[6] ----, 2012, data Sheet ATmega16, ATMEL Corporation

[7] Heri Andrianto, Maret 2013 (Edisi Revisi), Pemrograman Mikrokontroler AVR

Atmega16 Menggunakan Bahasa C (Code VisionAVR) : Bab 2 Pemrograman

Mikrokontroler AVR Atmega16, hal, 21

[8] http://elektronika-dasar.web.id/lcd-liquid-cristal-display-dot-matrix-2x16-m1632/, Di

akses pada tanggal 16 Maret 2016

[9] http://www.insinyoer.com/prinsip-kerja-komunikasi-serial-rs32/, Di akses pada

tanggal 17 Maret 2016

[10] http://www.vedcmalang.com/pppptkboemlg/index.php/menuutama/listrik-

electro/1054-ds, Di akses pada tanggal 17 Maret 2016

[11] http://www.engineersgarage.com/embedded/avr-microcontroller-projects/serial-

communication-atmega16-usart, Di Akses Pada Tanggal 22 Maret 2016

[12] http://elektro.studentjournal.ub.ac.id/index.php/teub/article/download/246/204, Di

akses Pada Tanggal 25

[13] http://www.robot-electronics.co.uk/i2c-tutorial, Di akses Pada tanggal 26 Maret 2016

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-1

LAMPIRAN

Program USART :

#include <twi.h>

#include <stdio.h>

#include <string.h>

#include <delay.h>

#include <io.h>

#include <alcd.h>

#include <stdlib.h>

// 7bit Alamat i2c Slave

#define TWI_SLAVE_ADDR 0x50

char tx_buffer[80];

char rx_buffer[80];

char dataString[16];

char data1[33],data2[33],data3[33],data4[33];

int suhu,oli;

float tekanan,air;

void clearStringBuffer(){

unsigned char i=0;

for (i=0;i<16;i++){

dataString[i]='';

}

PORTA.1=1;

}

void getString(){

unsigned char i=0,temp;

clearStringBuffer();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-2

temp = getchar();

while (temp!='#'){

dataString[i]=temp;

i++;

temp = getchar();

}

}

void main(void)

{

// Konfigurasi untuk PORT

// Input/Output Ports initialization

// Port A initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=Out Bit1=Out Bit0=Out

DDRA=(0<<DDA7) | (0<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) |

(1<<DDA2) | (1<<DDA1) | (1<<DDA0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=0 Bit1=0 Bit0=0

PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) |

(0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

// Port B initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2)

| (0<<DDB1) | (0<<DDB0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) |

(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

// Port C initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-3

DDRC=(0<<DDC7) | (0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2)

| (0<<DDC1) | (0<<DDC0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTC=(0<<PORTC7) | (0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) |

(0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);

// Port D initialization

// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In

DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) |

(0<<DDD2) | (0<<DDD1) | (0<<DDD0);

// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T

PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) |

(0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

// Mode: Normal top=0xFF

// OC0 output: Disconnected

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

(0<<CS01) | (0<<CS00);

TCNT0=0x00;

OCR0=0x00;

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer1 Stopped

// Mode: Normal top=0xFFFF

// OC1A output: Disconnected

// OC1B output: Disconnected

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer1 Overflow Interrupt: Off

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-4

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) |

(0<<WGM11) | (0<<WGM10);

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

(0<<CS11) | (0<<CS10);

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer2 Stopped

// Mode: Normal top=0xFF

// OC2 output: Disconnected

ASSR=0<<AS2;

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

(0<<CS21) | (0<<CS20);

TCNT2=0x00;

OCR2=0x00;

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

TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) |

(0<<TOIE1) | (0<<OCIE0) | (0<<TOIE0);

// External Interrupt(s) initialization

// INT0: Off

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-5

// INT1: Off

// INT2: Off

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

MCUCSR=(0<<ISC2);

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART Receiver: On

// USART Transmitter: Off

// USART Mode: Asynchronous

// USART Baud Rate: 9600

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

(0<<U2X) | (0<<MPCM);

UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (0<<TXEN) |

(0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);

UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) |

(1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);

UBRRH=0x00;

UBRRL=0x47;

// Analog Comparator initialization

// Analog Comparator: Off

// The Analog Comparator's positive input is

// connected to the AIN0 pin

// The Analog Comparator's negative input is

// connected to the AIN1 pin

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

(0<<ACIS1) | (0<<ACIS0);

SFIOR=(0<<ACME);

// ADC initialization

// ADC disabled

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-6

ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) |

(0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);

// SPI initialization

// SPI disabled

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

(0<<SPR1) | (0<<SPR0);

// TWI initialization

// Mode: TWI Master

// Bit Rate: 100 kHz

twi_master_init(100);

// Alphanumeric LCD initialization

// Connections are specified in the

// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:

// RS - PORTB Bit 0

// RD - PORTB Bit 1

// EN - PORTB Bit 2

// D4 - PORTB Bit 4

// D5 - PORTB Bit 5

// D6 - PORTB Bit 6

// D7 - PORTB Bit 7

// Characters/line: 16

lcd_init(16);

// Globally enable interrupts

#asm("sei")

while (1)

{

getString();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-7

sprintf(data1,"%s",dataString);

getString();

sprintf(data2,"%s",dataString);

getString();

sprintf(data3,"%s",dataString);

getString();

sprintf(data4,"%s",dataString);

suhu=atoi(data1);

tekanan=atof(data2);

air=atof(data3);

oli=atoi(data4);

if ( suhu<20||suhu>200

||tekanan<4||tekanan>9

||air<3||air>9

||oli<24||oli>80)

{

PORTA.0=1;

} else

{

PORTA.0=0;

}

lcd_clear();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-8

lcd_gotoxy(1,0);

lcd_putsf("T=");

lcd_puts(data1);

lcd_putsf("C");

lcd_gotoxy(9,0);

lcd_putsf("P=");

lcd_puts(data2);

lcd_putsf("b");

lcd_gotoxy(1,1);

lcd_putsf("A=");

lcd_puts(data3);

lcd_putsf("t");

lcd_gotoxy(9,1);

lcd_putsf("O=");

lcd_puts(data4);

lcd_putsf("m3");

PORTA.1=0;

sprintf(tx_buffer," T=%sC P=%sb\n A=%st O=%sm3",data1,data2,data3,data4);

if

(twi_master_trans(TWI_SLAVE_ADDR,tx_buffer,strlen(tx_buffer),rx_buffer,sizeof(rx_b

uffer)))

{

// Respon yang akan dilakukan jika I2C tidak error

if (twi_rx_index)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-9

{

// Pastikan data terakhir NULL karakter

rx_buffer[twi_rx_index]=NULL;

}

}

}

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-10

Program I2C

#include <io.h>

#include <stdio.h>

#include <twi.h>

#include <delay.h>

#include <alcd.h>

#include <string.h>

// 7bit slave I2C address

#define TWI_SLAVE_ADDR 0x50

char rx_buffer[32];

char tx_buffer[32];

// flag that signals that the TWI slave reception was OK

bit received_ok=false;

flash char * flash status_msg[8]=

{

"OK",

"Buffer overflow",

"Arbitration lost",

"Bus error",

"NACK received",

"Bus timeout",

"Fail",

"Unknown error"

};

bool slave_rx_handler(bool rx_complete)

{

if (twi_result==TWI_RES_OK) received_ok=true;

else

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-11

{

lcd_clear();

lcd_putsf("Receive error:\n");

lcd_putsf(status_msg[twi_result]);

received_ok=false;

return false;

}

if (rx_complete)

return false; // no more bytes to receive

return (twi_rx_index<sizeof(rx_buffer));

}

unsigned char slave_tx_handler(bool tx_complete)

{

unsigned char i;

if (tx_complete==false)

{

strcpyf(tx_buffer,"Data packet received OK\n\r");

return strlen(tx_buffer);

}

if (received_ok)

{

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-12

lcd_clear();

for (i=0;i<twi_rx_index;i++) lcd_putchar(rx_buffer[i]);

}

return 0;

}

void main(void)

{

lcd_init(16);

lcd_clear();

twi_slave_init(false,TWI_SLAVE_ADDR,rx_buffer,sizeof(rx_buffer),tx_buffer,slave_rx_

handler,slave_tx_handler);

lcd_putsf("TWI slave OK");

delay_ms(2000);

#asm("sei")

while (1);

}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-13

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-14

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-15

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-16

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-17

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 89: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-18

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 90: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-19

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 91: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-20

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 92: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-21

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 93: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-22

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 94: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-23

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 95: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-24

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 96: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-25

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 97: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-26

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 98: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-27

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 99: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-28

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 100: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-29

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 101: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-30

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 102: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-31

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 103: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-32

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 104: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-33

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 105: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-34

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 106: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-35

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 107: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-36

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 108: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-37

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 109: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-38

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 110: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-39

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 111: MODUL KOMUNIKASI SERIAL PADA MODEL SIMULATOR BOILER ...

L-40

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI