Laporan Akhir 3 Modul 3






1. Komponen [kembali]

1.1 Motor DC

1.2 Button

1.3 Arduino Uno

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]

Rangkaian simulasi disini
Video simulasi disini
Listing Program master disini 
                           slave disini
HTML disini


Tidak ada komentar:

Posting Komentar