Percobaan 3 Modul 3


1.Hardware [kembali] 



Potensiometer

LED

 Resistor

Arduino

2.Rangkaian simulasi [kembali] 


Terdiri dari dua buah arduino uno. Satu berperan sebagai master dan satunya lagi sebagi slave. Potensiometer dihubungkan ke pin analaog bagian master. Sinyal dari potensiometer yang berupa sinyal analog diproses dengan rumus  val = map (analogRead(analogPin), 0, 1023, 255, 1) pada bagian master kemudian dikirimkan dengan perintah Wire.beginTransmission(MASTER_ADDR);. Kemudian menulis nilai val :Wire.write(val).
Lalu data analog yang dikirimkan tadi juga diterima di pin analog bagian master. Hasil pembacaan data analog tadi disimpan ke dalam variabel rd melalui perintah : rd = Wire.read(); . dan dengan menggunakan fungsi if jika nilai rd >= 77 dan lebih kecil <=179 led akan menyala bersamaan.





3. Listing Program[kembali]

// MASTER

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

int analogPin = A0; int val = 0;

void setup() {
  // put your setup code here, to run once:
  Wire.begin();
}

void loop() {
  // put your main code here, to run repeatedly:
  delay(50);
  val = map (analogRead(analogPin), 0, 1023, 255, 1);

  Wire.beginTransmission(MASTER_ADDR);  // I2C mulai mengirimkan data
  Wire.write(val);                      // mencetak nilai val
  Wire.endTransmission();               // memberhentikan proses pengiriman
}

//SLAVE
#include <Wire.h>
#define SLAVE_ADDR 9

int LED0 = 10;
int LED1 = 11;
int rd;
int br;

void setup() {
  pinMode(LED0, OUTPUT);
  pinMode (LED1, OUTPUT);
  Wire.begin(SLAVE_ADDR);
  Wire.onReceive(receiveEvent);
  Serial.begin(9600);
}

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

void loop() { 
Serial.print("Nilai rd: ");
Serial.println(rd);

if(rd>=77 && rd<=179)                   //Logic for setting the LED output depending upon value received from slave
  {
   analogWrite(LED0,rd);
analogWrite(LED1, rd);
delay(1000);
  }
  else
  {
  analogWrite(LED0,LOW);
analogWrite(LED1, LOW);
delay(1000);
  }

}


FLOWCHART




4. Kondisi [kembali] 

rangkailah 2 buah led buat keduanya berkedip bersamaan, ketika potensiometer 30%-70%

5. Video[kembali] 



6. Analisa[kembali]

1.      Bagaimana pengaruh potensiometer pada led? Jelaskan

    Jika nilai potensiometer diperbesar, maka tahanannya akan semakin besar dan jika nilai potensiometer diperkecil, maka tahanannya akan semakin kecil. Pengaruh potensiometer terhadap LED adalah potensiometer berfungsi sebagai pengatur kecepatan kelap-kelip dari LED.  Pada program arduino slave, delay antara hidup dan mati pada LED bergantung pada nilai potensiometer yang diatur. Semakin besar nilai potensiometer, maka LED akan hidup lebih lama dan mati lebih lama, sehingga kelap-kelip LED menjadi lambat. Semakin kecil nilai potensiometer, maka LED akan hidup lebih singkat dan mati lebih singkat, sehingga kelap-kelip LED menjadi lebih cepat.

2. Jelaskan bagian mana dari rangkaian dan program yg diganti jika output di ubah menjadi motor DC

    Bagian yang diubah adalah bagian LED. dan pada bagian program, cukup diberikan satu output pada slave yaitu motor dc. dan tanpa harus mengubah program lainya jika hanya ingin motor dc yang berputar satu arah.

    Jika ingin motor dc berputar satu maka ditambahkan motor driver ke rangkaian. 2 output dari slave akan disambungkan ke 2 kaki input dari driver motor.


3. Bagaimana mengontrol kecepatan dan arah Motor DC pada percobaan ini? Jelaskan! 

    Untuk kecepatan dari motor sudah diatur dari sinyal pwm yang dapat diatur melalui potensiometer. Dan untuk mengatur arah dari pergerakaan motor dibutuhkan motor driver yang dapat mengubah polarisasi dari motor dc.


7. Link Download[kembali]

  PRAKTIKUM  ELEKTRONIKA DAN SISTEM DIGITAL OLEH : ATHALLA NOVANDRI (1910952040) DOSEN PENGAMPU: Dr. Darwison, M.T REFERENSI Darwison, 2011,...