Kebutuhan Perangkat Keras Perancangan Perangkat Keras Mekanik Pembahasan Komunikasi Serial

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 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 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 IO 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 PB0T0XCK 1 PB1T1 2 PB2AIN0INT2 3 PB3AIN1OC0 4 PB4SS 5 PB5MOSI 6 PB6MISO 7 PB7SCK 8 RESET 9 XTAL2 12 XTAL1 13 PD0RXD 14 PD1TXD 15 PD2INT0 16 PD3INT1 17 PD4OC1B 18 PD5OC1A 19 PD6ICP1 20 PD7OC2 21 PC0SCL 22 PC1SDA 23 PC2TCK 24 PC3TMS 25 PC4TDO 26 PC5TDI 27 PC6TOSC1 28 PC7TOSC2 29 PA7ADC7 33 PA6ADC6 34 PA5ADC5 35 PA4ADC4 36 PA3ADC3 37 PA2ADC2 38 PA1ADC1 39 PA0ADC0 40 AREF 32 AVCC 30 U1 ATMEGA16 D 7 1 4 D 6 1 3 D 5 1 2 D 4 1 1 D 3 1 D 2 9 D 1 8 D 7 E 6 R W 5 R S 4 V S S 1 V D D 2 V E E 3 LCD1 16_X_2_LCD PB0T0XCK 1 PB1T1 2 PB2AIN0INT2 3 PB3AIN1OC0 4 PB4SS 5 PB5MOSI 6 PB6MISO 7 PB7SCK 8 RESET 9 XTAL2 12 XTAL1 13 PD0RXD 14 PD1TXD 15 PD2INT0 16 PD3INT1 17 PD4OC1B 18 PD5OC1A 19 PD6ICP1 20 PD7OC2 21 PC0SCL 22 PC1SDA 23 PC2TCK 24 PC3TMS 25 PC4TDO 26 PC5TDI 27 PC6TOSC1 28 PC7TOSC2 29 PA7ADC7 33 PA6ADC6 34 PA5ADC5 35 PA4ADC4 36 PA3ADC3 37 PA2ADC2 38 PA1ADC1 39 PA0ADC0 40 AREF 32 AVCC 30 U2 ATMEGA16 X1 CRYSTAL C1 22pF C2 22pF C3 100nF R1 10k X2 CRYSTAL C4 22pF C5 22pF C6 100nF R2 10k 1 2 3 4 J1 Connector SPI ERROR TXD 3 RXD 2 CTS 8 RTS 7 DSR 6 DTR 4 DCD 1 RI 9 P1 COMPIM_PCB T1IN 11 R1OUT 12 T2IN 10 R2OUT 9 T1OUT 14 R1IN 13 T2OUT 7 R2IN 8 C2+ 4 C2- 5 C1+ 1 C1- 3 VS+ 2 VS- 6 U3 MAX232 C7 10uF C8 10uF C9 10uF C10 10uF Micro A Micro B 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

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 F EEDBACK ? 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 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

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. 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 kubikm3 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 kana n. 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 bitdetik, maka setiap bitnya memerlukan waktu selama 19600 = 104 mikrodetikbit. 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 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 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 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 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 Gambar 4.4. Rangkaian Keseluruhan Modul Komunikasi Serial Gambar 4.5. Bentuk Fisik Modul Komunikasi Serial PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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 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 24 24 24 55 55 55 79 79 79 109 109 109 134 134 134 160 160 160 184 184 184 211 211 211 233 233 233 254 254 254

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,9 0,9 0,9 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Tabel 4.3. Lanjutan Hasil Pengujian Penerimaan Data Tekanan 2,1 2,1 2,1 3,1 3,1 3,1 4,3 4,3 4,3 5,2 5,2 5,2 6,3 6,3 6,3 7,3 7,3 7,3 8,3 8,3 8,3 9,1 9,1 9,1 9,9 9,9 9,9

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,7 0,7 0,7 2,1 2,1 2,1 3,3 3,3 3,3 4,2 4,2 4,2 5,2 5,2 5,2 6,6 6,6 6,6 7,2 7,2 7,2 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Tabel 4.4. Lanjutan Hasil Pengujian Penerimaan Data Level Air 8,2 8,2 8,2 9,0 9,0 9,0 9,9 9,9 9,9

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 9 9 9 19 19 19 27 27 27 37 37 37 44 44 44 52 52 52 61 61 61 71 71 71 77 77 77 85 85 85

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 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; sprintf data1,s,dataString Menyimpan data suhu pada data1 getString; sprintf data2,s,data String Menyimpan data tekanan pada data2 suhu=atoidata1 Ubah data1 menjadi integer untuk suhu tekanan=atofdata2 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 sprintftx_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_transTWI_SLAVE_ADDR,tx_buffer,strlentx_buffer,rx_buffer,sizeofrx_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. char rx_buffer [32] variabel untuk menampung data yang diterima char tx_buffer [32] variabel untuk mengirim respon slave bool slave_rx_handlerbool 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 else { lcd_clear; lcd_putsfReceive error:\n; lcd_putsfstatus_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_handlerbool tx_complete { unsigned char i; if tx_complete= = false { strcpyftx_buffer,Data diterima OK\n\r; return strlentx_buffer; } if received_ok { lcd_clear; for i= 0;i twi_rx_index;i+ + { lcd_putcharrx_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 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 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 data1data2data3data4. 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 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 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 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 data1data2data3data4. 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 0000 1100 = 0011 0000 30 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