Modul 3 : Percobaan 3

1. Komponen[kembali]

Tujuan

  • Memahami prinsip kerja I2C
  • Mengaplikasikan protokol komunikasi I2C pada Arduino.

Kondisi

Ganti LED menjadi Motor DC, Buatlah kondisi Motor DC berputar searah jarum jam.


2. Rangkaian Simulasi [kembali]


3. Listing Program [kembali]


Master

#include <Wire.h>

#define SLAVE_ADDR 9


int analogPin = A0;

int val = 0;


void setup() {

  Wire.begin();

}


void loop() {

  delay(50);

  val = map(analogRead(analogPin), 0, 1023, 1, 255);


  Wire.beginTransmission(SLAVE_ADDR);

  Wire.write(val);

  Wire.endTransmission();


}



Slave

#include <Wire.h>

#define SLAVE_ADDR 9


int motor1 = 13;

int motor2 = 12;

int rd;

int br;


void setup() {

  pinMode(motor1, OUTPUT);

  pinMode(motor2, 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(motor1, LOW);

  digitalWrite(motor2, HIGH);

  delay(br);

  digitalWrite(motor1, LOW);

  digitalWrite(motor2, LOW);

  delay(br);

}

4. Video [kembali]

5. Hardware[kembali]

Alat

  • Arduino UNO

  • Button

  • Buzzer

Bahan
  • Arduino IDE


6. Analisa [kembali]
  • Jelaskan pengaruh nilai potensiometer terhadap output rangkaian!
    Jawab :
    Nilai potensiometer digunakan sebagai input pada arduino slave, pada program nilai potensiometer digunakan sebagai variabel yang di mapping dan nilainya akan dikirimkan kepada potensiomter slave untuk digunakan sebagai delay PWM pada motor DC, perbedaan nilai potensiometer akan mempengaruhi nilai PWM sehingga berpengaruh pada kecepatan putar motor DC
  • Jelaskan bagian mana dari rangkaian dan program yang diganti jika output diubah menjadi motor DC!
    Jawab :
    Pada rangkaian yang diubah adalah menghapus LED dan menambahkan sebuah driver motor DC l293d dan sebuah motor DC, serta menambahkan 1 buah output lagi karena motor DC membutuhkan 2 buah input. Pada program yang diubah adalah menambahkan satu output lagi yaitu pin 12 dan pada program looping ditambahkan logika HIGH LOW dan LOW LOW untuk mengatur aktif tidaknya motor DC
  • Bagaimana mengontrol kecepatan dan arah motor DC pada percobaan ini?
    Jawab :
    Kecepatan motor DC diatur dengan mengubah pada potensiomter karena potensiometer digunakan sebagai input pada arduino slave, pada program nilai potensiometer digunakan sebagai variabel yang di mapping dan nilainya akan dikirimkan kepada potensiomter slave untuk digunakan sebagai delay PWM pada motor DC, perbedaan nilai potensiometer akan mempengaruhi nilai PWM sehingga berpengaruh pada kecepatan putar motor DC, semakin tinggi nilai potensiometer maka semakin banyak logika '1' sehingga motor DC lebih lama menyala dari pada mati, sebaliknya jika potensiometer semakin kecil, maka semakin banyak logika '0' maka motor DC akan lebih lama mati dari pada hidup.

7. Link Download [kembali]

Download Rangkaian + Program

Download Video

Download HTML

Datasheet Arduino

Datasheet Motor DC

Datasheet Potensiometer

Tidak ada komentar:

Posting Komentar