Laporan Akhir ( Percobaan 3 kondisi 1)





1. Komponen[kembali]

a. Arduino UNO
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.



b. Motor DC
Motor DC adalah perangkat elektronika yang dapat mengubah energi listrik menjadi energi mekanik. Cara kerja motor DC dalam mengubah energi ialah dengan mengambil daya listrik melalui arus searah yang kemudian diubah menjadi rotasi mekanis.




c. Potensiometer




Potensiometer adalah salah satu jenis resistor yang nilai resistansinya dapat diatur sesuai dengan kebutuhan rangkaian elektronika ataupun kebutuhan pemakainya. 

d. LCD 

 LCD atau Liquid Crystal Display adalah suatu jenis media display (tampilan) yang menggunakan kristal cair (liquid crystal) untuk menghasilkan gambar yang terlihat.

e. Resistor

2. Rangkaian Simulasi[kembali]

Ketika Potensiometer 0%

Ketika Potensiometer 100%

Prinsip Kerja :

  Pada percobaan ini dilakukan percobaan I2C untuk melakukan komunikasi antar dua Arduino UNO. Sebuah arduino digunakan sebagai master dan yang lainnya sebagai slave. Hubungan arduino MASTER-SLAVE terhubung pada pin SDA dan SCL masing-masing pada pin A4 dan A5. Pada pin A0 arduino master terhubung ke push potensiometer, potensiometer terubung ke VCC  dan ke ground, sesuai dengan kondisi jika ptensiometer 0% maka led hidup namun jika potensiometer 100% maka led mati.

3. Flowchart[kembali]





4. Listing Program[kembali]

//MASTER


#include <Wire.h>
#define MASTER_ADDR 9
//0-127 alamat 12c
int analogPin = 0;
int val = 0;//dari mapping

void setup() {
  Wire.begin();//siap mengirimkan data
}

void loop() {
  delay(50);
  val = map(analogRead(analogPin), 0, 1023, 255, 1);//pembacaan potensiometer, prubahan poten, proses adc
  //0-123adc
  //1-255pwm

  Wire.beginTransmission(MASTER_ADDR);//memulai transmisi
  Wire.write(val);//dituliaskan sesuai dg value y didapatkan
  Wire.endTransmission();//berhenti

}

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

}

void receiveEvent() {
  rd = Wire.read();
}
void loop() {
 delay(50);

  br = map(rd, 1, 255, 100, 2000);

  if (br == 2000){
  delay(1000);
  digitalWrite(LED, HIGH);
  }else{
  delay(1000);
  digitalWrite(LED, LOW);
  }
}


5. Video[kembali]




6. Kondisi[kembali]

Percobaan 3 kondisi 1:  Buatlah led menyala ketika potensiometer 0% dan led padam ketika potensiometer 100%

Analisa :

1. Jelaskan bagaimana cara menghubungkan rangkaian I2C dengan slave lebih dari satu, dan jelaskan bagaimana komunikasi antara master dan slavenya.

Jawab :


I2C (Inter Integrated Circuit) merupakan komunikasi serial synchrounous yang memperhatikan clock yang di desain khusus hanya memiliki dua pin saja. Dimana pin yang digunakan yaitu saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya.

Pengiriman data pada I2C  yaitu half duplex dimana data yang dikirimkan yaitu satu persatu seperti master mengirimkan data ke slave dan sebaliknya slave dapat mengirimkan data ke master namun tidak dalam satu waktu makanya pada pin SDA memiliki tanda panah yang dua arah artinya bisa ke master dan bisa ke slave. Jadi pada saat kita mengirimkan data  pada master akan membentuk yang namanya sinyal start yaitu sinyal yang digunkana untuk memulai komunikasi dan sinyal stop digunakan untuk menandakan proses pengiriman data pada I2C selesai. Dan pada master yaitu kita juga akan membangkitkan CLK.

Jadi untuk pengiriman data pada I2C yaitu berdasrkan timing diagramnya :

 



Sinyal start yang ada pada diagram ditandakan dengan perubahan logika pada SDA dari logika high (1) menjadi logika low (0) pada saat tegangan di scl adalah 1. Sedangkan sinyal stop adalah perubahan SDA dari logika low (0) ke logika high (1) pada saat tegangan di scl adalah 0. Dan bagian tengah pada diagram merupakan data yang kita kirimkan Jadi pada saat master yang mengirim data maka slave yang akan menjadi penerima data begitu juga sebaliknya jika slave sebagai pengirim data maka master yang akan menerima data.

7. Link Download[kembali]

Rangkaian proteus klik disini

Video simulasi klik disini

Flowchart klik disini

File listing program Master klik disini

File listing program Slave klik disini

Library Arduino Klik disini

Datasheet arduino disini

HTML klik disini


Tidak ada komentar:

Posting Komentar