Percobaan 1 Komunikasi UART


[KEMBALI KE MENU SEBELUMNYA]





1. Komponen [Kembali]


Arduino





LED



Button





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);
}

#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
      delay(200);
    }
    else
    {
      digitalWrite(led, LOW); //LED mati
    }

  }

}





6. Kondisi [Kembali]


1. Jika pada led dan push button ditambahkan 100k ohm resistor, apa yang akan terjadi? jelaskan

Jawab:  Pemberian resistor 100K Ohm memberi hambatan yang telalu besar untuk rangkaian. Arus menjadi tidak mengalir sehingga tidak bisa mengirim data informasi. Jadi walaupun button ditekan, LED tidak akan aktif

2. Bagaimana pengaruh input pullup/pulldwon pada rangkaian? jelaskan

Jawab: Input pull up/pull down berfungsi untuk mengatur kondisi button agar berlogika High atau Low . Pada input pull up button akan berlogika High jika dibiarkan (pull up) namun jika button ditekan maka button menjadi tidak aktif sehingga berlogika Low.  Sebaliknya pada input pull down button akan berlogika High jika ditekan dan berlogika Low jika dibiarkan.

Pada rangkaian ini kita menggunakan input pull up yang mana button akan berlogika Low(berlogika 0) jika ditekan. Kemudian Arduino mencetak 1 sesuai program master dan dikrim ke slave. Karena data dari master adalah ‘1’, slave akan memprosesnya untuk menghidupkan LED. Jika button tidak ditekan maka akan menghasilkan logika High(berlogika 1) yang mana program arduino mecetaknya menjadi angka 2 dan dikirim ke slave. Program slave akan memproses nilai selain ‘1’ dengan perintah LED mati, termasuk ‘2’

Tidak ada komentar:

Posting Komentar

Bahan Presentasi Untuk Matakuliah  Elektronika  Dosen Pengampu :  Darwison, MT  OLEH : FITRAH HUSEINI AZIZI (181095...