Laporan Akhir 1 Percobaan 2




 Laporan Akhir 1 Percobaan 2


1. Komponen [KEMBALI]

1. Arduino Uno




2. Resistor




3. Transistor




4. Buzzer




5. Button

 




  • //Master

  • //Slave



//Master

#include<SPI.h>                            
#define buzz 7           
#define ipbutton 2
int buttonvalue;
int x;
void setup (void)

{
  Serial.begin(115200);                   
  
  pinMode(ipbutton,INPUT_PULLUP);                 
  pinMode(buzz,OUTPUT);                   
  
  SPI.begin();                            
  SPI.setClockDivider(SPI_CLOCK_DIV4);    
  digitalWrite(SS,HIGH);                
}

void loop(void)
{
  byte Mastersend,Mastereceive;          

  buttonvalue = digitalRead(ipbutton);  

  if(buttonvalue == LOW)               
  {
    x = 1;
  }
  else
  {
    x = 0;
  }
  
  digitalWrite(SS, LOW);                 
  
  Mastersend = x;                            
  Mastereceive=SPI.transfer(Mastersend); 
  
  if(Mastereceive == 1)                   
  {
    digitalWrite(buzz,HIGH);             
    Serial.println("Master Buzz ON");
    delay(1000);
  }
  else
  {
   digitalWrite(buzz,LOW);          

  }
  delay(1000);
}


// Slave

#include<SPI.h>
#define buzz 7
#define buttonpin 2
volatile boolean received;
volatile byte Slavereceived,Slavesend;
int buttonvalue;
int x;
void setup()

{
  Serial.begin(115200);
  
  pinMode(buttonpin,INPUT_PULLUP);              
  pinMode(buzz,OUTPUT);                
  pinMode(MISO,OUTPUT);                  

  SPCR |= _BV(SPE);                     
  received = false;

  SPI.attachInterrupt();                 
  
}

ISR (SPI_STC_vect)                       
{
  Slavereceived = SPDR;        
  received = true;                       
}

void loop()
{ if(received)                           
   {
      if (Slavereceived==1) 
      {
        digitalWrite(buzz,HIGH);        
        Serial.println("Slave buzz ON");
        delay(1000);
      }else
      {
        digitalWrite(buzz,LOW);       
       Serial.println("Slave buzz OFF");
      }
      
      buttonvalue = digitalRead(buttonpin);
      
      if (buttonvalue == LOW)             
      {
        x=1;
        
      }else
      {
        x=0;
      }
      
  Slavesend = x;                             
  SPDR = Slavesend;                          
  delay(1000);
}
}







      1.     Analisa Percobaan ini apakah informasi yang diberikan simplex, half duplex, atau full duplex?

Jawab:

Dari percobaan ini jenis informasi yang diberikan, merupakan jenis half duplex dimana sebuah mode komunikasi dimana data yang ditransmisikan atau diterima secara dua arah tetapi tidak dapat secara bersama sama.

Pada rangkaian percobaan ini kita menggunakan SPI dimana, pada SPI ini memiliki 3 jalur komunikasi diantaranya ada MOSI, MISO, dan CLK. Dimana apabila kita memilih salah satu jalur komunikasi yang kita deklarasikan ke arduino, maka komunikasi tersebut akan memberikan informasi secara s dua arah tetapi tidak dapat secara bersama sama. Informasi yang diberikan dari master dikirim ke slave, kemudian di proses oleh slave. Setelah itu, slave akan mengirim kembali ke master.

      2.     Apa yang terjadi jika serial begin diganti dari 115200 menjadi 9600?

Jawab:

Tidak ada perubahan pada rangkaian. Karena pada dasarnya serial begin berfungsi sebagai set baudrate atau pengatur kecepatan informasi yang diberikan pada 1 arduino ke arduino lainnya. Jika semakin besar serial begin nya maka kecepatan dalam pengiriman data akan lebih cepat. Jika set baudrate antara master dan slave berbeda, maka pada kecepatan pada master dan slave akan berbeda pula. 

     3.     Apa pengaruh clock speed jika diubah menjadi 0 dan 16, yang normalnya 8?

Jawab:

Clock speed merupakan kecepatan prosesor yang diukur dari banyaknya jumlah siklus yang bisa diukur setiap detik. Dimana clock speed memiliki parameter 2, 4, 8, 16, 32, 64, 128. Jadi jika clock speed semakin tinggi maka peforma prosesor semakin bagus dan kecepatan pengiriman data dari master ke slave akan semakin cepat pula. Jika nilai parameternya lebih dari 128 atau 28 maka clock speed nya akan menyebakan kinerja prosesor dalam arduino kurang bagus, karena 128 merupakan default dari parameter clock speed. 




File HTML                                Download
File Rangkaian Simulasi           Download
Listing Program Master            Download
Listing Program Slave              Download
Flowchart                                  Download
Video Simulasi                          Download


Tidak ada komentar:

Posting Komentar