a. arduino Uno
b.LED
c. Potensiometer
2. Gambar Rangkaian [kembali]
//MASTER
#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();
}
//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, HIGH);
delay(br);
digitalWrite(LED, LOW);
delay(br);
}
1. Bagaimana pengaruh potensiometer pada led? Jelaskan
Jawab :
Pengaruh potensiometer pada led adalah Potensiometer berfungsi untuk mempengaruhi nilai tahanan, pada rangkaian akan memperngaruhi kecepatan kedap-kedip LED. Semakin besar nilai hambatannya maka LED akan berkedip semakin cepat, sebaliknya semakinkecil nilai tahannya LED akan berkedip semakin lambat pula.
Untuk proses transfer data maksimal ialah bernilai 1-255 (dari program arduino) oleh karena itu dilakukan mapping untung mengubah data dari rentang 0-1023 menjadi 1-255. Nilai hasil mapping lalu akan dikirimkan ke arduino slave setelah dikirm oleh pin komunikasi I2C. Kemudian terdapat proses mapping untuk mengatur kecepatan kedap-kedip lampu dengan pengaturan delay dari rentang 100-2000. Saat nilai potensio besar maka akan menghasilkan input analog(ditulis rd) yg besar pula dan jika diolah oleh mapping(pada program ditulis br) sehingga kedap-kedip LEDv menjadi cepat. Saat nilai potensio kecil maka akan menghasilkan input analog(ditulis rd) yg kecil pula dan jika diolah oleh mapping(pada program ditulis br) sehingga kedap-kedip LED menjadi lambat.
Tidak ada komentar:
Posting Komentar