#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();
}
#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);
}
#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. Apa fungsi library Wire.h?
Jawaban:
Karena kita melakukan komunikasi I²C maka perlulah dimasukkan library Wire.h Hal ini disebabkan karena Wire.h merupakan library yang didalamnya terdapat perrhitungan/function yang diperlukan untuk I²C.
2. Bagaimana pengaruh resistansi potensiometer terhadap output led?
Jawaban:
Semakin besar potensiometer maka LED akan hidup-mati dalam waktu yang lama karena delay pada perogram tergantung dari nilai input dari potensiometer begitu pula sebaliknya.
3. Bagaimana jika slave dan master lebih dari 1 atau Komunukasi banyak arduino?
Jawaban:
Pada I²C dapat menggunakan lebih dari 1 slave dan master. Namun pemilihan slave tidak dijalankan secara bersamaan melainkan hanya salah satu saja tergantung dari sinyal ss dari master.
Tidak ada komentar:
Posting Komentar