TUGAS PENDAHULUAN 2







1. Kondisi
[Kembali]
Percobaan 3 kondisi 18
Ganti led dengan motor DC. Buatlah motor DC berputar berlawanan jarum jam dengan kecepatan maksimum pada saat potensiometer 100% dan kecepatan minimum pada saat potensiometer 0%

2. Gambar Rangkaian Simulasi [Kembali]





3. Video Simulasi [Kembali]







4. Prinsip Kerja [Kembali]

Rangkaian ini menggunakan 2 buah arduino, yang mana masing-masingnya sebagai master dan slave. Kondisi yang diberikan yaitu membuat motor DC berputar berlawanan arah jarum jam pada kecepatan maksimum saat potensiometer bernilai 100% dan berputar pada kecepatan minimum saat potensiometer bernilai 0%. Pada percobaan ini komunikasi antar arduino yang digunakan adalah I2C, dimana potensiometer terhubung dengan pin A0 master dan motor DC sebagai output yang terhubung ke pin 13 slave. Pada komunikasi I2C menggunakan 2 pin, yaitu pin SCL pada pin A5 dan pin SDA pada pin A4. SCL berfungsi sebagai clock, yaitu menyingkronkan data yang dikirim dengan data yang diterima  dan SDA berfungsi menentukan master/slave mana yang terlibat. Pada rangkaian ini, master mengirimkan data besar nilai potensiometer ke slave, lalu data tersebut diolah oleh slave untuk membuat motor DC berputar. Saat potensiometer 100% maka motor akan berputar pada kecepatan maksimum, dan ketika potensiometer 0% maka motor akan berputar pada kecepatan minimum. 

MASTER
#include <Wire.h>
#define MASTER_ADDR 9

int analogPin = 0; int val = 0;

void setup()
{ Wire.begin();
Serial.begin(1200);
}

void loop()
{ delay(50);
val = map(analogRead(analogPin), 0, 1023, 0, 100);

Wire.beginTransmission(MASTER_ADDR);
Wire.write(val);
Wire.endTransmission();

}

SLAVE

#include <Wire.h>
#define SLAVE_ADDR 9

int in2 = 13;
//int in1 = 9;
int readI2c;


void setup() {
  //pinMode(in1, OUTPUT);
    pinMode(in2, OUTPUT);
  Wire.begin(SLAVE_ADDR);
  Wire.onReceive(receiveEvent);
  Serial.begin(1200);
    delay(200);
}

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

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

  if (readI2c == 100)
  {
    //digitalWrite(in1, 1);
    digitalWrite(in2, 1);
    delay(200);
  }
  else if (readI2c < 1)
  {
   // digitalWrite(in1, 1);
    digitalWrite(in2, 1);
    delay(200);
  }
    else
  {
   // digitalWrite(in1, 0);
    digitalWrite(in2, 0);
    delay(200);
  }
}

5. Link Download [Kembali]

[Menuju Awal]

Tidak ada komentar:

Posting Komentar

BAHAN PRESENTASI UNTUK MATA KULIAH      KIMIA DAN ELEKTRONIKA   oleh : Hana Sulthanah 2010951013 Dosen Pengampu: Dr. Darwison, M.T. Referens...