Modul 3 - Percobaan 2
20.24
Modul 3 Praktikum Mikroprosessor & Mikrokontroller
Percobaan II: Komunikasi SPI
MODUL 3
COMMUNICATION
a. Master
#include <Wire.h> #define SLAVE_ADDR 9
int digitalPin = 2;
int val = 0;
void setup() {
Wire.begin();
}
void loop() {
delay(50);
val = digitalRead(digitalPin);
Wire.beginTransmission(SLAVE_ADDR);
Wire.write(val);
Wire.endTransmission();
}
b. Slave
#include <Wire.h>
#define SLAVE_ADDR 9
int LED = 13;
int rd;
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() {
digitalWrite(LED,LOW);
if(rd==1){
digitalWrite(LED, LOW);
}
if(rd==0){
digitalWrite(LED, HIGH);
}
}
Komunikasi SPI: Pengaruh penambahan dua
switch dan Arduino
Komunikasi
SPI menggunakan komunikasi serial dengan memanfaatkan fungsi Rx dan Tx yang ada
pada Arduino. Jika pada kasus ini ditambahkan inputan dua switch dan arduoino,
sama seperti percobaan sebelumnya masing masing line komunikasi saling
dihubungkan antara Tx dan Rx tergantung dari perangkat yang dijadikan master
dan slavenya. Pengalamatan pada kasus ini menggunakan serial baudrate yang sama
agar informasi data berupa byte dapat saling digunakan.