MODUL 3
COMMUNICATION

PERCOBAAN 1
"UNIVERSAL ASYNCHRONOUS RECEIVER TRANSMITTER ( UART)"

[KEMBALI KE MENU SEBELUMNYA]
      1. hardware[kembali]

1. potensiometer

2. arduino
3. led



3. flowchart[kembali]

 
master

slave





master:
//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:
//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 percobaan [kembali]







6. analisa [kembali]

komunikasi UARC atau Universal Asynchronous Receiver Transmitter merupakan komunikasi serial yang bersifat tidak sinkron (asynchronous). artinya adalah pada saat proses transmisi tidak menggunakan sinyal clock.  kelebihan menggunakan komunikasi UART adalah untuk menghemat pin yang digunakan karena hanya membutuhkan pin TX dan RX. dimana TX berfungsi sebagai pin  pengirim dan TX sebagai pin penerima. untuk komunikasi dua arah maka kaki TX master dihubungkan dengan kaki RX slave dan kaki TX slave dihubungkan dengan kaki RX master.
 
kelebihan lain dari komunikasi UART dibandingkan dengan komunikasi lainnya adalah pada komunikasi dengan kabel yang panjang, masalah cable loss tidak akan menjadi masalah besar daripada menggunakan kabel parallel. saat terjadi kabel loss maka kita hanya perlu mengganti satu kabel dan kabel yang diganti sudah bisa dipastikan. berbeda dengan komunikasi parallel dimana saat terjadi kabel loss kita akan dibingungkan saat menentukan kabel yang mengalami loss karena terdapat banyak kabel. dan alasan lainnya adalah Membutuhkan jumlah kabel yang sedikit. selain itu kita juga dapat mengirimkan data sekaligus dalam satu paket data yaitu secara seri dalam satu buah saluran.
 
untuk rangkaian percobaan digunakan kondisi input pullup artinya adalah  nilai awal dari logika pin saat buttom tidak ditekan adalah 1 atau HIGH. lalu prinsip kerja rangkainnya adalah  saat kondisi awal dimana bottom tidak ditekan maka logika pada pin masukkan master adalah 1 atau HIGH. berdasarkan program maka saat logika yang dibaca oleh pin arduino master adalah HIGH, maka nilai yang dikirimkan oleh master dari TX ke slave RX adalah 2. saat nilai yang diterima oleh RX slave adalah 2 maka arduino akan memberikan perintah untuk mengeluarkan nilai logika LOW atau 0 pada pin output slave yang mengakibatkan LED tidak hidup atau mati.
lalu saat buttom ditekan maka logika yang dibaca oleh pin input master berubah dari HIGH menjadi LOW. maka nilai yang dibaca oleh arduino master adalah 0 maka arduino master akan mengirimkan data 1 dari TX menuju RX slave. pada program slave saat nilai yang ia terima adalah 1 maka ia akan mengeluarkan logika 1 atau HIGH pada outputnya. sehingga mengakibatkan LED menjadi hidup. 
 
artinya adalah saat kita membiatkan button tidak ditekan maka nilai yang dikrimkan adalah 2 saat nilai yang diterima adalah 2 maka LED tidak hidup atau mati atau diberi logika LOW. sebaliknya saat kita tekan button maka nilai yang dikrim adalah 1. saat nilai 1 diterima maka LED kan hidup atau diberi logika HIGH.


Tidak ada komentar:

Posting Komentar