Laporan Akhir 2



1. Kondisi

        Buat rangkaian sesuai dengan percobaan 2 pada modul 3.

2. Hardware
 

1. Arduino

Arduino merupakan sebuah perangkat elektronik yang bersifat open source dan sering digunakan untuk merancang dan membuat perangkat elektronik serta software yang mudah untuk digunakan. Arduino ini dirancang sedemikian rupa untuk mempermudah penggunaan perangkat elektronik di berbagai bidang.

Arduino ini memiliki beberapa komponen penting di dalamnya, seperti pin, mikrokontroler, dan konektor yang nanti akan dibahas lebih dalam selanjutnya. Selain itu, Arduino juga sudah menggunakan bahasa pemrograman Arduino Language yang sedikit mirip dengan bahasa pemrograman C++. 

2. Potensiometer 


 

Potensiometer adalah salah satu jenis resistor tiga terminal yang berfungsi untuk mengatur tegangan, arus dan resistensi listrik dalam sebuah rangkaian. Rangkaian potensiometer umumnya dibuat dengan menggunakan tiga komponen dasar, yakni elemen resistif, penyapu (wiper), dan terminal.

Elemen resistif sendiri bentuknya dibuat menjadi jalur melingkar. Terbuat juga dari bahan yang sifatnya resistif, biasanya grafit, plastik partikel karbon, kawat resistansi.

Cara kerja potensiometer adalah dengan mengendalikan besar hambatan atau resistansi pada sebuah rangkaian elektronika. Semakin besar hambatan yang diterima, maka besar tegangan yang dikeluarkan semakin kecil. Begitu pun sebaliknya.

3. Resistor

 

 

Resistor merupakan komponen penting dan sering dijumpai dalam sirkuit Elektronik. Boleh dikatakan hampir setiap sirkuit Elektronik pasti ada Resistor. Tetapi banyak diantara kita yang bekerja di perusahaan perakitan Elektronik maupun yang menggunakan peralatan Elektronik tersebut tidak mengetahui cara membaca kode warna ataupun kode angka yang ada ditubuh Resistor itu sendiri.

 

4. Push Button

 

Push Button Adalah perangkat / saklar sederhana yang berfungsi untuk menghubungkan atau memutuskan aliran arus listrik dengan sistem kerja tekan unlock (tidak mengunci). Sistem kerja unlock disini berarti saklar akan bekerja sebagai device penghubung atau pemutus aliran arus listrik saat tombol ditekan, dan saat tombol tidak ditekan (dilepas), maka saklar akan kembali pada kondisi normal. Sebagai device penghubung atau pemutus, push button switch hanya memiliki 2 kondisi, yaitu On dan Off (1 dan 0). Istilah On dan Off ini menjadi sangat penting karena semua perangkat listrik yang memerlukan sumber energi listrik pasti membutuhkan kondisi On dan Off.

 

 
3. Rangkaian Simulasi




4. Prinsip Kerja


 Pada percobaan ini menggunakan 2 buah arduino sebagai master dan slave, 2 buah resistor, 2 buah buzzer, dan dua buah button, masing-masing dari kaki arduino dihubungkan pada pin 13 master dihubungkan ke pin 13 slave, pada pin 12 master ke pin 12 slave, pada pin 11 master ke pin 11 slave , pada pin 10 master dihubungkan ke pin 10 slave.

 

    Pada saat dijalankan , ketika buton arduino master ditekan maka buzzer pada kedua arduino akan mati, dan pada saat kedua button ditekan maka kedua buzzer juga akan mati


Listing Program

//Master Arduino Code:

#include<SPI.h>                             //Library for SPI 

#define LED 7           

#define ipbutton 2

int buttonvalue;

int x;

void setup (void)


{

  Serial.begin(9600);                   //Starts Serial Communication at Baud Rate 115200 

  

  pinMode(ipbutton,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(ipbutton);   //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 LED ON");

  }

  else

  {

   digitalWrite(LED,LOW);               //Sets pin 7 LOW

   Serial.println("Master LED OFF");

  }

  delay(200);

}

SLAVE 

//Slave Arduino Code:

//SPI SLAVE (ARDUINO)

//SPI COMMUNICATION BETWEEN TWO ARDUINO 

//CIRCUIT DIGEST

//Pramoth.T


#include<SPI.h>

#define LEDpin 7

#define buttonpin 2

volatile boolean received;

volatile byte Slavereceived,Slavesend;

int buttonvalue;

int x;

void setup()


{

  Serial.begin(9600);

  

  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 LED 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 LED ON");

      }else

      {

        digitalWrite(LEDpin,LOW);          //Sets pin 7 as LOW LED OFF

        Serial.println("Slave LED 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 

  delay(200);

}

}


5. Vidio Rangkaian





6. Analisa dan Pembahasan

1. Pada program " SPI.setClockDivider(SPI_CLOCK_DIV8);". Apabila nilai *divariasikan 4,16,32, berapa nilai clock yang clock yang dihasilkan oleh master ?
Jawab :
             

Jika nilai pada program diganti menjadi 4, maka Arduino clock speednya sebesar 8mhz, jika diganti menjadi 16 maka clock speednya sebesar 32mhz, jika diganti menjadi 32, maka clock speednya sebesar 64mhz.

 
2. Analisa Pengaruh kecepatan pengiriman data berdasarkan nilai clock yang digunakan ?
Jawab :

Hasil analisa yang didapat yaitu semakin cepat clock speed maka data akan semakin banyak diperoleh dan kecepatan pengiriman data akan semakin cepat juga.


7. Link Download

Link HTML                        Link Download

Link Listing Program         : Link Download

Link Video Praktikum        Link Download

Datasheet Arduino UNO    Link Download

Library  Arduino                 Link Download

Datasheet Button                : Link Download

Datasheet LED                   : Link Download

Tidak ada komentar:

Posting Komentar

DAFTAR ISI 1. Tujuan 2. Komponen 3. Dasar Teori 4. Prinsip Kerja 5. Rangkaian 6. Video 7. Link Download   ...