TP Modul 3 Percobaan 2 Kondisi 11




1. Kondisi
[Kembali]

Percobaan 1 kondisi 15    : Ubah button jadi saklar SPDT

2. Gambar Simulasi [Kembali]



3. Video [Kembali]




4. Prinsip Kerja [Kembali]
  Pada percobaan ini digunakan 2 buah arduino, satu sebagai master dan satu lasgi sebagai slave. Pada komunikasi ini digunakan 4 pin, yaitu SCK, MISO, SIMO, dan SS. setiap pin dihubungan dengan pin yang sama pada master ke slave. kemudian pin 7 dan pin 2 dihubungkan dengan buzzer pada masing masing arduino sebagai output. Untuk listing programnya:


//MASTER

#include  <SPI.h>  //Deklarasi library SPI

void setup (void) {
  Serial.begin(115200); //Set baud rate 115200 (banyak bit yang dikirim/second)
  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(200);

}

//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
  }
}
5. Link Download [Kembali]


Tidak ada komentar:

Posting Komentar

BAHAN PRESENTASI UNTUK MATA KULIAH ELEKTRONIKA 2020/2021       OLEH: M. Fito Ramadhan 2 010951042       Dosen Pengampu: ...