Laporan Akhir Modul 3 Percobaan 1 Up Uc



  1. Tujuan [Kembali]

    1. Memahami prinsip kerja UART, SPI, dan I2C
    2. Mengaplikasikan protokol komunikasi UART, SPI, dan I2C pada Arduino

    Kondisi: Tambahkan buzzer sebagai input pada master, sehingga ketika button di tekan led dan buzzer akan menyala.


  2. Hardware [Kembali]
    • Arduino


    • Push button


    • LED


    • Buzzer



  3. Rangkaian Percobaan [Kembali]


  4. Prinsip kerjanya adalah terdapat dua buah arduino yang berfungsi sebagai master dan slave, lalu diinputkan dengan push button dengan input pull up, dan terdapat output yang berupa LED dan buzzer. Kedua arduino tersebut dimasukkan listing program yang ada dibawah agar dapat menjadi master dan slavenya. Sehingga nanti jika ditekan button, maka arus tidak mengalir ke arduino master, yang memberikan input logika LOW dan membuat arduinopada slave mengeluarkan logika HIGH yang membuat LED dan Buzzer akan hidup, dan begitu juga untuk sebaliknya.


  5. Listing Program dan Flowchart [Kembali]
  6. Listing program:

    Master
    //MASTER

    #include <SoftwareSerial.h>

    SoftwareSerial myserial(2, 3);  // 2=RX 3=TX

    #define button 4 //Deklarasi pin 2 untuk button
    #define buzzer 4

    void setup()  //Semua kode dalam fungsi ini dieksekusi sekali
    {
      pinMode(button, INPUT_PULLUP);
      pinMode(buzzer, OUTPUT);
      myserial.begin(9600); //Set baud rate 9600
    }

    void loop() //Semua kode dalam fungsi ini dieksekusi berulang
    {
      int nilai = digitalRead(button);

      //ditekan
      if (nilai == 0)
      {
        myserial.write("3");
      }
      else
      {
        myserial.write("4");
      }

      delay(200);
    }

    Slave
    //SLAVE

    #include <SoftwareSerial.h>

    SoftwareSerial myserial(2, 3);  // 2=RX 3=TX

    #define led 12 //Deklarasi pin 12 untuk LED

    void setup() //Semua kode dalam fungsi ini dieksekusi sekali
    {
      pinMode(led, OUTPUT); //Deklarasi LED sebagai output
      myserial.begin(9600);
    }

    void loop() //Semua program dalam fungsi ini dieksekusi berulang
    {
      if (myserial.available() > 0)
      {
        int data = myserial.read();
        if (data == "3") //Jika data yang dikirimkan berlogika
        {
          digitalWrite(led, HIGH); //LED menyala
        }
        else
        {
          digitalWrite(led, LOW); //LED mati
        }

      }
    }

    Flowchart:

    Master

    Slave

  7. Analisa [Kembali]
    1. Apa yang terjadi jika baudrate dari salah satu device diubah?
    2. Jawab:

      Baud rate adalah kecepatan suatu device untuk mengirimkan data dalam komunikasi serial, jika salah satu dari device diubah baud rate nya, maka jika dijalankan rangkaiannya LED dan buzzer tetap menyala, tetapi menurut definisi dari baud rate, kecepatan untuk mengirimkan data akan berbeda masing masing devicenya.

    3. Apa yang terjadi jika pin TX pada slave diputuskan?
    4. Jawab:

      Jika pin TX pada slave diputuskan, maka rangkaian akan tetap berjalan seperti sebelumnya, yaitu LED dan buzzer akan menyala. Pin TX berfungsi sebagai pengirim data dan pada slave tidak ada data yang dikirimkan sehingga tidak ada pengaruhnya pada rangkaian ini.

    5. Apa perbedaan antara komunikasi Serial biasa dengan komunikasi softwareserial?
    6. Jawab:

      Perbedaan komunikasi serial dengan komunikasi softwareserial yaitu pada software serial kita dapat menggunakan pin digital lain berfungsi sebagai TX dan RX. Sedangkan, jika tidak memakai softwareserial maka pada arduino pin untuk TX dan RX dalah pada pin 0 dan 1.


  8. Video [Kembali]



  9. Link Download [Kembali]
    1. HTML
    2. Rangkaian Simulasi
    3. Listing Program Master
    4. Listing Program Slave
    5. Datasheet Arduino
    6. Datasheet Push button
    7. Video

Tidak ada komentar:

Posting Komentar