Laporan Akhir M3 Percobaan 1 (UART)

[Menuju Akhir]

1. Hardware

[Back]

Arduino Uno
Button

LED

2. Rangkaian Simulasi

[Back]
Rangkaian percobaan
Pada Proteus




3. Flowchart

[Back]

4. Listing Program

[Back]

//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. Prinsip Kerja Rangkaian

[Back]

Pertama upload program yang telah sudah di compile pada arduino sketch.
Ketika program telah dimasukan, arduino akan melakukan pendeklarasian pin-pin pada arduino tersebut ke LED  dan Button, selain itu Master dan Arduino dihubungkan dengan komunikasi UART (RX TX). Arduino akan melakukan looping sesuai dengan perintah yang terdapat pada void loop di program, dengan demikian ketika tombol ditekan maka Arduino Master akan mendapatkan perintah dan mengirimnya melalui pin RX TX dan dari slave akan dikerjakan dengan keluaran Lampu LED, SEHINGGA LED hidup.

6. Video

[Back]



7. Analisa

[Back]
a.       Analisa pengaruh baudrate terhadadp LED
Ø  Baud rate mengindikasikan seberapa cepat data dikirim melalui komunikasi serial. Baud rate biasanya diberi satuan bit-per-second (bps), nilai bps dapat berbeda dengan nilai baud rate. Asumsi saat ini kita fokus pada komunikasi serial, dimana setiap detak menyatakan transisi satu bit keadaan. Jika kita menginverskan nilai bps ini, kita dapat memperoleh keterangan berapa lama waktu yang dibutuhkan untuk mengirim 1 bit terhadap LED, sehingga Baudrate yang terlalu kecil akan menyebabkan waktu tunda sehingga nyala LED menjadi  delay.

b.      Mengapa ketika button ditekan, LED menyala?
Ø  Button bersifat sebagai pullup, yaitu akan aktif bila kondisi LOW. LED aktif disebabkan oleh kondisi Serial. Kondisi tersebut dipicu dari pembacaan data melalui serial.

c.       Jelaskan prinsip kerja rangkaian
Ø  Dalam percobaan yang sebenarnya adalah ketika button belum ditekan maka lampu dalam keadaan mati, dan ketika button ditekan lampu akan berkedip. Namun, karena kesalahan dari pemasangan rangkaian pada billboard ada yang salah, maka lampu tersebut mengalami gangguan.
Ø  Namun saya akan membahas apabila rangkaian tersebut terpasang benar dan lampu akan bekerja. Jadi ketika sebelum button ditekan adalah maka kondisi nya adalah HIGH, dan lampu mati, lalu ketika button ditekan maka kondisi button tersebut berubah menjadi LOW yang berarti lampu akan menyala dan berkedip. Untuk pengiriman datanya dengan cara ketika button ditekan maka serial akan membaca datanya, dengan membaca data tersebut maka data dari serial akan berkurang satu, dan lampu pun akan hidup yang menandakan data ada yang terkirim.


8. Link download

[Back]
[Menuju Awal]

No comments:

Post a Comment