Laporan akhir (percobaan 3) modul 3








komponen yang digunakan:
1.simulino uno

Gambar 1.simulino uno

2.LED BLUE







Gambar 2.LED BLUE
3.button






Gambar 3.button


4.resistor 220


Gambar 4.resistor 220
5.potensiometer



Gambar 5.potensiometer 1k




hardware:


Gambar 6.LED



Gambar 7.button





2. Rangkaian Simulasi [kembali]






Gambar 8.rangkaian simulasi








Gambar 9.flowchart




//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]

PERCOBAAN 3 [I2C]:

1.Apakah kita dapat mengirim data sebanyak 9 bit? Jelaskan alasannya

Jawab:

           Tidak bisa karena data yang masuk berupa frame data 1 dan frame data 2 dan ada data stop,jadi satu frame terdiri 8  bit data karena ada dua frame maka ada 16 bit data lalu ditambahkan dengan satu bit stop ,jadi satu siklus terdapat 17  bit data ditambah kondisi start bit,address frame,R/W bit ,ACK/NACK bit jadi data totalnya adalah 32 bit.

2.Apa pengaruh potensiometer terhadap output (LED)

Jawab:

           Berdasarkan praktikum yang telah dilaksanakan potensiometer berpengaruh pada intensitas menyala-redup pada output lednya,jika tahanan potensiometer diperbesar maka intensitas menyala-redupnya lambat ini dikarenakan tahanan potensiometernya besar,sebaliknya,jika tahanan potensiometer diperkecil maka intensitas menyala-redupnya semakin cepat ini dikarenakan tahanan potensiometer kecil sehingga arus besar mengalir .Namun pada proteus tidak terlalu nampak perubahan intensitasnya,pada saat diaplikasikan pada alat maka akan terlihat perbedaannya jika tahanan pada potensiometer diubah-ubah.

3. Jelaskan prinsip kerja I2C pada rangkaian

Jawab:

Pada rangkaian terdapat dua simulino uno yaitu master dan slave ,ada potensiometer 1k ,led blue dan resistor 220.pada potensiometer 1k terdapat 3 kaki ,kaki pertama dihubungkan ke pin 5V master ,pin kedua dihubungkan ke pin A0 master dan kaki ketiga dihubungkan ke ground.lalu kaki ground master dihubungkan kekaki ground slave .pin A4 master dihubungkan ke pin A4 slave dan pin A5 master dihubungkan ke A5 slave dan pin 13 slave dihubungkan ke resistoe 220 lalu ke led blue dan ke ground.Pada master pertama dibuat library include <Wire.h> dan dibuat #define SLAVE_ADDR 9 lalu dibuat int analogPin = 0 lalu dibuat int val = 0 ,void setup() ,lalu dibuat Wire.begin().setelah itu dibuat void loop dimana fungsi ini dapat dieksekusi secara berulang.lalu dibuat delay(50), val = map(analogRead(analogPin), 0, 1023, 255, 1), Wire.beginTransmission(SLAVE_ADDR),Wire.begin Transmission(SLAVE_ADDR),Wire.write(val) dan dibuat Wire.end Transmission .

Pada slave dibuat library #include <Wire.h> dan #define SLAVE_ADDR 9 lalu dideklarasikan int LED = 13 ,int rd ,int br.lalu dibuat void set up dimana semua kode didalamnya dieksekusi sekali saja. Selanjutnya dibuat pinMode(LED, OUTPUT) yaitu led sebagai output ,lalu dibuat Wire.begin(SLAVE_ADDR) lalu dibuat Wire.onReceive(receiveEvent) , lalu di set Serial.begin(9600); Serial.println ("I2C Slave demo") . selanjutnya dibuat void receiveEvent(),  rd = Wire.read() dan Serial.println(rd)  .lalu dibuat void loop dimana fungsi ini dapat dieksekusi secara berulang ,lalu dibuat delay(50)  , br = map(rd, 1, 255, 100, 2000),  digitalWrite(LED, HIGH) menyatakan led menyala , delay(br)sebagai delaynya ,selanjutnya digital Write(LED, LOW) menyatakan led mati terdapat  delay(br).

Pada rangkaian data akan ditransferkan dalam bentuk message yang terdiri dari kondisi start ,address frame,R/W bit,ACK/NACK bit ,data frame 1 ,data frame 2 dan kondisi stop.pada kondisi start SDA beralih dari logika high ke low sebelum SCL.sedangkan pada kondisi stop saat SDA beralih dari logika low ke high sebelum SCL.saat tahanan pada potensiometer diperbesar maka intensitas led meyala-redup lambat hal ini dikarenakan karena tahanan besar,namun saat potensiometer tahanannya diperkecil maka intensitas nyala redupnya semakin cepat hal ini dikarenakan tahanan kecil.R/W berfungsi untuk menentukan apakah master mengirim data ke master atau meminta data dari slave sedangkan ACK/NACK bit berfungsi sebagai pemberi kabar jika data frame ataupun address frame telah diterima receiver.

7. Link Download [kembali]

Download video simulasi disini
Download rangkaian simulasi disini
Download HTML disini
Download program arduino slave disini
Download program arduino master disini



Tidak ada komentar:

Posting Komentar