Tugas Pendahuluan Modul 3






1. Kondisi
[Kembali]

            Tambahkan resistor sebelum Button sebesar 1k ohm

2. Gambar Rangkaian Simulasi
[Kembali]


Rangkaian ketika Button tidak ditekan



Rangkaian ketika Button ditekan

3. Flowchart 
[Kembali]

  • Flowchart untuk Arduino MASTER        


  • Flowchart untuk Arduino 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);     // Deklarasi button sebagai input_pullup
  Serial.begin(9600);            //Set baud rate 9600
}

void loop()   //Semua kode dalam fungsi ini dieksekusi berulang
{
  int nilai = digitalRead(button);      //membaca nilai dari 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();        // membaca perintah atau data
      if(data=='1')  //Jika data yang dikirimkan berlogika
        {
          digitalWrite(led,HIGH);  //LED menyala
        } 
      else
        {
          digitalWrite(led,LOW);  //LED mati
        }
        
  }
}


5. Video
[Kembali]




6. Prinsip Kerja 
[Kembali]

    Percobaan diatas merupakan rangkaian percobaan komunikasi UART dimana  komunikasi antara 2 Arduino yang dibagi menjadi MASTER dan SLAVE. Pada arduino MASTER dihubungkan sebuah button dengan pin 2 arduino. Sebelum button dihubungkan sebuah resistor dengan besar 1K ohm. LAlu dihubungkan ke ground. Selanjutnya pada Arduino SLAVE, dihubungkan sebuah LED pada pin 12 Arduino, dan dilanjutkan ke ground. 
    Pada pin TXD dan pin RXD. pada arduino akan dihubungkan secara silang. pada pin TXD MASTER akan dihubungkan dengan pin RXD SLAVE. dan pin RXD MASTER akan dihubungkan dengan pin TXD SLAVE. Hal ini bertujuan untuk komunikasi antara arduino. Pada program telah diatur ketika Button ditekan, maka akan bernilai 0, ini disebabkan Button dihubungkan pada ground. pada saat ini serial.print akan menampilkan nilai "1", nilai atau data ini akan dikirimkan dan dibaca oleh slave. Pada slave terdapat serial.read yang akan membaca data. Sehingga ketika serial.read membaca data "1" maka akan menghidupkan LED, dengan delay sebesar 200 ms. 
    Sebaliknya, jika button tidak ditekan maka akan menampilan serial.print "2",maka pada SLAVE akan mambaca data dan akan mematikan LED. 


7. Link Download
[Kembali]

Rangkaian disini 
Listing Program MASTER disini
Listing program SLAVE disini
Video disini 
HTML disini
Datasheet LED disini 
Datasheet Arduino disini
Datasheet resistor disini 
Datasheet Button disini 


Tidak ada komentar:

Posting Komentar