Tugas Pendahuluan 2 M3



1. Kondisi
 [Kembali]
  • Percobaan 3 kondisi 1
   LED menyala saat potensiometer 0% dan padam saat potensiometer 100%

2. Gambar Rangkaian Simulasi [Kembali]




3. Video Simulasi [Kembali]







4. Prinsip Kerja [Kembali]

   Pada rangkaian percobaan komunikasi menggunakan I2C ini  konidisinya yaitu ketika potensiometer 0% maka LED hidup dan ketika 100 % LED akan mati  pada rangkaian ini digunakan 2 arduino, yang mana  sebagai master dan slave. Lalu digunakan  1 LED sebagai output, 1 potensiometer, resistor, power dan ground.

LISTING PROGRAM MASTER

#include<Wire.h>
#define MASTER_ADDR 9

int analogPin = 0;
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);
  Wire.write(val);
  Wire.endTransmission();
}

LISTING PROGRAM SLAVE
#include<Wire.h>
#define SLAVE_ADDR 9

int LED = 13;
int rd; 
int br;

void setup() {
  // put your setup code here, to run once:
  pinMode(LED, 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() {
  // put your main code here, to run repeatedly:
  delay(50);

  br = map(rd, 1, 255, 100, 2000);
  if (br == 100)
  {
    digitalWrite(LED, LOW);
  }

  else if(br == 2000)
  {
    digitalWrite(LED, HIGH);
  }

  else
  {
    digitalWrite(LED, HIGH);
    delay(br);
    digitalWrite(LED, LOW);
    delay(br);
  }
  
}
        Pada listing program master, awalnya dilakukan dekalarasi library Wire.h, mendefinisikan atau mendeklarasikan alamat device master, yaitu master_ADDR 9, dan pin-pin yang digunakan yaitu pin A0 digunakan untuk button. Lalu, fungsi void setup () dieksekusi. Pada fungsi ini, dilakukan inisialisasi library Wire.h dan bergabung dengan komunikasi I2C sebagai master dan dekalarasi pin button sebagai INPUT. Kemudian, fungsi void loop() dieksekusi. Pada fungsi ini, dilakukan delay selama 50ms atau 0.05 s dan pembacaan nilai input dari pin Button menggunakan kode digitalRead(Button). Lalu, hasil pembacaan tersebut disimpan dalam variabel button_status. Data lalu ditransmisikan ke I2C master menggunakan kode Wire.beginTransmission() dengan alamat master_ADDR dan menunggu antrian data dengan nilai button_status untuk transmisi dengan kode Wire.write(). Kemudian, data dikirimkan ke slave dengan dengan menggunakan kode Wire.endTransmission (). 
     Pada listing program slave, awalnya didefinisikan atau dideklarasikan library Wire.h, mendefinisikan atau mendeklarasikan alamat device Slave, yaitu SLAVE_ADDR 9, dan pin-pin yang digunakan, yaitu pin 11 digunakan untuk pin IN1 dan pin 10 digunakan untuk pin IN2 driver motor IC L293D. Lalu, dilakukan deklarasi variabel rd dengan tipe data int. Selanjutnya, program akan meng-eksekusi fungsi void setup () dimana pada fungsi ini dilakukan deklarasi pn IN1 dan IN2 sebagai OUTPUT. Kemudian, dilakukan inisialisasi library Wire.h dan bergabung dengan komunikasi I2C sebagai Slave. Lalu, mendaftarkan fungsi receiveEvent yang akan dipanggilkan ketika Slave menerima transmisi data dari Master. Pada fungsi void receiveEvent() pembacaan data dari Master disimpan dalam variabel rd dan nilainya akan ditampilkan dalam monitor serial. Lalu, memulai komunikasi serial dengan baud rate 9600 dan menampilkan tulisan "I2C Slave demo" pada monitor serial. Lalu, fungsi void loop () dieksekusi. Jika nilai rd 1, maka pin IN1 diberi logika 1 dan pin IN2 diberi logika 0 sehingga motor berputar searah jarum jam. Namun, jika nilai rd 0, maka pin IN1 diberi logika 0 dan pin IN2 diberi logika 0 sehingga motor tidak akan berputar.
5. Link Download [Kembali]

Download Rangkaian percobaan 3 disini
Download Video Simulasi Percobaan 3 disini
Download Listing Program 3 Master disini
Download Listing Program 3 Slave disini
Download HTML disini
Download Datasheet Arduino disini
Download Datasheet LED disini


















Tidak ada komentar:

Posting Komentar

Bahan Presentasi  Mata Kuliah Elektronika 2021 O L E H Nadya utari 2010951021 Dosen pengampu : Dr.Darwison,M.T Program studi : Teknik Elektr...