Rabu, 30 Oktober 2019

Laporan akhir (Percobaan 2)




Komunikasi I2C






//MASTER

#include <Wire.h>
#define SLAVE_ADDR 9

int analogPin = 0;
int val = 0;

void setup() {
  Wire.begin();
}

void loop() {
  delay(50);
  val = map(analogRead(analogPin), 0, 1023, 255, 1);

  Wire.beginTransmission(SLAVE_ADDR);
  Wire.write(val);
  Wire.endTransmission();

}
//SLAVE

#include <Wire.h>
#define SLAVE_ADDR 9

int LED = 13;
int rd;
int br;

void setup() {
  pinMode(LED, OUTPUT);
  Wire.begin(SLAVE_ADDR);
  Wire.onReceive(receiveEvent);

  Serial.begin(9600);
  Serial.println("I2C Slave demo");

}

void receiveEvent() {
  rd = Wire.read();
  Serial.println(rd);
}
void loop() {
  delay(50);

  br = map(rd, 1, 255, 100, 2000);

  digitalWrite(LED, HIGH);
  delay(br);
  digitalWrite(LED, LOW);
  delay(br);
5. Analisa [kembali]

1. Kelbihan dan kekurangan  SPI

Kelebihan SPI adalah Master dan slave sama2 dapat berkomunikasi karena SPI mempunyai 2 jalan sehingga proses pengiriman data menjadi lebih cepat, dan juga SPI juga mempunyai konsumsi daya yang rendah dibandingkan sistem komunikasi lainnya. kekurangan SPI adalah sistem komunikasi ini membutuhkan jumlah kabel yang banyak.

2. Apa fungsi library SPI.h pada listing program SPI?

Pada listing program komunikasi SPI dideklarasikan library SPI.h yang berguna untuk memudahkan program di bawah, jika sudah di deklarasikan di atas maka tidak perlu lagi di di tulis di program di bawah.

3. Jelaskan prinsip kerja percobaan 2

pada percobaan 2 menggunakan sistim komunikasai SPI, membutuhkan 2 buah arduino yang satu berperan sebagai master dan yang lain bereran sebagai slave, untuk mengirim informasi dari master ke slave dikirim melalalui pin MOSI dan jika ada feedback dari slave ke master digunakan pin MISO. pada praktikum ini Master memerintahkan untuk menghidupkan LED, dan slave akan menghidupkan LED, dan setelah di hidupkan maka slave memberi feedback ke master.

5.Video Praktikum [kembali]




Selasa, 29 Oktober 2019

Laporan Akhir (Percobaan 1)




Komunikasi UART





//MASTER

#define button 2 //Deklarasi pin 2 untuk button

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

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

  //Button ditekan
  if (nilai == 0)
  {
    Serial.print("1");
  }
  else
  {
    Serial.print("2");
  }

  delay(200);
}

//SLAVE

#define led 12 //Deklarasi pin 12 untuk Buzzer 

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

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

  }
}

5. Analisa [kembali]
1. Apa kelemahan dan kelebihan UART?

Kelebihan UART adalah UART hanya membutuhkan  sedikit kabel untuk transmisi karena UART menggunakan komunikasi paralel, dimana hanya menggunakan satu jalur untuk semua bit, dan proses transmisi tidak tergantung waktu, karena sistem komunikasi ini tidak menggunakan clock
 Kelemahan UART adalah dalam hal kecepatan dan jarak transmisi, Karena semakin cepat dan jauh jarak transmissi membuat paket-paket bit data menjadi terdistorsi sehingga data yang dikirim atau diterima bisa mengalami error.

2. Apa fungsi baud rate dan apa pengaruhnya?
 Baud rate adalah seberapa cepat data dikirim melalui komunikasi serial, Baud rate biasanya diberi satuan bit-per-second (bps), pada percobaan baud rate bermilai 9600, jika nilai ini di ubah menjadi lebih kecil, maka kecepattan transfer akan melambat, sebaliknya jika baud rate di ubah lebih besar maka kecepatan transfer akan lebih cepat.


6. Video [kembali]



7. Link Download [kembali]
Download Video download
Download HTML download

Senin, 28 Oktober 2019

TP MODUL 3


1.  Kondisi [Kembali]

Percobaan 1 kondisi 17 (Ubah salah satu Arduino menjadi Arduino nano)

2. Rangkaian Simulasi [Kembali]


3. Flowchart[Kembali]


4.  Listing Program[Kembali]


//MASTER

#define button 2 //Deklarasi pin 2 untuk button

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

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

  //Button ditekan
  if (nilai == 0)
  {
    Serial.print("1");
  }
  else
  {
    Serial.print("2");
  }

  delay(200);
}

//SLAVE

#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
}

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

  }
}

    5. Video Simulasi [Kembali]






    6. Link Download [Kembali]






  • Listing Program <Link Download>
  • Video <Link Download>