Rabu, 28 Oktober 2020

Laporan 3 Percobaan 3





1. Komponen [Kembali]

Gambar1. Button hardware
Gambar2.LED Hardware

Gambar3. Potensiometer Hardware

Gambar 4 . Potensiometer

Gambar 5. LED

Gambar 6. Arduino

2.Rangkian 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.Kondisi [Kembali]

ANALISIS PERCOBAAN 3 [I2C]:

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

Jawab:

Jika mengirim data, Master hanya dapat mengirimkan sejumlah byte (masing-masing 8 bit). Saat memuliah 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 acknowledge / ACK (berlogika 0) yang dikeluarkan Slave kembali untuk dapat menerima data selanjutnya hingga SDA menerima sinyal Not Acknowladge / NACK (berlogika 1) untuk mengakhirim transfer data.

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

Jawab:

dapat dijadikan slave hanya 127. Alamat 0 dipergunakan untuk General Call. Bila alamatdan   perintah,R/W,   yang   dikirimmaster   dapat   diterima   oleh   slavedanakanmembangkitkan   pulsa   LOW   (ACK),   pada   bus   SDA,   jika   perintah   tersebut   dapatdijalankan dan pulsa  HIGH (NACK) jika perintah tersebut  gagal.Sinyal  dasar  yang laindalam   I2C   Bus   adalah   sinyalacknowledgeyang   disimbolkan   dengan   ACK   Setelahtransfer   data   olehmasterberhasil   diterimaslave,   slaveakan   menjawabnya   denganmengirim   sinyalacknowledge,   yaitu   dengan   membuat   SDA   menjadi   “0”   selamasiklusclockke  9.  Ini  menunjukkan  bahwaSlavetelah  menerima  8  bit  data  dariMaster.Address  yang  dapat  tercipta  oleh  master  dari  kerja  I2C  bus  dapat  dibedakan  menjadiformat 7 bit addressing dan format 10 bit addressing.Address  byte  terdiri  dari  bagian  yang  tetap  dan  bagian  yang  dapat  diprogram,  bagianyang tetap merupakan bawaan dari IC, sedangkan yang dapat diprogram biasanya berupapin  address  pada  IC  yang  bersangkutan,  sebagai  contoh  IC  PCF8591,  memiliki  addressbyte  sbb  :  1  0  0  1  A2  A1  A0  ,  dimana  1001  adalah  bagian  yang  tetap  dan  A2,A1,A0adalah bagian yang dapat diprogram sesuai dengan kondisi logika pada pin IC PCF8591.Sinyal   Acknowledge   (ACK)   terjadi,Dari   Slave   ke   Master   Transmitter,   kemudianSesudah  address  byte  diterimaslave.Setiap  kali  Master  selesai  menerima  data  bytedengan  baik  Sinyal  Negative  Acknowledge  (NACK)  terjadi,  makadariSlave  ke  MasterTransmitter

7.Link Download [Kembali]

file rangkaian - download

file program master - download

file program slave - download

video penjelasan -download

file html - download