MASTER |
ANALISA PERCOBAAN 3 I2C:
1. Apakah kita dapat mengirim data sebanyak 9 bit? Jelaskan alasannya
Jawab: bisa, sebab data bit digital yang masuk ada frafe 1 dan frame 2,dan stop,dimana setiap frame nya ada 8 bit dan 1 stop bit jadi totalnya dapat mengirim 17 bit data dalam 1 siklus ditambah dengan start addres framen ack totalnya jadi 32 bit dalam sekali transfer
2. Bagaimana cara master mengirimkan address ke slave? Berapa bit address yang dikirim? Berapa addres unik yang dapat tercipta oleh master?
Jawab:
Pada I2C, data ditransfer dalam bentuk message yang terdiri dari kondisi start, Address Frame, R/W bit, ACK/NACK bit, Data Frame 1, Data Frame 2, dan kondisi Stop.
Kondisi start dimana saat pada SDA beralih dari logika high ke low sebelum SCL.Kondisi stop dimana saat pada SDA beralih dari logika low ke high sebelum SCL. Setelah itu R/ menentukan apakah master mengirim data ke slave atau meminta data dari slave. (logika 0 = mengirim data ke slave, logika 1 = meminta data dari slave) kemudian ACK/ memberi kabar jika data frame ataupun address frame telah diterima receiver.
PRINSIP KERJA:
komunikasi I2C atau inter integrated circuit adalah komunikasi yang
memungkinkan terjadinya komunikasi antara controller. jenis komunikasi
ini memiliki pin sendiri pada arduino yaitu pin SDA dan SCL. setiap bit
akan ditransfer pada kaki SDA dan akan di sinkronisasikan oleh pulsa
clock pada SCL. setiap bit akan ditransfer pada pin SDA dalam bentuk 8
bit dan 1 bit ditransferkan pada clock atau SCL. untuk transfer data
pada I2C harus dalam bentuk 8 bit sehingga semua data yang ditransfer
dikonfersi kedalam bentuk 8 bit yaitu 256. rangkaian ini terdiri dari
potensiometer. potensiometer kaki ujungnya dihubunngkan dengan vcc dan
ground. lalu kaki tengah dihhubungkan dengan kaki input analog arduino
master. nilai yang diterima oleh pin analog adalah berdasarkan
perbandingan variabel resistor yang dipakai. lalu pin analog akan
membaca nilai yang dihasilkan potensiometer yaitu dengan rentang 0
sampai dengan 1023. untuk proses transver data data maksimal adalah
bernilai 255 ( data 8 bit). lalu dilakukan mapping untuk mengubah data
dengan rentang 0 sampai 1023 menjadi rentang 1 sampai 255 (berdasarkan
coding program arduino master). nilai hasil mapping akan dikirimkan
melalui pin komunikasi I2C dan diterima oleh arduino slave. arduino
slave akan membaca nilai yang dikirimkan kepadanya atau yang ia terima.
nnilai tersebut akan berada dalam rentang 1 sampai 255. data tersebut
akan dilakukan mapping kembali yaitu dari data 1 sampai 255 diubah
menjadi rentang 100 sampai 2000. lalu hasil mapping dengan nilai 100
sampai 2000 akan dijadikan nilai delay untuk LED. saat nilai yang dibaca
oleh potensiometer adalah 0 maka nilai hasil mapping master adalah 255.
lalu nilai 255 ditransmisikan ke slave. slave menerima nilai 255 dan
dilakukan mapping sehingga dihasilkan nilai 100. hasil 100 tersebut akan
dijadikan delay pada LED maka LED akn hidup selama 0.1 detik dan mati
selama 0.1 detik pula begitu seterusnya.
saat keadaan sebaliknya yaitu saat potensio membaca nilai 1023 maka
master akan melakukan mapping sehingga menghasilkan nilai 1. nilai 1
akan dikirimkan ke slave dan di mapping lagi oleh slave sehingga
menghasilkan nilai 2000. nilai 2000 dijadikan delay hidup dan mati LED.
artinya LED akan hidup selama 2 detik dan mati selama 2 detik.
pengaruh potensiometer kepada LED adalah besar nilai yang dihasilkan
oleh potensiometer akan mempengaruhi durasi hidup dan matinya LED.
alasannya adalah saat nilai yang dibaca oleh potensiometer adalah 0 maka
nilai hasil
mapping master adalah 255. lalu nilai 255 ditransmisikan ke slave. slave
menerima nilai 255 dan dilakukan mapping sehingga dihasilkan nilai 100.
hasil 100 tersebut akan dijadikan delay pada LED maka LED akn hidup
selama 0.1 detik dan mati selama 0.1 detik pula begitu seterusnya. dan
saat keadaan sebaliknya yaitu saat potensio membaca nilai 1023 maka
master akan melakukan mapping sehingga menghasilkan nilai 1. nilai 1
akan dikirimkan ke slave dan di mapping lagi oleh slave sehingga
menghasilkan nilai 2000. nilai 2000 dijadikan delay hidup dan mati LED.
artinya LED akan hidup selama 2 detik dan mati selama 2 detik. oleh
karena itu potensiometer akan mempengaruhi nilai delay dari keluaran
output arduino sebagai slave atau kecepatan kedip dari LED.
Tidak ada komentar:
Posting Komentar