1. Kondisi [kembali]
Ubah boud rate pada slave menjadi 34500
2.Rangkaian Simulasi [kembali]
PADA MASTER
#include<SPI.h>
#define LEDpin 7
#define buttonpin 2
volatile boolean received;
volatile byte Slavereceived,Slavesend;
int buttonvalue;
int x;
void setup()
{
Serial.begin(34500);
pinMode(LEDpin,INPUT);
pinMode(buttonpin,OUTPUT);
pinMode(MISO,OUTPUT);
SPCR |=_BV(SPE);
received=false;
SPI.attachInterrupt();
}
ISR(SPI_STC_vect)
{
Slavereceived=SPDR;
received== true;
}
void loop()
{
if(Slavereceived==1)
{
digitalWrite(LEDpin,HIGH);
}
else
{
digitalWrite(LEDpin,LOW);
Serial.println("Slave LED OFF");
}
buttonvalue=digitalRead(buttonpin);
if(buttonvalue==HIGH)
{
x=1;
}
else
{
x=0;
}
Slavesend=x;
SPDR=Slavesend;
delay(100);
}
PADA SLAVE
#include<SPI.h>
#define LED 7
#define ipbutton 2
int buttonvalue;
int x;
void setup (void)
{
Serial.begin(34500);
pinMode(ipbutton,INPUT);
pinMode(LED,OUTPUT);
SPI.begin();
SPI.setClockDivider(SPI_CLOCK_DIV8);
}
void loop(void)
{
byte Mastersend,Mastereceive;
buttonvalue=digitalRead(ipbutton);
if(buttonvalue==HIGH)
{
x=1;
}
else
{
x=0;
}
digitalWrite(SS,LOW);
Mastersend=x;
Mastereceive=SPI.transfer(Mastersend);
if(Mastereceive==1)
{
digitalWrite(LED,HIGH);
}
else
{
digitalWrite(LED,LOW);
}
delay(100);
}
5. Video [kembali]
Tidak ada komentar:
Posting Komentar