1. Kondisi[Kembali]Pada tugas pendahuluan pertama ini yang di modul 3 untuk percobaan 3 saya menggunakan kondisi 3. Adapun soalnya yaitu.
Rangkailah 2 buah led, kemudian buatlah keduanya menyala bergantian ketika potensiometer 0%-20%.
Adapun bentuk rangkaian sebelum disimulasikan
sebagai berikut:
(Gambar
rangkaian sebelum disimulasikan)
//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
5. Link download [Kembali]
Tidak ada komentar:
Posting Komentar