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.
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.
RW 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
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 bitssekon. Pengiriman data bisa dilakukan secara satu arah atau
dua arah. Jika hanya membutuhkan komunikasi satu arah maka cukup menggunakan dua k
abel 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 plugkonektor 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 detikbps, 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
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
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 komu nikasi serial dikirimkan untuk logika ‘1’ sebagai
tegangan -3 sd - 25 volt dan untuk logika ‘0’ sebagai tegangan +3 sd +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.
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 ReceiverTransmiter
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
USART harus diatur sedemikian rupa agar komunikasi dapat berlangsung dengan baik, berikut register-register pada komunikasi serial USART antara lain :
1.
USART
IO 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
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
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
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 masterslave. Berikut ini adalah gambar isi dari SPCR:
Gambar 2.10. SPCR Register PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 – MasterSlave 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
.
Risin
g 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
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.
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.
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 RW sebagai
bit
pengatur apakah maksud dari
master
adalah untuk
write
menulis nilai RW
bit
= 0 data atau
read
membaca nilai RW bit = 1 data dari
slave
. Pada intinya data yang dikirim adalah 8
bit
dengan LSB adalah RW
bit
.[13] PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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