1. Komponen [kembali]
2. Rangkaian Simulasi [kembali]
3. Flowchart [kembali]
4. Listing Program [kembali]
//MASTER #include #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 #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. Analisa [kembali]
1. Percobaan 3 :
· Soal 1
Apabila
ada tambahan slave, bagaimana cara master membedakan satu slave dengan slave
lainnya pada i2C pada saat berkomunikasi? Apakah pada bagian program, atau
rangkaian, atau keduanya ?
§ Cara membdekan slave 1 dengan slave 2 adalah dengan
memberikan address yang berbeda atau nama yang berbeda pada kedua slave. Cara memberikan
addres yaitu membuat nama pada syntax wire.beginnya. Fungsinya untuk membedakan
kemana arah komunikasi tersebut berjalan.
7. Link Download [kembali]
Tidak ada komentar:
Posting Komentar