Laporan Percobaan 1




1. Tujuan[ K E M B A L I] 
  1. Memahami prinsip kerja UART, SPI, dan I2C
  2. Mengaplikasikan protokol komunikasi UART, SPI, dan I2C pada Arduino
Kondisi:
Tambahkan Buzzer sebagai input. Sehingga input yang tersedia adalah LED dan Buzzer.

2. Hardware[ K E M B A L I]
Push Button
LED
Buzzer


Arduino
3. Rangkaian Simulasi   [ K E M B A L I]
4. Listing Program dan Flowchart   [ K E M B A L I]
MASTER

#include <SoftwareSerial.h>

SoftwareSerial myserial(2, 3);  // 2=RX 3=TX

#define button 4 //Deklarasi pin 2 untuk button
#define buzzer 4

void setup()  //Semua kode dalam fungsi ini dieksekusi sekali
{
  pinMode(button, INPUT_PULLUP);
  pinMode(buzzer, OUTPUT);
  myserial.begin(9600); //Set baud rate 9600
}

void loop() //Semua kode dalam fungsi ini dieksekusi berulang
{
  int nilai = digitalRead(button);

  //ditekan
  if (nilai == 0)
  {
    myserial.write("3");
  }
  else
  {
    myserial.write("4");
  }

  delay(200);
}

SLAVE

#include <SoftwareSerial.h>

SoftwareSerial myserial(2, 3);  // 2=RX 3=TX

#define led 12 //Deklarasi pin 12 untuk LED

void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
  pinMode(led, OUTPUT); //Deklarasi LED sebagai output
  Serial.begin(9600);  //Set baud rate 9600
  myserial.begin(9600);
}

void loop() //Semua program dalam fungsi ini dieksekusi berulang
{
  if (myserial.available() > 0)
  {
    int data = myserial.read();
    if (data == "3") //Jika data yang dikirimkan berlogika
    {
      digitalWrite(led, HIGH); //LED menyala
    }
    else
    {
      digitalWrite(led, LOW); //LED mati
    }

  }
}

Flowchart:

5. Analisa [ K E M B A L I]
1. Apa yang terjadi jika baudrate dari salah satu baudrate dari salah satu device diubah?

Baud rate menyatakan seberapa cepat data yang dikirimkan melalui komunikasi serial. Baud rate memiliki satuan berupa bit per second (bps). Sehingga, dari pengertian baud rate dapat disimpulkan bahwa semakin besar nilai baud rate, maka kecepatan pengiriman data semakin cepat.

Baud rate yang digunakan pada percobaan 1 sebesar 9600. Ketika baud rate salah satu device diubah menjadi 4800, tidak terjadi perubahan pada output (LED dan Buzzer) dari rangkaian.

2. Apa yang terjadi jika pin TX pada slave diputuskan?

Ketika pin Tx pada slave diputuskan, LED dan Buzzer (output dari rangkaian) tetap menyala seperti biasa. Hal ini terjadi karena Tx merupakan transmitter (pengirim data). Slave tidak melakukan pengiriman data, tetapi hanya menerima data (receiver) menggunakan pin Rx.

3. Apa perbedaan antara komunikasi Serial biasa dengan komunikasi softwareserial?

Arduino memiliki pin Tx Rx pada pin 0 dan 1. Dengan menggunakan SoftwareSerial, kita dapat mendeklarasikan pin lain sebagai Tx dan Rx. Sebagai contoh, pada percobaan ini kita deklarasikan syntax SoftwareSerial myserial(2, 3); yang berarti kita menggunakan pin 2 sebagai Rx dan pin 3 sebagai Tx. Jika kita menggunakan komunikasi Serial biasa, Tx dan Rx hanya bisa digunakan pada pin 0 dan 1.



7. Link Download   [ K E M B A L I]

Tidak ada komentar:

Posting Komentar

Bahan Presentasi ini dibuat untuk Memenuhi Tugas Mata Kuliah Elektronika Oleh: MUHAMMAD FIQRA FUADDY 1910951027 Dosen Penga...