Laporan Akhir 1 - Percobaan 1





PERCOBAAN 1 - KOMUNIKASI UART



1. Tujuan [Kembali]

    1.1 Tujuan Praktikum

  • Mampu merangkai rangkaian percobaan komunikasi UART
  • Mampu menjelaskan prinsip kerja rangkaian percobaan komunikasi UART
  • Mampu membuat simulasi rangkaian pada aplikasi proteus

    1.2 Kondisi

          Tambahkan buzzer sebagai input pada master, sehingga ketika button ditekan LED dan buzzer akan menyala.

 



2. Hardware [Kembali]

  • Arduino Uno



 
  • Push Botton

  • Resistor


  • Buzzer
  • LED


  • Power Supply




          
3. Rangkaian Percobaan [Kembali]


    3.1 Rangkaian Percobaan



    
    3.2 Prinsip Kerja

        Pada rangkaian percobaan 1 ini, terdiri atas beberapa komponen, yaitu arduino uno, buzzer, LED, resistor, push button, power, dan gorund. Percobaan yang dilakukan yaitu percobaan komunikasi UART antara 2 buah arduino. Satu arduino berfungsi sebagai master dan arduino yang lain befungsi sebagai slave. Pin Tx (pin 1) pada arduino Master dihubungkan dengan pin Rx (pin 0) pada arduino Slave dan pin Tx (pin 1) pada arduino Slave dihubungkan dengan pin Rx (pin 0) pada arduino Master. Pin digital 7 pada Master dihubungkan dengan paralel push button, resistor, dan buzzer, dimana kaki lain pada push button terhubung ke power dan kaki lain pada resistor dang ground terhubung ke ground. Sedangkan pada arduino Slave, pin 7 arduino dihubungkan ke LED. Secara umum, prinsip kerja dari rangkaian percobaan 1 ini, yaitu jika button ditekan, maka button akan berlogika 1 sehingga arus mengalir dari power menuju pin 7 Master dan mengakibatkan buzzer berbunyi dan LED pada Slave hidup dikarenakan ada data yang dikirimkan dari Tx Master ke Rx Slave. Namun, jika button tidak ditekan, maka buton akan berlogika 0 dan arus dilewatkan ke ground sehingga LED dan buzzer mati.

      Pada rangkaian percobaan 3, terdiri atas 2 listing program yaitu untuk master dan slave.  

         Pada listing program master, awalnya dilakukan pendefinisian atau mendeklarasikan pin-pin yang digunakan yaitu pin 7 sebagai Button dan Buzzer. Lalu, fungsi void setup () dieksekusi. Pada fungsi ini, dilakukan dekalarasi pin button sebagai INPUT dan pin Buzzer sebagai OUTPUT. Lalu, komunikasi serial dimulai dengan men-set data rate sebesar 9600 bps. Kemudian, fungsi void loop() dieksekusi. Pada fungsi ini, dilakukan pembacaan nilai input dari pin Button menggunakan kode digitalRead(Button). Lalu, hasil pembacaan tersebut disimpan dalam variabel nilai yang menggunakan tipe data integer. Terdapat percabangan if, jika varibel nilai bernilai 1, maka angka 1 akan ditampilkan dalam serial monitor komputer. Lainnya, jika varibel nilai bernilai 0, maka angka 2 akan ditampilkan dalam serial monitor komputer.

    Pada listing program slave, awalnya didefinisikan atau dideklarasikan pin yang digunakan, yaitu pin 7 sebagai LED. Lalu, komunikasi serial dimulai dengan men-set data rate sebesar 9600 bps. Selanjutnya, program akan meng-eksekusi fungsi void setup () dimana pada fungsi ini dilakukan deklarasi pin LED/pin 7 sebagai OUTPUT. Lalu, fungsi void loop () dieksekusi. Pada fungsi ini, terdapat kode if(Serial.available () > 0 yang berfungsi untuk merespon komunikasi serial hanya ketika Slave menerima data dari Master. Lalu, dilakukan pembacaan data yang diterima dan data tersebut disimpan dalam variabel data dengan tipe data integer. Selanjutnya, terdapat percabangan if. Jika data yang diterima berlogika 1, maka LED akan menyala. Lainnya, jika data yang diterima berlogika 0, maka LED akan mati.

 


4. Listing Program [Kembali]


      4.1 Listing Program


      
     4.2 Flowchart





5. Analisa [Kembali]

 1. Apa yang terjadi jika baud rate dari salah satu device diubah?

Jawab:

Baud rate berhubungan dengan kecepatan pengiriman data dari clock pada device master atu slave. Jika baud rate salah satu device diubah, maka kecepatan pengiriman data device tersebut juga berubah sehingga data yang dikirimkan lebih banyak. Pada percobaan, output berupa buzzer dan LED tetap hidup meskipun baud rate salah satu device diubah.

 

2. Apa yang terjadi jika pin Tx pada slave diputuskan?

Jawab:

        Pin Tx berfungsi sebagai transmitter atau pengirim data dalam komunikasi UART. Jika pin Tx pada slave diputuskan, maka data hanya akan dikirimkan dari device master ke device slave dan device slave tidak dapat mengirimkan data ke device master sehingga slave hanya menggunakan pin Rx untuk menerima data dari device master. Oleh karena itu, device slave tetap bisa menerima data dari device master sehingga buzzer dan LED akan tetap hidup.

 

3. Apa perbedaan antara komunikasi serial biasa dengan komunikasi softwareserial?

Jawab:

        Pada komunikasi serial biasa, pin Tx dan Rx pada arduino yang digunakan terbatas, yaitu hanya pin 1 sebagai Tx dan pin 0 sebagai Rx, sehingga hanya bisa menghubungkan satu master dan satu slave. Namun, pada komunikasi softwareserial, pin Tx dan Rx bisa menggunakan pin digital mana saja pada arduino asalkan dideklarasikan terlebih dahului sehingga bisa menghubungkan lebih dari slave ke master.

        Perbedaan lain terletak pada kode print, pada komunikasi serial digunakan hanya untuk mencetak data atau tulisan ke serial monitor komputer. Namun, pada komunikasi serial digunakan untuk mengirim pesan ke device lain.




6. Video [Kembali]




7. Link Download [Kembali]
      

Tidak ada komentar:

Posting Komentar