Prinsip Kerja:
merupakan komunikasi seial 2 arah pada rangkaian diatas digunakan komponen-komponen seperti 2 buah arduino, potensiometer, LED, resistor dan ground. potensiometer disini berfungsi sebagai input ke master, ketika potensiometer maksimum maka delay waktu idup dan mati lampu makin cepat begitupun sebaliknya. LED sebagai output dari slave.
3.1. Gambar Flowchart Master
3.2. Gambar flowchart Slave
a. master
//MASTER
#include <Wire.h>
#define SLAVE_ADDR 9
int analogPin = 0;
int val = 0;
void setup() {
Wire.begin();
}
void loop() {
delay(50);
val = map(analogRead(analogPin), 0, 1023, 255, 1);
Wire.beginTransmission(SLAVE_ADDR);
Wire.write(val);
Wire.endTransmission();
}
b. slave
//SLAVE
#include <Wire.h>
#define SLAVE_ADDR 9
int LED = 13;
int rd;
int br;
void setup() {
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() {
delay(50);
br = map(rd, 1, 255, 100, 2000);
digitalWrite(LED, HIGH);
delay(br);
digitalWrite(LED, LOW);
delay(br);
}
1. Ketika
digunakan 2 buah slave, bagaimana cara master menentukan slave yang digunakan?
Jawab
:
Seperti yang terlihat pada rangkaian dibawah ini :
Untuk
menentukan slave mana yang digunakan oleh master dilihat dari logika pada slave,
jika slave yang digunakan adalah slave 1 maka slave 1 berlogika HIGH dan LOW,
sedangkan pada slave 2 berlogika LOW dan LOW. Jika yang digunakan slave 2 maka
slave 2 berlogika HIGH dan LOW sedangkan slave 1 berlogika LOW dan LOW.
Rangkaian klik disini
Program Master klik disini
Program Slave klik disini
Flowchart Master klik disini
Video klik disini
Tidak ada komentar:
Posting Komentar