PERCOBAAN 3 (Komunikasi I2C)




Komunikasi I2C






//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. Analisa [kembali]
1.Peran Potensiometer terhadap kedip LED
Semakin besar nilai potensiometer maka kecepatan kedip LED akan semakin cepat,
sedangkan jika nilai potensiometer semakin kecil, maka kecepatan kedipnya akan semakin
melambat

2. Apa yang terjadi jika <wire.h> dihapus?
Pada program arduino ini <wire.h> mempunyai fungsi untuk mendeklarasikan jika yang
digunakan komunikasi tipe serial I2C , Pin yang digunakan yaitu SDA dan SCL (Pin I2C)
Sehingga ketika library ini dihapus yang terjadi adalah LED hidup namun cahayanya redup.

6. Video [kembali]







7. Link Download [kembali]
Download Video download
Download HTML download

Tidak ada komentar:

Posting Komentar