1. KONDISI [KEMBALI]
Tambahkan Buzzer sebagai input. Sehingga input yang tersedia adalah LED dan Buzzer
2. GAMBAR RANGKAIAN SIMULASI [KEMBALI]

Flowchart Master
Flowchart Slave
//MASTER
#include <SPI.h> //Deklarasi library SPI
void setup (void) {
Serial.begin(115200); //Set baud rate 115200
digitalWrite(SS, HIGH);
// disable Slave Select
SPI.begin ();
SPI.setClockDivider(SPI_CLOCK_DIV8); //divide the clock by 8
}
void loop (void) {
char c;
digitalWrite(SS, LOW); //enable Slave Select
// send test string
for (const char * p = "Hello, world!\r" ; c = *p; p++)
{
SPI.transfer (c);
Serial.print(c);
}
digitalWrite(SS, HIGH); // disable Slave Select
delay(2000);
}
//SLAVE
#include <SPI.h>
char buff [50];
volatile byte indx;
volatile boolean process;
void setup (void) {
Serial.begin (115200);
pinMode(MISO, OUTPUT); // have to send on master in so it set as output
SPCR |= _BV(SPE); // turn on SPI in slave mode
indx = 0; // buffer empty
process = false;
SPI.attachInterrupt(); // turn on interrupt
}
ISR (SPI_STC_vect) // SPI interrupt routine
{
byte c = SPDR; // read byte from SPI Data Register
if (indx < sizeof buff) {
buff [indx++] = c; // save data in the next index in the array buff
if (c == '\r') //check for the end of the word
process = true;
}
}
void loop (void) {
if (process) {
process = false; //reset the process
Serial.println (buff); //print the array on serial monitor
indx = 0; //reset button to zero
}
}
6. PRINSIP KERJA [KEMBALI]
Pada rangkaian ini dilakukan komunikasi SPI( Serial Periperhal Interface) yang dilakukan komunikasi data secara seri yaitu data dikirimkan secara berurutan dari satu saluran.
Pada komunikasi SPI ada 4 pin yang digunakan untuk komunikasi antara 2 arduino yaitu MISO( Master Input Slave Output) , MOSI( Master Output Slave Input) , SCLK dan SS( Slave Select).
Pada rangkaian MASTER akan mengirimkan output berupa string di dalam program sehingga saat mengirim data akan dipakai pin MOSI karena MASTER mengirim output dan SLAVE akan menerima input, jika SLAVE ingin mengirim data kepada MASTER akan dipakai pin MISO karena MASTER akan menerima input dan SLAVE mengirim output.
Untuk komunikasi data maka pin SCLK akan berfungsi untuk memberikan sinyal clock sebagai sinkronisasi saat komunikasi.
Dari rangkaian pada MASTER terdapat button yang dirangkai dengan resistor dan VCC,dimana saat button ditekan maka dia akan bersifat close lalu arus mengalir ke pin 5 dan mengirim logika 1 ke dalam MASTER berarti mengirim data dan nantinya MASTER akan memberikan output kepada SLAVE sehingga pada kaki 5 dan 4 SLAVE juga akan memberikan logika 1 berarti data diterima lalu ada arus mengalir dan dapat menghidupkan LED dengan delay 2 detik serta menghidupkan buzzer
7. LINK DOWNLOAD [KEMBALI]
=> Download rangkaian
=> Download video simulasi
=> Download Program Arduino
=> Download HTML
=> Download Flowchart


Tidak ada komentar:
Posting Komentar