Tugas Pendahuluan Modul 3 Mikro



1. Kondisi [back]

Buatlah kondisi awal LED mati, lalu hidup berkedip dengan delay 500 ms

2. Rangkaian Simulasi [back]
 
Gambar 1. rangkaian simulasi
Master

Slave





 

LISTING PROGRAM MASTER

//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(500);

}


LISTING PROGRAM SLAVE

//Slave

#define led 12

void setup() {

  // put your setup code here, to run once:

  pinMode(led,OUTPUT);

  Serial.begin(9600);

}

void loop() {

  // put your main code here, to run repeatedly:

  if(Serial.available()>0){

    int data = Serial.read();

    if(data == '1'){

      digitalWrite(led,HIGH);

      delay(500);

      digitalWrite(led,LOW);

      delay(500);

      }else{

        digitalWrite(led,LOW);

        }

    }

}





  UART adalah komunikasi antar dilakukan 2 objek / 2 device seperti antara PC dengan mikrokontroler atau  mikrokontroler dengan mikrokontroler. Pin komunikasi UART pada arduino yaitu pin Tx atau pin 1 (transmitter) dan pin Rx atau pin 0 (receiver). Pada rangkaian di atas terdapat 2 buah arduino uno,  arduino sebelah kiri diberi nama MASTER dan sebelah kanan diberi nama SLAVE, 1 buah LED, dan button sebagai indikator / pembuat sinyal dari arduino. Push button dihubungkan ke pin 2 atau boleh pin berapa saja, namun pada listing program disesuaikan pin mana yang digunakan. LED akan diberi instruksi  oleh arduino kedua (SLAVE). Pin Tx MASTER dihubungkan pada pin Rx SLAVE, sebaliknya pin Rx master dihungkan pada pin Tx SLAVE yang mana disebut hubungan UART menggunakan kabel.

        Pada listing program arduino MASTER, setelah pin 2 dideklarasikan sebagai input button, di dalam void setup dideklarasikan button sebagai input pull up. Input pull up memberikan kondisi LOW apabila button ditekan dan kondisi HIGH apabila button dilepas. Selanjutnya, pada void loop digunakan tipe data integer untuk nilai (pembacaan dan button) dan menggunakan kondisi if. Ketika button ditekan, nilai = 0, maka arduino MASTER akan mengirim data ke arduino SLAVE berupa data serial atau bit serial "1". Sebaliknya, jika button dilepas, nilai =/= 0, maka arduino MASTER akan mengirim data ke arduino SLAVE berupa data serial atau bit serial "2". Keadaan tersebut akan berganti terus-menerus dengan selang waktu 500 ms.

        Dalam listing program arduino SLAVE, setelah pin 12 dideklarasikan sebagai input LED, di dalam void setup dideklarasikan bahwa LED adalah output. Serial.begin berfungsi untuk melihat serial monitornya. Pada void loop, digunakan kondisi if, jika data serial yang masuk bernilai "1", maka LED akan dalam kondisi HIGH selama 500 ms dan setelahnya LED akan dalam kondisi LOW selama 500 ms. Selanjutnya, jika data atau bit serial yang masuk bernilai "2", maka LED akan dalam kondisi LOW selama 500 ms.

7. Link Download [back]

rangkaian [download]
Link download library arduino [disini]
Link download listing program arduino master [disini]
Link download listing program arduino slave [disini]



Tidak ada komentar:

Posting Komentar