Laporan Akhir Percobaan 3 Modul 3







1. Komponen  [kembali]

1. potensiometer

    2. LED

    3. Arduino
    



2. Rangkaian Simulasi  [kembali]




3. Flowchart [kembali]




4. Listing Program  [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);
 
}



5. Video [kembali]







6. Analisa [kembali]

1.      Apakah kita dapat mengirim data sebanyak 9 bit? Jelaskan alasannya

Jawab:

Tidak bisa, karena dalam mengirim data, Master hanya dapat mengirimkan data sebanyak 8 bit/frame, sedangkan pada bit ke-9, bit tersebut akan dikeluarkan oleh Slave sebagai tanda bahwa data telah diterima oleh receiver (ACK/NACK). Kemudian, Master akan menulis data 8 bit (Data frame) dan bit-9 oleh Slave sebagai sinyal acknowledge / ACK (berlogika 0) yang dikeluarkan Slave kembali untuk dapat menerima data selanjutnya hingga SDA menerima sinyal Not Acknowladge / NACK (berlogika 1) untuk mengakhiri transfer data.

2.      Bagaimana cara master mengirimkan address ke slave? Berapa bit address yang dikirim? Berapa addres unik yang dapat tercipta oleh master?

Jawab:

Pada awalnya, master akan membaca nilai output dari potensiometer yang berupa sinyal digital. Master hanya dapat mengirimkan sejumlah byte (masing-masing 8 bit). Saat memulai proses transmitting dari Master, 7 bit pertama sebagai alamat Slave yang akan dituju (Address frame), 1 bit kemudian sebagai R/W bit untuk memberitahukan ke Slave-slave apakah Master akan menerima atau mengirimkan data. Sedangkan bit ke-9, bit tersebut akan dikeluarkan oleh Slave sebagai tanda bahwa data telah diterima oleh receiver (ACK/NACK). Kemudian, Master akan menulis data 8 bit (Data frame) dan bit-9 oleh Slave sebagai sinyal ACK (berlogika 0) yang dikeluarkan Slave kembali untuk dapat menerima data selanjutnya hingga SDA menerima sinyal NACK (berlogika 1) untuk menghentikan transfer data.



7. Link Download [kembali]


Download Rangkaian - Download

Download Listing Program Master – Download

Download Listing Program Slave – Download

Download Video - Download

Download HMTL - Download




Tidak ada komentar:

Posting Komentar