Modul 3 - Percobaan 1
20.24
Modul 3 Praktikum Mikroprosessor & Mikrokontroller
Percobaan I: Komunikasi UART
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);
}
}
Pengaruh delay pada Arduino :
Delay pada Arduino diperlukan
untuk memberikan jeda pada program yang akan dijalankan. Saat program delay
dieksekusi maka Arduino tidak akan melakukan proses apapun selama masa delay. Penggunaan
delay akan berpengaruh terhadap eksekusi program yang akan dijalankan oleh
Arduino.