Hell Yeah Pointer 2

LA2 percobaan 2 M3



1. Komponen[KEMBALI]

  • LED



LED dapat kita definisikan sebagai suatu komponen elektronika yang terbuat dari bahan semikonduktor dan dapat memancarkan cahaya apabila arus listrik melewatinya.

Led (Ligth-Emitting Diode) memiliki fungsi utama dalam dunia elektronika sebagai indikator atau sinyal indikator atau lampu indikator.

LED terdiri dari sebuah chip semikonduktor yang di doping sehingga menciptakan junction P dan N. Yang dimaksud dengan proses doping dalam semikonduktor adalah proses untuk menambahkan ketidakmurnian (impurity) pada semikonduktor yang murni sehingga menghasilkan karakteristik kelistrikan yang diinginkan. Ketika LED dialiri tegangan maju atau bias forward yaitu dari Anoda (P) menuju ke Katoda (K), Kelebihan Elektron pada N-Type material akan berpindah ke wilayah yang kelebihan Hole (lubang) yaitu wilayah yang bermuatan positif (P-Type material). Saat Elektron berjumpa dengan Hole akan melepaskan photon dan memancarkan cahaya monokromatik (satu warna).

  • Button



Push button switch (saklar tombol tekan) 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.

  • Arduino Uno



Arduino Uno adalah board mikrokontroler berbasis ATmega328 (datasheet). Memiliki 14 pin input dari output digital  dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk mendukung mikrokontroler agar dapat digunakan, cukup hanya menghubungkan Board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik dengan AC yang-ke adaptor-DC atau baterai untuk menjalankannya.

2. Rangkaian Simulasi[KEMBALI]


Prinsip Kerja:

Pada rangkaian diatas digunakan button tipe pull up yang terhubung ke pin 2 digital arduino master. Lalu terdapat 2 buah output yaitu led yang terhubung ke pin 2 digital arduino slave dan buzzer ke pin 5 digital arduino slave. Dalam rangkaian SPI ini pin 13,12,11,10 pada arduino master dengan slave dihubungkan. Apabila rangkaian dijalankan dengan kondisi button belum di tekan maka arduino master akan mendisable slave select yang mana data diterima oleh arduino slave yaitu kondisi led dan buzzer low. Jika kondisi button dipencet maka arduino master akan mengenable slave select sehingga data dikriimkan melalui SPI transfer ke slave yang mana pada slave terjadi pembacaan data dari master sehingg led dan buzzer menyala. 

3. Flowchart[KEMBALI]

  • Master



  • Slave



4. Listing Program[KEMBALI]

  • Master

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

#define button 2

void setup (void) {

  pinMode(button, INPUT_PULLUP);

  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;

  int nilai=digitalRead(button);

  if(nilai==0){

   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>

#define led 2

#define buzzer 5


char buff [50];

volatile byte indx;

volatile boolean process;


void setup (void) {

  Serial.begin (115200);

  pinMode(led, OUTPUT);

  pinMode(buzzer, 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) {

    digitalWrite(led, HIGH);

    digitalWrite(buzzer, HIGH);

    delay(100);

    process = false; //reset the process

    Serial.println (buff); //print the array on serial monitor

    indx = 0; //reset button to zero

    delay(1000);

  }

  else

  {

    digitalWrite(led, LOW);

    digitalWrite(buzzer, LOW);

    

  }

}

5. Video Simulasi[KEMBALI]



6. Kondisi[KEMBALI]

1. Jelaskan transmisi data pada SPI dan gambarkan timing diagram dari transmisi data pada SPI

Jawab:


 

Pengiriman data dimulai dari LSB ke MSB. Data D0 pada MSB bergeser ke R7 pada LSB dan data MSB bergeser ke kanan 1 bit melalui MOSI sehingga data R7 pada LSB masuk ke MSB melalui MISO. SPI beroperasi berdasarkan shift register baik master device maupun slave device, keduanya akan mempunyai 8 bit shift register. Untuk memulai komunikasi, bus master melakukan konfigurasi clock, dengan catatan frekuensi atau kecepatan transfer data antara SPI master device dan slave device harus sama. Setiap satu clock SPI dilakukan, maka akan terjadi komunikasi full duplex antara master device dengan slave device. Master mengirimkan satu Bit pada line MISO, lalu slave akan membacanya. Setelah itu, pada line MISO slave device akan mengirimkan data kembali ke master device dan master akan membacanya. Urutan atau sekuen ini akan bertahan seperti di atas meskipun kita tidak menggunakan komunikasi Full Duplex atau hanya menggunakan satu line komunikasi saja (seperti simplex ).

Timing Diagram:



2. Bagaimana cara menghubungkan rangkaian SPI saat menggunakan lebih dari satu slave

Jawab:



Berdasarkan gambar diatas dapat dilihat SCk pada SPI master dihubungkan masing masing dengan SCL slave pertama sampai dengan slave ke tiga. Sedangkan pin MOSI pada Master hanya dihubungkan dengan pin MOSI slave pada slave pertama serta  MISO slave pertama dhubungkan dengan MOSI slave ke dua lalu MISO salve ke dua dihubungkan dengan MOSI slave ke tiga sedangkan MISO salve ke tiga dihubungkan dengan MISO master. Untuk pin SS master dihubungkan masing-masing dengan SS pin Slave. 





7. Link Download[KEMBALI]

HTML

Rangkaian Simualasi

Listing Program Master

Listing Program Slave

Video Simulasi


Tidak ada komentar:

Posting Komentar