TP MODUL 3





1. KONDISI [KEMBALI]

Tambahkan Buzzer sebagai input. Sehingga input yang tersedia adalah LED dan Buzzer


2. GAMBAR RANGKAIAN SIMULASI
[KEMBALI]




3. FLOWCHART [KEMBALI]


4. LIST PROGRAM [KEMBALI]


  • //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
      }
    }


5. VIDEO [KEMBALI]




6. Prinsip Kerja
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]  
     Rangkaian Simulasi Proteus  (Download)
     Program Arduino                   (Download)
     Video Rangkaian                    (Download)

Tidak ada komentar:

Posting Komentar