Laporan Akhir 1 Modul 3



Percobaan 1

  1. Komponen [kembali]
    1. Arduino UNO
    2. Speaker
    3. Button
    4. Resistor

  2. Rangkaian Simulasi [kembali]
    Prinsip Kerja

    Button diset dalam kondisi PULLUP dimana ketika tombol tidak ditekan maka akan memberikan logika 1 pada Arduino dan jika button ditekan akan memberikan logika 0. Ketika Arduino berlogika 0 pada pin yang terhubung ke button, maka akan dilakukan print "1" dan jika Arduino berlogika 1 pada pin yang terhubung pada button, maka akan dilakukan print "2". Data akan dikirimkan dari pin Tx MASTER ke pin Rx SLAVE. Pada SLAVE, data yang dikirimkan oleh MASTER akan diterima. Jika data yang diterima adalah "1" maka pin yang terhubung pada speaker akan berlogika HIGH dan akan menghidupkan speaker. Selain dari data "1" maka pin yang terhubung dengan speaker akan berlogika LOW dan speaker tidak menyala.

  3. Flowchart [kembali]

  4. Listing Program [kembali]
    • 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);

      //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 Rangkaian [kembali]


  6. Kondisi [kembali]
    Ganti nilai baud rate menjadi 34500

    Analisa
    1. Apa pengaruh set baud rate
      Baud rate merupakan seberapa cepat data yang dikirimkan melalui komunikasi serial. Jika digunakan baudrate yang berbeda antara SLAVE dan MASTER maka komunikasinya tidak akan berjalan. Sehingga, untuk menjalankan rangkaian digunakan baud rate yang sama.
    2. Bagaimana jika hanya 1 Rx dan Tx yang dihubungkan
      Jika hanya 1 pin Rx dan Tx yang dihubungkan, rangkaian dapat berjalan dan tidak dapat berjalan. Rangkaian dapat berjalan saat pin Tx terhubung dari MASTER ke Rx pada SLAVE. Hal itu dikarenakan, pada listing program SLAVE terdapat syntax Serial.read(); yang mana syntax tersebut membaca nilai yang dikirimkan oleh MASTER sehingga SLAVE berfungsi sebagai penerima data (Rx) dan MASTER sebagai pengirim data (Tx).
    3. Jelaskan button pullup dan pulldown (buat rangkaian)
      PULLUP
      Jika menggunakan INPUT_PULLUP pada Arduino logika awal (button terbuka) adalah 1 atau HIGH dan saat button ditekan maka logika yang Arduino hasilkan berubah menjadi 0 atau LOW.

      PULLDOWN
      Jika menggunakan INPUT_PULLDOWN pada Arduino logika awal (button terbuka) adalah 0 atau LOW dan saat button ditekan maka logika yang Arduino hasilkan berubah menjadi 1 atau HIGH.

  7. Link Download [kembali]
    Klik disini << HTML
    Klik disini << Rangkaian Simulasi + Listing Program
    Klik disini << Video Simulasi
    Klik disini << Datasheet

Tidak ada komentar:

Posting Komentar