Komunikasi I2C
1. Hardware [kembali]
2. Rangkaian Simulasi [kembali]
2. Rangkaian Simulasi [kembali]
3. Flowchart [kembali]
4. Listing Program [kembali]
6. Analisa [kembali]
7. Link Download [kembali]
File HTML - Download
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);
}
|
6. Analisa [kembali]
1. Bagaimana
pengaruh potensiometer terhadap nyala LED?
Semakin mendekati VCC maka kedip LED akan
semakin cepat dan bila diputar mendekati nilai Ground, maka kedip LED semakin
lambat. Hal ini dipengaruhi oleh besarnya hambatan, jika mendekati nilai VCC
maka hambatannya semakin kecil, begitu pula sebaliknya.
2. Apa
fungsi libray <Wire.h>
Wire.h menandakan bahwa bahwa Arduino menggunakan
komunikasi I2C. Komunikasi I2C juga dapat dilihat melalui
rangkaian yang digunakan. Prinsip kerjanya adalah data bus bekerja secara 2
arah dan clock bus bekerja dari master sebagai output dan slave sebagai input.
3. Jelaskan
prinsip kerja rangkaian
Master menerima input dari potensiometer. Kemudian
data yang diterima tadi ditransfer ke slave. Setelahnya, data tersebut akan diolah
oleh Arduino dan LED akan bertindak sebagai output dengan kecepatan kedip LED.
File HTML - Download
Tidak ada komentar:
Posting Komentar