Cool Blue Outer Glow Pointer

Nama : Hazby Firstmana NIM : 1910952026 Jurusan: Teknik Elektro

Tugas Pendahuluan Modul 3 (Percobaan 3)



 

1.      Kondisi [KEMBALI]

Kondisi 1: Buatlah LED menyala ketika potensiometer 0% dan LED padam ketika potensiometer 100% 


2.      Gambar Rangkaian [KEMBALI]


3.      Video Simulasi [KEMBALI]

 

4.      Prinsip Kerja Rangkaian [KEMBALI]

    Rangkaian terdiri dari 2 buah Arduino UNO (Master dan Slave), 1 buah LED, 1 buah Resistor 220 Ohm, 1 buah potensiometer, 1 buah sumber Vcc, dan 1 buah ground. Pin A4 Arduino Master dihubungkan ke pin A4 Arduino Slave dan Pin A5 Arduino Master dihubungkan ke pin A5 Arduino Slave. Potensiometer dihubungkan ke pin A0 Arduino Master serta VCC dan ground. Resistor, LED dan dihubungkan ke pin 13 Arduino Slave.

Listing Program:

 //MASTER

#include <Wire.h> //Deklarasi library Wire untuk komunikasi I2C

#define MASTER_ADDR 9 //Deklarasi alamat slave yang digunakan 0 - 127


int analogPin = 0; //Deklarasi nilai analogPin = 0

int val = 0; // Deklarasi variable = 0

void setup() {

  Wire.begin(); // siap untuk mengirimkan data

}

void loop() {

delay (50);

  val = map(analogRead(analogPin), 0, 1023, 255, 1); //Mapping nilai dari pembacaan ADC dari 0-1023 menjadi pwm 255-1 dan dimasukkan ke variable val

  Wire.beginTransmission(MASTER_ADDR); //siap mulai mengirimkan data ke alamat slave yang dituju

  Wire.write(val); // menulis data pada slave sesuai nilai val

  Wire.endTransmission(); // mengakhiri mengirimkan data pada slave

}

 

//SLAVE

#include <Wire.h> //Deklarasi library Wire untuk komunikasi I2C

#define SLAVE_ADDR 9 //Deklarasi alamat slave yang digunakan 0 - 127


int LED = 13; //Deklarasi pin 13 terhubung ke LED

int rd; //Deklarasi variable rd

int br; //Deklarasi variable br

void setup() {

  pinMode(LED, OUTPUT); //Deklarasi LED sebagai Output

  Wire.begin(SLAVE_ADDR); //Inisialisasi library wire alamat slave Untuk memulai

  Wire.onReceive(receiveEvent); //Memanggil fungsi ketika slave mendapat transmisi dari master

Serial.begin(9600); //set baud rate 9600

Serial.println("I2C Slave demo"); //Mencetak data

}

void receiveEvent(){  //Deklarasi variable receiveEvent

  rd = Wire.read(); // Memasukkan data pembacaan ke variable rd

  Serial.println(rd); //Mencetak nilai rd

}

void loop() {

delay(50);

br = map(rd, 1, 255, 100, 2000); //Mapping nilai dari pembacaan nilai variable rd dari range 1-255 menjadi 100-2000 dan dimasukkan ke variable br

if (rd == 255){  //LED berlogika HIGH pada saat nilai rd = 1

digitalWrite(LED, HIGH); //LED menyala

  delay(br);

}

if (rd == 1) { //LED berlogika LOW pada saat nilai rd = 255

  digitalWrite(LED, LOW); //LED mati

  delay(rd);

}

}


5.      Link Download [KEMBALI]

Html                            : klik disini

Listing Program Master: klik disini

Listing Program  Slaveklik disini

Rangkaian                   : klik disini

Video                          : klik disini

Datasheet Arduino      : klik disini

Datasheet Resistor      : klik disini

Datasheet LED           klik disini


Tidak ada komentar:

Posting Komentar