Percobaan 3 Modul 3




 

 











 


 

4. listing program [kembali]

//MASTER

#include <Wire.h>
#define SLAVE_ADDR 9

int analogPin = 0;
int val = 0;

void setup() {
  Wire.begin();
}

void loop() {
  delay(50);
  val = map(analogRead(analogPin), 0, 1023, 255, 1);

  Wire.beginTransmission(SLAVE_ADDR);
  Wire.write(val);
  Wire.endTransmission();

}
//SLAVE

#include <Wire.h>
#define SLAVE_ADDR 9

int LED = 13;
int rd;
int br;

void setup() {
  pinMode(LED, OUTPUT);
  Wire.begin(SLAVE_ADDR);
  Wire.onReceive(receiveEvent);

  Serial.begin(9600);
  Serial.println("I2C Slave demo");

}

void receiveEvent() {
  rd = Wire.read();
  Serial.println(rd);
}
void loop() {
  delay(50);

  br = map(rd, 1, 255, 100, 2000);

  digitalWrite(LED, HIGH);
  delay(br);
  digitalWrite(LED, LOW);
  delay(br);
}
5. Video [kembali]










6. prinsip kerja [kembali]

Prinsip kerja :  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 SlaveMaster adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop, dan membangkitkan sinyal clockSlave adalah piranti yang dialamati master.



7. analisa [kembali]


1. Apakah kita dapat mengirim data sebanyak 9 bit? Jelaskan alasannya

Kita dapat mengiring data lebih dari 9 bit itu dikarenakan bahwa pada komunikasi I2C kita memiliki keuntungan tidak dibatasinya jumbah bit data yang kita terima dan kita kirim 

hal itu disebab kan karna I2C merupakan gabungan dari SPI dan UART 

2. Bagaimana cara master mengirimkan address ke slave? Berapa bit address yang dikirim? Berapa addres unik yang dapat tercipta oleh master?

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 SlaveMaster adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop, dan membangkitkan sinyal clockSlave adalah piranti yang dialamati master

bit adrees yang akan dikirim tergantung berapa yang di programkan di arduinonya dan batasan nya pun lebih besar terhadap komunikasi lain.hal itu dikarenakan I2C merupakan gabungan dariu 2 buah komunikasi yaitu UART dan SPI

banyak pengiriman pada master tidak dibatasi dalam jumlahy berapa buah pengiriman yang akan diterima di slave 

 
KLIK INI UNTUK VIDEO