Laporan Akhir 2 (I2C)



-Potensiometer
-Arduino
-LED
-Resistor
-Ground




  Gambar Rangkaian Percobaan 




3. Flowchart   [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);
}


      








Video  Rangkaian Percobaan 


6. Kondisi  [kembali] 

Percobaan2: I2C

Jika menggunakan 2 slave pada I2C bagaimana cara master menentukan komunikasi dengan slave yang mana? Dan jelaskan program nya!

 

Pada rangkaian I2C ini master berfungsi untuk menguasai bus sehingga ia menggendalikan/menghasilkan serial clock dan juga membangkitkan sinyal start dan sinyal stop. Jadi master yang menentukan kapan komunikasi dimulai dan kapan  komunikasi diakhiri. Sementara slave menunggu dan  membaca perintah dari master.

 

Untuk Rangkaian  I2C dapat berkomunikasi dengan banyak slave dimana jika ingin menambahkan slave maka kita hubungkan kabel dari pin scl secara paralel ke slave, dan untuk koding arduinonya sama saja seperti slave sebelum nya, cuman pada koding ini kita membuat sejumlah kondisi untuk menentukan slave mana yang ingin kita hidupkan.

 

 






7. Link Download  [kembali]

File HTML - download
File rangkaian  - download
File video - download




Tidak ada komentar:

Posting Komentar