Professional Documents
Culture Documents
Sistem Tertanam
Serial
Communication
Minggu : 4
Setoran : Softcopy
Example 1.6
Rangkaian:
Kode Program:
Master
#include<SPI.h>
#define LED 7
#define ipbutton 0
int buttonval;
int x;
void setup(void)
{ Serial.begin(9600);
pinMode(LED,OUTPUT);
SPI.begin();
SPI.setClockDivider(SPI_CLOCK_DIV8);
digitalWrite(SS,HIGH);
void loop() {
byte Mastersend,Masterreceive;
buttonval = analogRead(ipbutton);
Serial.println(buttonval);
x = 1;
else{
x=0;
digitalWrite(SS,LOW);
Mastersend = x;
Masterreceive=SPI.transfer(Mastersend);
if(Mastersend==0)
{ digitalWrite(LED,HIGH);
Serial.println("Master LED ON");
else{ digitalWrite(LED,L
OW);
delay(500);
Slave
#include <SPI.h>
#define LEDpin 7
#define buttonpin 0
int buttonval;
int x;
void setup()
{ Serial.begin(9600);
pinMode(LEDpin,OUTPUT);
pinMode(MISO,OUTPUT);
SPCR != _BV(SPE);
received = false;
SPI.attachInterrupt();
ISR(SPI_STC_vect)
{ Slavereceived =
void loop()
{ if(received
){
Serial.println(Slavereceived);
if(Slavereceived ==1)
{ digitalWrite(LEDpin,HIGH);
else{ digitalWrite(LEDpin,L
OW);
buttonval=analogRead(buttonpin);
Serial.println(buttonval);
if(buttonval>500){
x=1;
}
else{
x=0;
Slavesend=x;
SPDR=Slavesend;
delay(500);
}
Example 2.5
Rangkaian:
Kode Program:
Master
#include <Wire.h>
int x=0;
void setup()
{ Wire.begin(
9);
Wire.onReceive(receiveEvent);
Serial.begin(9600);
x=Wire.read();
}
void loop()
{ Serial.println(
x); delay(300);
Slave
#include <Wire.h>
int x=0;
void setup()
{ Wire.begin
();
void loop()
{ Wire.beginTransmission(
9); Wire.write(x);
Wire.endTransmission(); x+
+;
if(x>5)x=0;
delay(100);