.




1. Rangkaian





3. Flowchart

[kembali]

Master







Slave







.


4. Listing Program

//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 Simulasi

[kembali]






.

6. Analisa dan Pembahasan

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 menghentikan transfer data.

 

2. Apa pengaruh potensiometer terhadap output (LED)

Jawab :

Potensiometer berpengaruh terhadap kecepatan clock pada LED, pada saat potensiometernya diperbesar maka kecepatan delay LED cepat, sehingga LED akan berkedip dengan cepat. Jika nilai potensiometernya diperkecil, maka resistansi akan besar sehingga kecepatan delay LED lambat dan LED akan berkedip dengan sangat lambat juga.

 

3. Jelaskan prinsip kerja I2C pada rangkaian

Jawab :

Inter Integrated Circuit atau sering disebut I2C adalah komunikasi serial dua arah menggunakan dua saluran yang didisain 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 sinyal Stop, dan membangkitkan sinyal clock. Slave adalah piranti yang dialamati master.Sinyal Start merupakan sinyal untuk memulai semua perintah, didefinisikan sebagai perubahan tegangan SDA dari “1” menjadi “0” pada saat SCL “1”. Sinyal Stop merupakan sinyal untuk mengakhiri semua perintah, didefinisikan sebagai perubahan tegangan SDA dari “0” menjadi “1” pada saat SCL “1”.Sinyal dasar yang lain dalam I2C Bus adalah sinyal acknowledge yang disimbolkan dengan ACK, yang berfungsi sebagai pemberi kabar. 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.


7. Link Download 

Link Rangkaian  download

Link Program Arduino Master download

Link Program Arduino Slave download

Link Video download

Tidak ada komentar:

Posting Komentar

Sumber : Pengenalan Konsep Pembelajaran Mesin dan Deep Learning Oleh Jan Wira Gotama Putra [KEMBALI KE MENU SEBELUMNYA] ...