percobaan 2



MODUL 3
COMMUNICATION

PERCOBAAN 3
"KOMUNIKASI INTER INTEGRATED CIRCUIT I2C"

[KEMBALI KE MENU SEBELUMNYA]
      1. hardware[kembali]

1. potensiometer

2. arduino
3. led

3. flowchart[kembali]

 
master
slave


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 percobaan [kembali]








6. analisa [kembali]

komunikasi I2C atau inter integrated circuit adalah komunikasi yang memungkinkan terjadinya komunikasi antara controller.  jenis komunikasi ini memiliki pin sendiri pada arduino yaitu pin SDA dan SCL. setiap bit akan ditransfer pada kaki SDA dan akan di sinkronisasikan oleh pulsa clock pada SCL. setiap bit akan ditransfer pada pin SDA dalam bentuk 8 bit dan 1 bit ditransferkan pada clock atau SCL. untuk transfer data pada I2C harus dalam bentuk 8 bit sehingga semua data yang ditransfer dikonfersi kedalam bentuk 8 bit yaitu 256. rangkaian ini terdiri dari potensiometer. potensiometer kaki ujungnya dihubunngkan dengan vcc dan ground. lalu kaki tengah dihhubungkan dengan kaki input analog arduino master. nilai yang diterima oleh pin analog adalah berdasarkan perbandingan variabel resistor yang dipakai. lalu pin analog akan membaca nilai yang dihasilkan potensiometer yaitu dengan rentang 0 sampai dengan 1023. untuk proses transver data data maksimal adalah bernilai 255 ( data 8 bit). lalu dilakukan mapping untuk mengubah data dengan rentang  0 sampai 1023 menjadi rentang 1 sampai 255 (berdasarkan coding program arduino master). nilai hasil mapping akan dikirimkan melalui pin komunikasi I2C dan diterima oleh arduino slave. arduino slave akan membaca nilai yang dikirimkan kepadanya atau yang ia terima. nnilai tersebut akan berada dalam rentang 1 sampai 255. data tersebut akan dilakukan mapping kembali yaitu dari data 1 sampai 255 diubah menjadi rentang 100 sampai 2000. lalu hasil mapping dengan nilai 100 sampai 2000 akan dijadikan nilai delay untuk LED. saat nilai yang dibaca oleh potensiometer adalah 0 maka nilai hasil mapping master adalah 255. lalu nilai 255 ditransmisikan ke slave. slave menerima nilai 255 dan dilakukan mapping sehingga dihasilkan nilai 100. hasil 100 tersebut akan dijadikan  delay pada LED maka LED akn hidup selama 0.1 detik dan mati selama 0.1 detik pula begitu seterusnya.

saat keadaan sebaliknya yaitu saat potensio membaca nilai 1023 maka master akan melakukan mapping sehingga menghasilkan nilai 1. nilai 1 akan dikirimkan ke slave dan di mapping lagi oleh slave sehingga menghasilkan nilai 2000. nilai 2000 dijadikan delay hidup dan mati LED. artinya LED akan hidup selama 2 detik dan mati selama 2 detik.

pengaruh potensiometer kepada LED adalah besar nilai yang dihasilkan oleh potensiometer akan mempengaruhi durasi hidup dan matinya LED.  alasannya adalah saat nilai yang dibaca oleh potensiometer adalah 0 maka nilai hasil mapping master adalah 255. lalu nilai 255 ditransmisikan ke slave. slave menerima nilai 255 dan dilakukan mapping sehingga dihasilkan nilai 100. hasil 100 tersebut akan dijadikan  delay pada LED maka LED akn hidup selama 0.1 detik dan mati selama 0.1 detik pula begitu seterusnya. dan saat keadaan sebaliknya yaitu saat potensio membaca nilai 1023 maka master akan melakukan mapping sehingga menghasilkan nilai 1. nilai 1 akan dikirimkan ke slave dan di mapping lagi oleh slave sehingga menghasilkan nilai 2000. nilai 2000 dijadikan delay hidup dan mati LED. artinya LED akan hidup selama 2 detik dan mati selama 2 detik. oleh karena itu potensiometer akan mempengaruhi nilai delay dari keluaran output arduino sebagai slave atau kecepatan kedip dari LED.

Komentar :

Posting Komentar