4. Listing Program [Kembali]
- Master
// MASTER
#include <Wire.h>
#define MASTER_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(MASTER_ADDR);
Wire.write(val);
Wire.endTransmission();
} - Slave
// Slave
#include <Wire.h>
#define SLAVE_ADDR 9
int led2 = 11;
int led1 = 12;
int readI2c;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
Wire.begin(SLAVE_ADDR);
Wire.onReceive(receiveEvent);
Serial.begin(1200);
delay(500);
}
void receiveEvent()
{
readI2c = Wire.read();
}
void loop() {
Serial.print("Nilai readI2c: ");
Serial.println(readI2c);
if ((readI2c <= 20) and (readI2c >= 0))
{
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
delay(200);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(200);
}
else {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
delay(1000);
}
}
5. Video Simulasi [Kembali]
6. Analisa [Kembali]
1. Apakah pada percobaan 2 ini tergolong kedalam
simplex, half duplex, dan full duplex
Jawab:
Pada percobaan 2 ini menggunakan komunikasi half
duplex, dikarenakan proses pengiriman data nya secara dua arah
2. Apa yang terjadi jika baud rate pada master
diganti dari 9600 sedangkan pada slave tetap? Dan sebaliknya
Jawab:
Pada rangkaian akan tetap bisa jalan, dan
begitupun dengan listing program akan tetap bisa jalan. Akan tetapi hal ini
akan mempengaruhi kecepatan pengiriman datanya.
3. Apa yang terjadi jika, clock speed diganti menjadi
16MHz
Jawab:
Jika dibandingkan dengan yang sebelumnya,
kecepatan pengiriman data menjadi lebih cepat jika dibandingkan dengan yang
sebelumnya. Namun proses komunikasi SPI masih dapat dilakukan dengan baik.
7. Link Download [Kembali]
- Master
#include <Wire.h>
#define MASTER_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(MASTER_ADDR);
Wire.write(val);
Wire.endTransmission();
}
- Slave
#define SLAVE_ADDR 9
int led2 = 11;
int led1 = 12;
int readI2c;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
Wire.begin(SLAVE_ADDR);
Wire.onReceive(receiveEvent);
Serial.begin(1200);
delay(500);
}
void receiveEvent()
{
readI2c = Wire.read();
}
void loop() {
Serial.print("Nilai readI2c: ");
Serial.println(readI2c);
if ((readI2c <= 20) and (readI2c >= 0))
{
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
delay(200);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(200);
}
else {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
delay(1000);
}
}
1. Apakah pada percobaan 2 ini tergolong kedalam simplex, half duplex, dan full duplex
Jawab:
Pada percobaan 2 ini menggunakan komunikasi half duplex, dikarenakan proses pengiriman data nya secara dua arah
2. Apa yang terjadi jika baud rate pada master diganti dari 9600 sedangkan pada slave tetap? Dan sebaliknya
Jawab:
Pada rangkaian akan tetap bisa jalan, dan begitupun dengan listing program akan tetap bisa jalan. Akan tetapi hal ini akan mempengaruhi kecepatan pengiriman datanya.
3. Apa yang terjadi jika, clock speed diganti menjadi 16MHz
Jawab:
Jika dibandingkan dengan yang sebelumnya, kecepatan pengiriman data menjadi lebih cepat jika dibandingkan dengan yang sebelumnya. Namun proses komunikasi SPI masih dapat dilakukan dengan baik.
2. Gambar Rangkaian
Tidak ada komentar:
Posting Komentar