Laporan Akhir 3 Modul 3
1. Komponen [kembali]
2. Rangkaian Simulasi [kembali]
3. Flowchart [kembali]
4. Listing Program [kembali]
//MASTER
#include <Wire.h>
#define BUTTON A0
#define MASTER_ADDR 9
void setup(){
Wire.begin();
pinMode(BUTTON, INPUT);
}
void loop(){
delay(50);
int button_status = digitalRead(BUTTON);
Wire.beginTransmission(MASTER_ADDR);
Wire.write(button_status);
Wire.endTransmission();
}
//SLAVE
#include <Wire.h>
#define SLAVE_ADDR 9
int MOTOR1 = 13;
int MOTOR2 = 12;
int rd;
void setup(){
pinMode(MOTOR1, OUTPUT);
pinMode(MOTOR2, 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(){
if(rd == HIGH){
digitalWrite(MOTOR1, HIGH);
digitalWrite(MOTOR2, LOW);
}else{
digitalWrite(MOTOR1, LOW);
digitalWrite(MOTOR2, HIGH);
}
}
5. Video Simulasi [kembali]
6. Analisa [kembali]
1.
Jelaskan
bagaimana cara menghubungkan rangkaian I2C dengan slave lebih dari satu, dan
jelaskan bagaimana komunikasi antara master dan slavenya.
Jawab;
Pada Rangkaian I2C yang memiliki
Slave yang lebih satu, Master dan Slave dihubungkan secara parallel. Untuk
memulai tindakan Master terhadap Slave dikirimkan start sequence lalu alamat perangkat Slave yang dituju.
Kemudian Master melakukan tindakan ( write atau read ), dan mengirimkan stop
sequence untuk mengakhiri komunikasi data.
7. Link Download [kembali]
Tidak ada komentar:
Posting Komentar