M3_Tugas Pendahuluan_P1K12


                                              [KEMBALI KE MENU SEBELUMNYA]



    Percobaan 1(UART) Kondisi 12 : Ganti LED menjadi Buzzer, Buatlah kondisi awal Buzzer mati, lalu hidup dengan delay 1000 ms


2. Gambar Rangkaian Simulasi [back]





3.Video Simulasi [back]



4.Prinsip Kerja[back]

 Pada rangkaian diatas digunakan button dengan tipe pull up sebagai input dan buzzer sebagai output. Button dengan tipe pull up dihubungkan ke pin 2 digital arduino "master "sedangkan buzzer sebagai output dihubungkan ke pin 12 digital arduino "slave". Pada rangkaian ini arduino master akan mengirimkan data ke arduino slave berupa kode angka. Awalnya ketika button tidak dipencet maka data yang diberikan oleh arduino master berupa “2” yang mana pada program arduino slave data “2” membuat buzzer mati. Jika button dipencet maka arduino master akan mengirimkann data “1” yang mana pada program arduino slave akan menghidupkan buzzer dengan delay 1000ms.

UART adalah salah satu protokol komunikasi data yang bersifat asynchronus. ada beberapa hal yang diperlukan Pertama, panjang dari data yang akan dikirimkan.kedua Start dan Stop mengirimkan dan membaca data. dan ketiga adalah kecepatan transmisisnya. UART bersifat FUll duplex dengan kecepatan ngirim data 9600 - 115200 bps

kelebihan dan kekurangan dari UART.

Kelebihan :

  1. Pengiriman data dengan menggunakan UART hanya membutuhkan 2 kabel yaitu dengan 1 kabel transmisi (TX/RX) dan 1 kabel ground.
  2. Dalam pengirim setiap bit datanya tidak memerlukan sinyal clock.
  3. Memiliki partisi bit yang digunakan untuk pengecekan error saat transmisi data.
  4. Struktur paket data dapat diubah.
  5. Tutorial dan pembelajaran tentang UART didokumentasikan dengan baik dan protokol ini banyak digunakan di berbagai mikrokontroler.

Kekurangan :

  1. Ukuran atau panjang data yang dapat dikirimkan dengan protokol UART ini terbatas dengan maksimum 9 frame.
  2. Tidak bisa digunakan untuk mengirimkan data ke banyak receiver atau pun transmitter.
  3. Baud Rate dari masing-masing UART harus dalam jarak 10% antara satu sama lain.


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

Penjelasan Codingan :

Pertama Kita Deklarasikan Pin-pin yang akan dihubungkan ke arduino nantinya dimana pin nya adalah 2 dan dihubungkan ke button. lalu pada void setup di lakukan pemanggilan fungsi pinMode() dan serial begin().

Fungsi pinMode() pada arduino adalah sebuah perintah yang fungsinya untuk mengkonfigurasi pin tertentu agar bekerja menjadi sebuah input atau output. pinMode() biasanya digunakan pada void setup() untuk melakukan konfigurasi pada suatu pin, di dalam pemrograman arduino perintah pinMode() akan sering kamu jumpai dan gunakan. dari codingan kita ingin menjadikan pin button sebagai mode INPUT_PULLUP dimana aplikasi input untuk pendeteksian tombol secara active LOW sebaiknya menggunakan INPUT_PULLUP karena akan jauh menghemat jalur PCB dan untuk logikanya tidak terpaku pada "1" dan "0"

void loop digunakan dalam arduino IDE untuk menjalankan perintah didalamnya secara berulang-ulang,dalam void loop ada variabel nilai yang merupakan nilai pembacaan dari button.

ketika button ditekan maka serial akan mencetak angka "1" yang nantinya akan dikirimkan ke arduino "slave" jika sebaliknya maka akan mencetak angka "2"

//SLAVE

//SLAVE

#define buzz 12 //Deklarasi pin 12 untuk buzz

void setup()    //Semua kode dalam fungsi ini dieksekusi sekali
{
  pinMode(buzz, OUTPUT); //Deklarasi buzz 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(buzz, HIGH); //buzz menyala
      delay(1000);
      digitalWrite(buzz, LOW); //buzz menyala
      delay(1000);
    }
    else
    {
      digitalWrite(buzz, LOW); //buzz mati
    }
  }
}

Penjelasan Codingan :

Pertama Kita Deklarasikan Pin-pin yang akan dihubungkan ke arduino nantinya dimana pin nya adalah 12 dihubungkan ke buzzer lalu pada void setup di lakukan pemanggilan fungsi pinMode().

Fungsi pinMode() pada arduino adalah sebuah perintah yang fungsinya untuk mengkonfigurasi pin tertentu agar bekerja menjadi sebuah input atau output. pinMode() biasanya digunakan pada void setup() untuk melakukan konfigurasi pada suatu pin, di dalam pemrograman arduino perintah pinMode() akan sering kamu jumpai dan gunakan. dari codingan kita ingin menjadikan pin buzzer sebagai mode Output/keluaran

void loop digunakan dalam arduino IDE untuk menjalankan perintah didalamnya secara berulang-ulang,dalam void loop ada variabel data yang mana nilainya merupakan nilai yang dikirimkan oleh "master" ketika data = 1 maka buzzer akan menyala dan diberikan delay selama 1000ms sesuai dengan kondisi modul

Fungsi digitalWrite() pada arduino adalah salah satu perintah yang berfungsi untuk memberi nilai 1 atau 0 kepada pin digital yang ada pada arduino. 1/0 bisa juga disebut dengan nilai HIGH dan LOW ke pin digital.


5. File Download [back]

Download HTML Link Download
Download Simulasi Proteus Link Download
Download Listing Program Master Link Download
Download Listing Program Slave Link Download
Download Library Link Download
Download Video Link Download
Dataheet LED Link Download
Dataheet Push button Link Download
Datasheet Arduino UNO Link Download

Tidak ada komentar:

Posting Komentar

Muhammad Sukry

Bahan Presenstasi Ini dibuat untuk  Mata Kuliah Mikroprocessor dan Mikrocontroller Semester Ganjil 2022-2023 Oleh : Muhammad Sukry 201095104...