Percobaan 3 - Komunikasi I2C





1. Hardawe [kembali]




2. Rangkaian Simulasi [kembali]


3. Flowchart [kembali]

 
4. Listing Program [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);
}
 
5. Video [kembali]





1.      Analisa saat potensiometer diganti dengan trimpot!
Trimpot tidak jauh beda dengan potensiometer yaitu sama-sama resitor variabel, hanya saja cara pemakaian trimpot dengan memutar lingkaran yang ada padanya dengan obeng. Jika dianalisa maka saat potensiometer diganti dengan trimpot maka hanya komponennya saja yang diubah, penulisan pada listing programnya bisa digunakan nama pot atau bisa juga diganti dengan trim, karena dua kata tersebut adalah variabel yang dideklarasikan, sedangkan nilainya dapat diukur dengan perintah analogRead karena trimpot merupakan input analog.




6. Link Download [kembali]






.

No comments:

Post a Comment