Laporan Akhir 2
DAFTAR ISI
1. Hardware [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 Simulasi [Kembali]
Analisa
System Komunikasi inter Integrated Circiut (I2C) merupakan system komunikasi yang bersifat synchronous. System komunikasi ini menggunakan 2 saluran yang didesain khusus untuk mengirim dan menerima data. Saluran tersebut adalah Serial Clock (SCL) dan Serial Data (SDA). Pada I2C data dikirimkan dalam bentuk paket data yang terdiri dari kondisi start, address frame, R/W bit, ACK/NACK bit, data frame 1, data frame 2 dan kondisi stop. Data dikirimkan saat SCL berlogika High. Keuntungan menggunakan I2C dibandingkan Serial Peripheral Interface (SPI) adalah pada I2C tidak diperlukan lagi chipselect karena I2C sudah menggunakan address frame sehingga saluran yang digunakan lebih sedikit.
Tidak ada komentar:
Posting Komentar