4. Listing Program [Kembali]
//MASTER
#include
#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();
}
|
//SLAVE
#include
#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);
}
|
5. Analisa [Kembali]
1.
Bagaimana
pengaruh potensiometer terhadap nyala LED
Pada percobaan komunikasi I2C ini memakai
komponen potensiometer, potensiometer berfungsi
untuk memperbesar dan memperkecil delay atau respon dari LED. Ketika
potensiometer diperbesar maka kecepatan Clock LED akan semakin cepat dan
apabila potensiometer diperkecil maka kecepatan Clock pada LED akan semakin
lambat.
2.
Apa
fungsi library <Wire.h>
Library <Wire.h> pada percobaan ini berfungsi
untuk mengaktifkan serial komunikasi I2C pada arduino, sehingga pin
pada arduino tidak perlu dideklarasikan sebagai jalur komunikasinya.
3.
Jelaskan
prinsip kerja rangkaian
Pada rangkaian percobaan ini,memakai dua buah arduino,
yang satu sebagai Master dan yang satu sebagai Slave, dirangkaian ini
menggunakan komponen potensiometer yang
digunakan sebagai input dari Master. Ketika nilai potensiometer
diperbesar atau diperkecil, maka Master akan membaca logika high dan low lalu
ditransfer ke Slave, logika dari Slave akan dikirim kan ke LED sehingga Led
menyala dan mati tergantung delay yang diberikan oleh potensiometer.
1
-HTML
Tidak ada komentar:
Posting Komentar