- Motor DC
- Potensiometer
- Arduino uno
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
Video klik disini
Listing Program
Master klik disini
Slave klik disini
html klik disini
Tidak ada komentar:
Posting Komentar