MODUL 3 PERCOBAAN 1





KOMUNIKASI UART


1. Hardware [kembali]


Gambar 1. Button

Gambar 2. LED

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

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

6. Analisa [kembali]
a) Analisa peran pin button pada percobaan!
    Button berfungsi sebagai input dari master. Ketika Button dalam keadaan terbuka digunakan logika High dan saat button ditutup digunakan logika low. Ketika logika diberi low maka master akan mengirim logika 1 ke slave, slave akan merespon logika yang diberikan oleh master sehingga LED akan menyala. Ketika diberikan logika selain 1 oleh master maka LED tidak akan menyala.

b) Apa yang terjadi jika baudrate antara ke 2 arduino tidak sama? jelaskan!
     Jika baudrate nya tidak sama maka kedua arduino tidak dapat terhubung dan tidak akan terjadi transfer data atau komunikasi antara arduino tersebut.
7. Link Download [kembali] 
File Proteus - Download
File Program - Download
Video Pratikum - Download

Tidak ada komentar:

Posting Komentar