Laporan Akhir Perc 3 Modul 3


LAPORAN AKHIR 3


1. Komponen [Kembali]

  • arduino uno


  • Potensiometer



  • Resistor 


  • LED


2. Rangkaian Simulasi [Kembali]

Gambar 2. Rangakaian Percobaan 3


3.Flowchart [Kembali]


Gambar 3.1 Flowchart Program Master

Gambar 3.2 Flowchart Program Slave



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]

 
Video Penjelasan Rangakaian Percobaan

Penjelasan Rangkaian :

Rangkaian percobaan 3 ini merupakan rangkaian komunikasi Inter Integrated Circuit (I2C) adalah standar komunikasi serial dua arah menggunakan dua saluran yang di desain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master dan Slave. Master adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyalStop, dan membangkitkan sinyal clock. Slave adalah piranti yang dialamati master. merupakan komunikasi seial 2 arah pada rangkaian diatas digunakan komponen-komponen seperti 2 buah arduino, potensiometer, LED, resistor dan ground. potensiometer disini berfungsi sebagai input ke master, ketika potensiometer maksimum maka delay waktu hidup dan mati lampu makin cepat begitupun sebaliknya. LED sebagai output dari slave.


6. Kondisi [Kembali]

Analisa :

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

Jawab:

Tidak karena Master hanya dapat mengirimkan sejumlah byte (masing-masing 8 bit). Saat 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.

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

Jawab:

Format pengiriman data dari Master ke Slave mempergunakan komunikasi serial I2C. Komunikasi antara Master dengan Slave dimulai dengan membangkitkan pulsa START oleh Master. Pulsa START dibaca oleh Slave pada bus SDA dalam keadaan LOW pada saat pulsa clock dalam keadaan HIGH. Setelah pulsa START dikirimkan, maka pada clock berikutnya Master mengirimkan 8 bit alamat, yang dikirimkan secara serial melalui bus SDA, ke Slave dengan format B6, B5, B4, B3, B2, B1, B0, dan R/W. Bit alamat tersebut mengandung informasi R/W pada LSB. Jika LSB pada byte alamat “1” maka master membaca data dari Slave tetapi jika LSB byte alamat “0” maka master akan menulis pada slave. Karena hanya 7 bit yang dipergunakan dalam byte alamat maka banyaknya device yang dapat dijadikan slave hanya 127. Alamat 0 dipergunakan untuk General Call. Bila alamat dan perintah, Read atau Write, yang dikirimkan oleh master dapat diterima oleh slave maka slave akan membangkitkan pulsa LOW (ACK), pada bus SDA, jika perintah tersebut dapat dijalankan dan pulsa HIGH (NACK) jika perintah tersebut gagal. Sinyal dasar yang lain dalam I2C Bus adalah sinyal acknowledge yang disimbolkan dengan ACK Setelah transfer data oleh master berhasil diterima slave, slave akan menjawabnya dengan mengirim sinyal acknowledge, yaitu dengan membuat SDA menjadi “0” selama siklus clock ke 9. Ini menunjukkan bahwa Slave telah menerima 8 bit data dari Master. 

Address yang dapat tercipta oleh master dari kerja I2C bus dapat dibedakan menjadi format 7 bit addressing dan format 10 bit addressing,

Address byte terdiri dari bagian yang tetap dan bagian yang dapat diprogram, bagian yang tetap merupakan bawaan dari IC , sedangkan yang dapat diprogram biasanya berupa pin address pada IC yang bersangkutan, sebagai contoh IC PCF8591, memiliki address byte sbb : 1 0 0 1 A2 A1 A0 , dimana 1001 adalah bagian yang tetap dan A2,A1,A0 adalah bagian yang dapat diprogram sesuai dengan kondisi logika pada pin IC PCF8591. Sinyal Acknowledge (ACK) terjadi : Dari Slave ke Master Transmitter :

· Sesudah address byte diterima dengan baik oleh slave

· Setiap kali slave selesai menerima data byte dengan baik

Dari Master Receiver ke Slave :

 · Setiap kali Master selesai menerima data byte dengan baik Sinyal Negative Acknowledge (NACK) terjadi : Dari Slave ke Master Transmitter :

· Setelah slave gagal menerima address byte dengan baik

· Setiap kali slave gagal menerima data byte dengan baik

· Slave tidak terhubung pada bus

Dari Master Receiver ke slave :

· Setelah Master menerima data byte yang terakhir dari slave

7. Link Download [Kembali]

Download Video disini
Download Rangkaian  disini
Download HTML disini



Tidak ada komentar:

Posting Komentar