Inter Integrated Circuit



1. Komponen (kembali)
- Motor DC
- Potensiometer
- Arduino uno


Prinsip kerja
Pada rangkaian tersebut menggunakan sistem komunikasi I2C (Inter Itegrated Circuit). I2C terdapat 2 saluran yang digunakan yaitu SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. data ditransfer 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 percobaan ini menggunakan potensiometer sebagai input dan motor dc sebagai output. Motor dc akan berputar searah jarum jam dan kecepatan motor dc akan sebanding dengan nilai potensiometer. Semakin besar nilai potensiometer maka akan semakin cepat motor dc berputar.
 




//MASTER
#include <Wire.h>
#define MASTER_ADDR 9
int analogPin = 0;
int val = 1;
void setup() {
Wire.begin();
}
void loop() {
delay(50);
val = map(analogRead(analogPin),  0, 1023, 0, 255);
Wire.beginTransmission(MASTER_ADDR);
Wire.write(val);
Wire.endTransmission();
}

// SLAVE
#include <Wire.h> // library komunikasi I2C
#define SLAVE_ADDR 9 // menyatakan alamat I2C (0 - 127)

byte motor= 13; //Deklarasi pin 9 untuk motor
int rd;
int br;

void setup() {
// put your setup code here, to run once:
pinMode(motor, OUTPUT); //Deklarasi motor sebagai OUTPUT
Wire.begin(SLAVE_ADDR);
Wire.onReceive(receiveEvent); // menyatakan sebagai penerima
}

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

void loop() {
// put your main code here, to run repeatedly:
delay(50);

br = map(rd,  0, 1023, 0, 255);
analogWrite(motor, rd);
}




Kondisi : Ganti led dengan motor DC. Buat motor dc berputar searah jarum jam dan sebanding dengan potensiometer

1. Jelaskan pengaruh nilai potensiometer terhadap output rangkaian
Nilai potensiometer akan mempengaruhi kecepatan pada motor dc, semakin besar nilai potensiometer makan akan semakin cepat pula motor dc bergerak.

2. Pada komunikasi I2C, apakah memungkinkan menggunakan lebih dari 1 master dalam sistem yang sama? Jelaskan alasannya!
Pada i2c hanya bias menggunakan 1 master tetapi dapat menggunakan lebih dari 1 slave. Jika terdapat 2 master pada satu 1 sistem rangkaian tidak berjalan dan slave tidak memberikan reapon.

3. Bagaimana mengontrol kecepatan dan arah Motor DC pada percobaan ini? Jelaskan!
Kecepatan motor dc dapat dikontrol menggunakan potensiometer, kecepatan motor dc akan sebanding dengan nilai potensiometer. Arah motor dc dapat diatur dengan mengatur pin pada motor dc yang dihubungkan ke arduino dan yang dihubungkan dengan ground 



Rangkaian klik disini
Listing Program

Tidak ada komentar:

Posting Komentar

Home

  Bahan Presentasi ini dibuat untuk Memenuhi Tugas Mata Kuliah Sistem digital Oleh: Muamar Yodha Pratama Rambang 1910951006 Dosen Pengampu: ...