Laporan Akhir 2 Modul 3







1. Jurnal [Kembali]


Komunikasi I2C


2. Alat dan Bahan [Kembali]

A. Alat
1. Jumper

2. Breadboard
   
2. Kabel USB

 
B. Bahan
1. Potensiometer


2. Resistor


     
3. LED





4. Push Button


7. Mikrokontoler Arduino Uno





3. Rangkaian Simulasi [Kembali]




4. Prinsip Kerja Rangkaian [Kembali]

Rangkaian terdiri dari 1 Arduino Uno, 1 driver motor L293D, 1 motor dc, dan 1 potensiometer. Pin motor dc dihubungksn pin PWM yaitu pin 9.

Pin VSS dan VS dihubungkan ke pin power, 2 buah GND dihungkan ke pin GND, Enable 1 dan enable 2 dihubungkan ke kaki output potensiometer, input 1 dan 2 dihubungkan ke pin 9 dan 10 arduino, dan pin output 1 dan 2 dihubungkan ke motor dc.

Untuk program arduino dapat dibuat sebagai berikut.


//MASTER


#include <Wire.h> 

#define MASTER_ADDR 12


int analogPin = 0; 

int val = 0;


void setup() {

  Wire.begin();

  Serial.begin(9600);

}


void loop() { 

delay(50);

val = map(analogRead(analogPin), 0, 1023, 400, 1);


Wire.beginTransmission(MASTER_ADDR); 

Wire.write(val);

Wire.endTransmission();

Serial.println(val);

}


//SLAVE

#include <Wire.h> 

#define SLAVE_ADDR 12


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

Serial.println(br);

digitalWrite(LED, HIGH); 

delay(br); 

digitalWrite(LED, LOW); 

delay(br);


}


Percobaan yang dilakukan adalah percobaan 3 Komunikasi I2C. Komponen yang digunakan adalah Arduino Uno, Potensiometer, LED dan Resistor. Terdapat 2 program yang digunakan pada modul ini, program master dan slave. 

Pada program master dideklarasikan pin 9 sebagai alamat slave dan dimasukkan library Wire.h untuk komunikasi I2C. analogpin digunakan untuk pembacaan dari potensiometer. Pada void setup akan memulai wire library. Pada void loop, akan didelay 50 dan pembacaan dari potensiometer akan dipetakan ulang dari 0 - 1023 menjadi 255 - 1 lalu dimasukkan ke variabel val. Kemudian transmisi dimulai menuju slave dan wire akan menulis masukkan dari variabel val. transmisi berakhir. 

Pada program slave, bagian header nya di isi dengan deklarasi pin 13 untuk menghubungkan  LED dengan arduino, deklarasi variabel rd dan br dan library wire. Pada void setup LED diset menjadi output, memulai wire library dengan alamat slave yang telah ditentukan, slave akan menerima transmisi dari master, baudrate di set menjadi 9600 dan pada serial akan ditulis "I2C Slave demo". Pada void recieveEvent, pembacaan wire akan dimasukkan ke variabel rd dan ditulis ke serial. Pada void loop, akan didelay 50 dan pembacaan dari rd akan dipetakan ulang dari 1 - 255 menjadi 100 - 2000 lalu dimasukkan ke variabel br. Kemudian LED diberi logika HIGH, delay sebesar br, LED diberi logika LOW, delay sebesar br. Pada percobaan, ini apabila potensiometer diputar kekiri maka delay kedip LED akan semakin cepat dan apabila diputar ke kanan delay LED akan semakin lambat.

5. Video Rangkaian [Kembali]





6. Analisa [Kembali]

1.  Percobaan 1

1. Analisa apa yang akan terjadi jika master mengirimkan data angka lebih dari 255 ke slave?

Jawab:

Bila Master mengirimkan angka lebih dari 255 ke slave, maka slave akan menerima data berupa angka 1-255- 144 yang menyebabkan rentang nilainya menjadi acak. Master mengirim angka dari 400 sampai 1, sedangkan kecepatan kirim data dari slave yaitu 100 hingga 2000 ms. Dengan demikian semakin potensial diputar ke kanan atau diperbesar maka kecepatan LED untuk ON atau OFF akan semakin cepat dan sebaliknya jika semakin kecil potensiometer maka kecepatan LED untuk ON/OFF akan semakin lambat. Pada percobaan dapat dilihat bahwa saat potensiometer 50% maka kecepatannya sekitar 2000 ms saat 0% kecepatannya 1000 ms dan ketika 100% kecepatannya adalah 100 ms. 

 

2. Analisa apa yang akan terjadi jika pin SCL atau pin SDA diputus? 

Jawab: 

Saat pin SDA ataupun pin SCLdiputus maka tidak akan terjadi transfer data. Namun ketika pin SCL atau SDA dicabut saat proses transfer data maka data terakhir yang telah dikirim dari Master ke slave akan tetap diproses oleh slave sehingga LED akan tetap berkedip tetapi delaynya tidak bisa diubah dengan kecepatan sesuai data yang terakhir masuk sebelum PIN SDA atau SCL dicabut. Hal ini terjadi karena data tidak dapat dikirim karena pin SCL berfungsi sebagai clock yang digunakan untuk proses transfer data dan pin SDA berfungsi untuk memilih alamat dari slave sehingga ketika salah satu pin tersebut dicabut maka data tidak akan bisa dikirim

  

7. Link Download [Kembali]
  • Download rangkaian simulasi Klik
  • Download video simulasi Klik
  • Download listing program Klik
  • Download HTML  Klik
  • Download library Arduino Uno  Klik
  • Download datasheet Arduino Uno  Klik
  • Download datasheet resistor Klik
  • Download datasheet potensiometer Klik
  • Download datasheet SPDT Klik
  • Download datasheet LED Klik



Tidak ada komentar:

Posting Komentar

BAHAN PRESENTASI UNTUK MATAKULIAH ELEKTRONIKA Oleh Annisa Az-Zahra 2010952058 Dosen Pengampu: Darwison, M.T. JURUSAN TEKNIK ELEKTRO FAKULTAS...