tp modul 3




1. Kondisi [kembali]

Tambahkan resistor sebelum Button sebesar 1 ohm

2. Rangkaian Simulasi [kembali]



Gambar 2.1 Gambar rangkaian simulasi

 Prinsip Kerja:

    Pada rangkaian diatas menggunakan komunikasi UART, terdapat dua arduiono yang berfungsi sebagai master dan slave. Pada rangkaian diatas button berfungsi sebagai inputan dari master yang menggunakan input Pull Up. 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. Resistor disini mempengaruhi logika yang dikirim oleh master ke slave. Apabila semakin besar resistansi maka akan menghambat logika menuju slave. 




Gambar 3.1 Gambar flowchart master 

Gambar 3.2 Gambar flowchart slave 




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);
  
  //ditekan
  if(nilai == 0)
    {
      Serial.print("1");     
    }
  else 
    {
      Serial.print("2"); 
    }

    delay(200);
}
//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);
}


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

Rangkaian klik disini
Program Slave klik disini
Program Master klik disini
flowchart Master klik disini
flowchart Slave klik disini

Tidak ada komentar:

Posting Komentar