Percobaan 1

Laporan Akhir Percobaan 1 Universal Asynchronous Receiver Transmitter




1.Hardware [kembali]




2. Rangkaian Simulasi [kembali]



3. Prinsip Kerja [kembali]

 UART (Universal Asynchronous Receiver-Transmitter) adalah bagian perangkat keras komputer yang menerjemahkan antara bit-bit paralel data dan bit-bit serial. UART biasanya berupa sirkuit terintegrasi yang digunakan untuk komunikasi serial pada komputer atau port serial perangkat periperal. Data dikirimkan secara paralel dari data bus ke UART1. Pada UART1 ditambahkan start bit, parity bit, dan stop bit kemudian dimuat dalam satu paket data. Paket data ditransmisikan secara serial dari Tx UART1 ke Rx UART2. UART2 mengkonversikan data dan menghapus bit tambahan, kemudia di transfer secara parallel ke data bus penerima. Dan begitu seterusnya.


Analisa

pengaruh baud rate terhadapap led, baud rate yang tinggi menyebabkan waktu tunda (delay) yang kecil sehingga perintah cepat untuk dieksekusi. Begitu juga sebaliknya Baud rate yang rendah akan menyebabkan waktu tunda (delay) yang lebih besar, seringkali hal ini tidak disadari dan menyebabkan baris perintah lain terlambat untuk dieksekusi. Jadi semakin tinggi nilai boud rate nya maka delay yang terjadi pada LED juga akan semakin lama, hal ini akan mempengaruhi cepat atau lambat hidupnya LED


4. Flowchart [kembali]





5. List 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
    }

  }
}


6. Video Simulasi [kembali]







7. Link Download [kembali]

download video disini
listing program disini





Tidak ada komentar:

Posting Komentar