Laporan Akhir Percobaan 3

 





1. Hardware [Kembali]

Arduino Uno

Potensio

LED



2. Rangkaian Simulasi [Kembali]



3. Flowchart [Kembali]

 





4. Listing Program [Kembali]

- Master

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

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


Prinsip Kerja ; 

Pada komunikasi I2C menggunakan 2 kabel yaitu Serial clock (SCL) dan Serial data (SDA). Master terhubung dengan kaki output dari potensiometer melalui pin analog A0. Sedangkan slave terhubung dengan resistor dan LED melalui pin 13 . Listing program mengatur fungsi potensiometer pada rangkaian ini sebagai pengatur kecepatan hidup-matinya LED.



6. Analisa [Kembali]

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

Jawab :

Tidak. Banyaknya data yang dapat dikirim pada komunikasi I2C adalah 8 bit. Dalam 1 siklus pengiriman data, 1 paket data terdiri atas maksimal 32 bit dengan komponen berupa kondisi start, Address Frame, R/W bit, ACK/NACK bit, Data Frame 1, Data Frame 2, dan kondisi Stop.

 

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

Jawab :

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 SlaveMaster adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop, dan membangkitkan sinyal clockSlave adalah piranti yang dialamati master

bit adrees yang akan dikirim tergantung berapa yang di programkan di arduinonya dan batasan nya pun lebih besar terhadap komunikasi lain.hal itu dikarenakan I2C merupakan gabungan dariu 2 buah komunikasi yaitu UART dan SPI

banyak pengiriman pada master tidak dibatasi dalam jumlahy berapa buah pengiriman yang akan diterima di slave


7. Link Download [Kembali]

HTML - Download
Simulasi Proteus - Download
Listing Program Master - Download
Listing Program Slave - Download
Video - Download

Tidak ada komentar:

Posting Komentar