Arduino Uno
Potensio
LED
4. Listing Program [Kembali]
- Master
//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
//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. Apakah kita dapat mengirim data
sebanyak 9 bit? Jelaskan alasannya
Jawab :
Tidak. Banyaknya data yang dapat dikirim pada komunikasi I2C adalah 8 bit. Dalam 1 siklus pengiriman data, 1 paket data terdiri atas maksimal 32 bit dengan komponen berupa kondisi start, Address Frame, R/W bit, ACK/NACK bit, Data Frame 1, Data Frame 2, dan kondisi Stop.
2. Bagaimana cara master mengirimkan address ke
slave? Berapa bit address yang dikirim? Berapa addres unik yang dapat tercipta
oleh master?
Jawab :
Sistem I2C terdiri dari saluran
SCL (Serial Clock) dan SDA (Serial Data) yang membawa
informasi data antara I2C dengan pengontrolnya. Piranti yang
dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master dan Slave. Master adalah piranti yang
memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan
membentuk sinyal Stop, dan
membangkitkan sinyal clock. Slave adalah piranti yang
dialamati master
bit adrees yang akan
dikirim tergantung berapa yang di programkan di arduinonya dan batasan nya pun
lebih besar terhadap komunikasi lain.hal itu dikarenakan I2C merupakan gabungan
dariu 2 buah komunikasi yaitu UART dan SPI
banyak pengiriman pada master tidak dibatasi dalam jumlahy berapa buah pengiriman yang akan diterima di slave
7. Link Download [Kembali]
Tidak ada komentar:
Posting Komentar