Laporan Akhir Percobaan I2C





1. Komponen   [kembali]


1. Arduino

Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel. Arduino yang kita gunakan dalam praktikum ini adalah Arduino Uno yang menggunakan chip AVR ATmega 328P. Dalam memprogram Arduino, kita bisa menggunakan komunikasi serial agar Arduino dapat berhubungan dengan komputer ataupun perangkat lain. 

2.  Potensiometer

Jual Potensiometer 50k resistor variable 50 k resistor 3 pin - Kota Medan -  CV. Teknologi Tepat Guna | Tokopedia

Potensiometer (POT) adalah salah satu jenis Resistor yang Nilai Resistansinya dapat diatur sesuai dengan kebutuhan Rangkaian Elektronika ataupun kebutuhan pemakainya. Potensiometer merupakan Keluarga Resistor yang tergolong dalam Kategori Variable Resistor.

3.  LED (Light Emitting Diode)


Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika yang dapat memancarkan  cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Warna-warna Cahaya yang dipancarkan oleh LED tergantung pada jenis bahan semikonduktor yang dipergunakannya. LED juga dapat memancarkan sinar inframerah yang tidak tampak oleh mata seperti yang sering kita jumpai pada Remote Control TV ataupun Remote Control perangkat elektronik lainnya.









3. Flowchart   [kembali]

Gambar Flowchart Master





Gambar Flowchart Slave




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







6. Analisa   [kembali]

Percobaan 3 I2C

Jika menggunakan 2 slave pada I2C bagaimana cara master menentukan komunikasi dengan slave yang mana? Dan jelaskan program nya

 

Master dapat menentukan waktu dimulainya komunikasi dan kapan  komunikasi diakhiri. Sementara slave menunggu perintah yang dikirim dari master.

Untuk Rangkaian  I2C dapat berkomunikasi dengan banyak slave. Jika kita menambahkan slave maka kita hubungkan kabel dari pin scl secara paralel dan untuk koding arduino sama saja seperti slave sebelum nya, hanya saja pada koding ini kita membuat sejumlah kondisi untuk menentukan slave mana yang ingin kita hidupkan.

 


7. Link Download   [kembali]

Rangkaian Simulasi - Download
Listing Program - Master / Slave
Video Simulasi - Download
HTML - Download




Tidak ada komentar:

Posting Komentar