Tugas Pendahuluan Modul 3




Modul 3, Percobaan 1, Nomor 6
Tambahkan resistor sebelum LED sebesar 1k ohm


Gambar 1. Rangkaian Simulasi




Gambar 2. Flowchart Master dan Slave


//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

 

#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

        }

       

  }

}



Pada rangkaian terdapat 2 buah Arduino (Master dan Slave), button, LED, resistor 1k, dan ground. Untuk menjalankan rangkaian maka dibuat program Arduino untuk Master dan Slave. Untuk Master, button yang terhubung pada pin 2 Master dideklarasikan sebagai input_pullup dimana jika pullup maka menerima logika LOW (bernilai 0). Kemudian baud rate sebesar 9600. Kedua hal tersebut dieksekusi sekali void setup(). Kemudian, fungsi void loop() yang dieksekusi berulang. Nilai yang didapatkan dari Button akan dibaca, jika bernilai 0, maka Master mengirm data “1”. Jika selain nilai 0, Master mengirim data “2”. Terakhir delay selama 20 ms.

Untuk Slave, dengan fungsi void setup (), LED yang terhubung ke pin 12 Slave dideklarasikan sebagai output dan baud rate dibuat sebesar 9600. Kemudian fungsi void loop(), jika data telah diterima dan terbaca oleh Slave. Jika data “1” diterima, maka LED menyala, sedangkan jika data selain “1” maka LED mati.

Setelah program Arduino untuk Master dan Slave dibuat, lalu dipasang pada Arduino pada rangkaian. Ketika rangkaian dijalankan, ketika button pullup, maka berlogika HIGH dan data dikirimkan selain “1” dan LED mati. Sedangkan ketika button pulldown (ditekan), maka berlogika LOW dan data “1” dikirimkan namun LED terlihat redup atau tetap mati. Hal ini disebabkan adanya tahanan resistor yang menghambat arus listrik sehingga tegangan yang dihasilkan lebih kecil (2.19V) daripada tegangan yang dibutuhkan LED untuk hidup (2.2V).




Rangkaian simulasi download
Video simulasi download
Program Arduino Master download
Program Arduino Slave download
File HTML download


No comments:

Post a Comment