Laporan Akhir 2

Laporan Akhir Percobaan 2 M3


 

1. Jurnal [kembali]


Arduino

                                                                    Button
                                                                      LED
                                                                 Resistor
 

4. Prinsip kerja [kembali]

   Rangkaian yang disusun terdiri dari 2 buah Arduino, lalu untuk outputan dari pin 2 dihubungkan ke button, kaki 7 dihubungkan ke kaki LED begitu pula pada bagian Arduino Slave. Untuk pin 13 12 11 sendiri saling dihubungkan karena pada pin tersebut kita gunakan sebagai data transfer antar mikroprosesor, dimana ada pin MOSI, pin MISO dan pin SCLK yang saling terhubung. untuk sinyal Clock sendiri digunakan untuk sinkronisasi antar arduino.

Listing Program :

master
#include<SPI.h>                        
#define led 7          
#define button 2
 
int buttonvalue;
int x;
 
void setup (void)
{
  Serial.begin(115200);                   //Starts Serial Communication at Baud Rate 115200
  pinMode(button,INPUT);                  //Sets pin 2 as input
  pinMode(led,OUTPUT);                 //Sets pin 7 as Output
  SPI.begin();                            //Begins the SPI commnuication
  SPI.setClockDivider(SPI_CLOCK_DIV8);    //Sets clock for SPI communication at 8 (16/8=2Mhz)
  digitalWrite(SS,HIGH);          //Setting SlaveSelect as HIGH (So master doesnt connnect with slave)
}
 
void loop(void)
{
  byte Mastersend,Mastereceive;          
  buttonvalue = digitalRead(button);  //Reads the status of the pin 2
  if(buttonvalue == HIGH) //Logic for Setting x value (To be sent to slave) depending upon input from pin 2
  {
    x = 1;
  }
  else
  {
    x = 0;
  }
 
  digitalWrite(SS, LOW);        //Starts communication with Slave connected to master
  Mastersend = x;                            
  Mastereceive=SPI.transfer(Mastersend); //Send the mastersend value to slave also receives value from slave
 
  if(Mastereceive == 1)      //Logic for setting the LED output depending upon value received from slave
  {
    digitalWrite(led,HIGH);            //Sets pin 7 HIGH
    Serial.println("Master Buzzer ON");
  }
  else
  {
   digitalWrite(led,LOW);            
   Serial.println("Master led OFF");
  }
}

slave
#include <SPI.h>
#define ledpin 7
#define buttonpin 2
 
volatile boolean received;
volatile byte Slavereceived,Slavesend;
int buttonvalue;
int x;
 
void setup()
{
  Serial.begin(115200);
 
  pinMode(buttonpin,INPUT);       // Setting pin 2 as INPUT
  pinMode(ledpin,OUTPUT);      // Setting pin 7 as OUTPUT
  pinMode(MISO,OUTPUT);    //Sets MISO as OUTPUT (Have to Send data to Master IN)
 
  SPCR |= _BV(SPE);        //Turn on SPI in Slave Mode
  received = false;
 
  SPI.attachInterrupt();  //Interuupt ON is set for SPI commnucation
}
 
ISR (SPI_STC_vect)        //Inerrrput routine function
{
  Slavereceived = SPDR;  // Value received from master if store in variable slavereceived
  received = true;       //Sets received as True
}
 
void loop()
{
   if(received) //Logic to SET Buzzer ON OR OFF depending upon the value recerived from master
   {
      if (Slavereceived==1)
      {
        digitalWrite(ledpin,HIGH);         //Sets pin 7 as HIGH LED ON
        Serial.println("Slave Buzzer ON");
      }
      else
      {
        digitalWrite(ledpin,LOW);          //Sets pin 7 as LOW LED OFF
        Serial.println("Slave Buzzer OFF");
      }
     
      buttonvalue = digitalRead(buttonpin);  // Reads the status of the pin 2
     
      if (buttonvalue == HIGH)  //Logic to set the value of x to send to master
      {
        x=1;
       
      }
      else
      {
        x=0;
      }
     
   Slavesend=x;                            
   SPDR = Slavesend;   //Sends the x value to master via SPDR
   }
}




Percobaan 2
1. Analisa pengaruh push button pada rangkaian percobaan 2
Jawab :
    Ketika pushh button pada master ditekan maka LED pada arduino slave akan aktif. dan begitupun sebaliknya, ketika push button pada slave ditekan maka LED akan aktif.

2. Analisa prinsip kerja SPI pada percobaan
Jawab :
        Rangkaian yang disusun terdiri dari 2 buah Arduino, lalu untuk outputan dari pin 2 dihubungkan ke button, kaki 7 dihubungkan ke kaki LED begitu pula pada bagian Arduino Slave. Untuk pin 13 12 11 sendiri saling dihubungkan karena pada pin tersebut kita gunakan sebagai data transfer antar mikroprosesor, dimana ada pin MOSI, pin MISO dan pin SCLK yang saling terhubung. untuk sinyal Clock sendiri digunakan untuk sinkronisasi antar arduino.

Percobaan 3
1. Analisa pengaruh potensiometer terhadap nyala LED
Jawab :
    Dapat dilihat pada percobaan, jika semakin tinggi nilai pada potensiometer maka nyala LED akan semakin terang, dan begitupun sebaliknya, jika semakin kecil nilai pada potensiometer maka nyala pada LED akan semakin redup hingga bisa mati LED jika nilai potensio 100%. Dapat disimpulkan bahwa berbanding lurus.

2. Prinsip kerja I2C pada percobaan 3
Jawab :
    Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Piranti yang dihubungkan dengan sistem I2C Bus dapat dioperasikan sebagai Master dan SlaveMaster adalah piranti yang memulai transfer data pada I2C Bus dengan membentuk sinyal Start, mengakhiri transfer data dengan membentuk sinyal Stop, dan membangkitkan sinyal clockSlave adalah piranti yang dialamati master.

Sinyal Start merupakan sinyal untuk memulai semua perintah, didefinisikan sebagai perubahan tegangan SDA dari “1” menjadi “0” pada saat SCL “1”. Sinyal Stop merupakan sinyal untuk mengakhiri semua perintah

File HTML : Klik Disini...
Video Rangkaian : Klik Disini...
Program Arduino : Klik Disini...
Library Arduino UNO : Klik Disini...
Data sheet Arduino UNO : Klik Disini...
Data sheet LCD : Klik Disini...
Data sheet Resistor : Klik Disini...

Tidak ada komentar:

Posting Komentar