Pada percobaan 3 ini kelompok kami mengambil kondisi 3, yaitu Rangkailah 2 buah led, kemudian buatlah keduanya menyala bergantian ketika potensiometer 0%-20%
Insting Program
//master
#include <Wire.h>
#define MASTER_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(MASTER_ADDR);
Wire.write(val);
Wire.endTransmission();
}
//SLAVE
#include <Wire.h>
#define SLAVE_ADDR 9
int LED1 = 13;
int LED2 = 11;
int rd;
int br;
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, 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);
if (br <= 93) { //Kondisi pilihan jika keypad ditekan
digitalWrite(LED1, HIGH);
delay(br);
digitalWrite(LED1, LOW);
delay(br);
digitalWrite(LED2, HIGH);
delay(br);
digitalWrite(LED2, LOW);
delay(br);
}
else{
digitalWrite(LED1, LOW);
delay(br);
digitalWrite(LED2, LOW);
delay(br);
}
}
Adapun prinsip kerjanya yaitu sesuai dengan programnya . pada program terlebih dahulu memanfaatkan library wire terlebih dahulu untuk membantuk dalam komunikasi arduino. kemudian tentukan adress pada kedua arduino kemudian lakukan deklarasi variabel analog pin untuk master dan pin led untuk slave. lakukan recieve event untuk tambahan pada slave agar dapat berkomunikasi dengan master yang dimana master juga diberi tindakan wire write. kemudian lakukan kondisi yang diinginkan pada slave
Download datasheet Arduino DISINI
Tidak ada komentar:
Posting Komentar