LAPORAN AKHIR PERCOBAAN 3

Laporan Akhir 3


Komunikasi I2C

1. Hardware [kembali]




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);
}

6. Analisa [kembali]

1.      Bagaimana pengaruh potensiometer terhadap nyala LED?

Semakin mendekati VCC maka kedip LED akan semakin cepat dan bila diputar mendekati nilai Ground, maka kedip LED semakin lambat. Hal ini dipengaruhi oleh besarnya hambatan, jika mendekati nilai VCC maka hambatannya semakin kecil, begitu pula sebaliknya.

2.      Apa fungsi libray <Wire.h>

Wire.h menandakan bahwa bahwa Arduino menggunakan komunikasi I2C. Komunikasi I2C juga dapat dilihat melalui rangkaian yang digunakan. Prinsip kerjanya adalah data bus bekerja secara 2 arah dan clock bus bekerja dari master sebagai output dan slave sebagai input.

3.      Jelaskan prinsip kerja rangkaian

Master menerima input dari potensiometer. Kemudian data yang diterima tadi ditransfer ke slave. Setelahnya, data tersebut akan diolah oleh Arduino dan LED akan bertindak sebagai output dengan kecepatan kedip LED.

7. Link Download [kembali]
File HTML - Download
File Proteus - Download
File Program master - Download
File Program slave - Download
Video Rangkaian - Download

Tidak ada komentar:

Posting Komentar