#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);
}
ANALISA PERCOBAAN 3 [I2C]:
1.
Analisa dengan mengubah rangkaian menjadi mengatur intensitas cahaya LED
?
Jawab :
Potensiometer merupakan sebuah resistor variabel yang nilai resistansinya dapat di atur dengan cara memutar tuasnya. Nilai resistansi pada potensiometer akan semakin besar jika diputar ke arah ground dan semakin kecil jika diputar ke arah vcc. Pada rangkaian ini potensiometer berpengaruh terhadap kecepatan motor. Semakin besar nilai potensiometer maka semakin kecil nilai resistansinya sehingga LED akan semakin terang, sebaliknya semakin kecil nilai potensiometer maka semakin besar nilai resistansinya sehingga LED menjadi lebih redup.
Pada saat tahanan potensio sebesar 100%
Dengan mengganti
kodingan menjadi seperti dibawah ini
//SLAVE
#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, br);
delay(200);
}
Tidak ada komentar:
Posting Komentar