MODUL 3 PERCOBAAN 3





KOMUNIKASI I2C


1. Hardware [kembali]


Gambar 1. POT

Gambar 2. LED

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);
}
5. Video Praktikum [kembali]

6. Analisa [kembali]
   a) Jelaskan pengaruh potensiometer pada percobaan!
       Pengaruh potensiometer adalah sebagai pengatur kecepatan LED itu berkedip semakin besar nilai pada potensiometer maka semakin cepat LED berkedip, dan sebaliknya jika nilai potensiometer maka LED akan lama berkedip.
    b) Jika library wire.h dihilangkan apa yang terjadi?
        Kita tidak bisa memanggil perintah masukan dan keluaran yg kita mau untuk komunikasi I2C.

7. Link Download [kembali] 
File Proteus - Download
File Program - Download
Video Pratikum - Download

Tidak ada komentar:

Posting Komentar