1. Komponen [kembali]
2. Gambar Rangkaian [kembali]
3. Flowchart [kembali]Gambar 5. Rangkaian Simulasi |
Gambar 6. Rangkaian simulasi setelah dijalankan |
Gambar 7. Flowchart Master
|
LISTING MASTER
//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();
}
LISTING SLAVE
//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);
}
1.
Jika
menggunakan 2 slave bagaimanakah cara master menentukan berkomunikasi dengan
slave yang mana?
Jawab:
Pada rangkaian komunikasi I2C dapat berkomunikasi dengan
menggunakan banyak. Jika kita ingin menambahkan slave maka kita menghubungkan
slave tersebut ke pin SCL secara pararel 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.
Tidak ada komentar:
Posting Komentar