PERCOBAAN 3 KONDISI 8
Pada
percobaan 3 ini kita menggunakan komunikasi I2C, dimana dapat kita lihat
bahwasanya pin SDA (serial data) dan SCL (serial clock) dari master dan slave saling terhubung. Kemudian nilai
dari master akan kita transmisikan ke slave dan dari slave akan memproses
perintah dari master, yang mana dikeluarkan dalam bentuk output pada LED, jika
push button ditekan maka LED hidup.
Programnya
>Master
//Master
#include <Wire.h> //deklarasikan library wire.h
#define BUTTON A0
#define MASTER_ADDR 9
void setup(){
Wire.begin();
pinMode(BUTTON, INPUT); // button itu sebagai inputan
}
void loop(){
delay(50);
int button_status = digitalRead(BUTTON);
Wire.beginTransmission(MASTER_ADDR); // memulai transmisi
Wire.write(button_status); // send button status byte
Wire.endTransmission(); //mengakhiri transmisi
}
>Slave
//Slave
#include <Wire.h> // mendeklarasikan library wire.h
#define SLAVE_ADDR 9 //agar bisa berkomunikasi secara I2C
int LED = 13; //LED dihubungkan dengan pin
int rd;
int br;
void setup(){
pinMode(LED, OUTPUT); // bahwsanya LED sebagai output
Wire.begin(SLAVE_ADDR);
Wire.onReceive(receiveEvent); // Sebagai penerima
Serial.begin(9600); // Menentukan kecepatan pengiriman dan penerimaan data pada port serial
Serial.println("I2C Slave demo");
}
void receiveEvent(){
rd = Wire.read();
Serial.println(rd); // mengirim data yangg akan ditampilkan
}
Tidak ada komentar:
Posting Komentar