Tugas Pendahuluan 1 Modul 3




1. Kondisi
[Kembali]
*PERCOBAAN  1 KONDISI 15*
Ubah Button menjadi Saklar SPDT

2. Gambar Rangkaian Simulasi [Kembali]


3. Video Simulasi [Kembali]



4. Prinsip Kerja [Kembali]
Pada percobaan ini kita menggunakan beberapa komponen diantaranya ada 2 buah arduino (master dan slave), ada SPDT, ,LED dan ground. Pin 2 pada arduino master dihubungkan dengan spdt, lalu pin (TX) transmiter master dihubungkan dengan pin (RX) receiver slave dan sebaliknya pin (RX) receiver master dihubungkan dengan pin (TX) transmiter slave, lalu pin 12 pada slave dihubungkan dengan LED. Secara sederhana prinsip kerjanya yaitu, jika button ditekan maka pin 2 master akan menerima nilai lalu master akan memberikan perintah dan slave akan menerima/mengerjakan perintah dari master tersebut.

LISTING PROGRAM MASTER
//MASTER
#define spdtku 2 //Deklarasi pin 2 untuk spdt

void setup()  //Semua kode dalam fungsi ini dieksekusi sekali
{
  pinMode(spdtku, INPUT_PULLUP); 
  Serial.begin(9600); //Set baud rate 9600
}

void loop() //Semua kode dalam fungsi ini dieksekusi berulang
{
  int nilaiku = digitalRead(spdtku);

  //digeser
  if (nilaiku == 0)
  {
    Serial.print("1");
  }
  else
  {
    Serial.print("2");
  }

  delay(200);
}

Prinsip kerja dari program master yaitu pertama-tama deklarasikan pin 2 untuk button, lalu ada fungsi void setup dimana pada fungsi ini semua kode akan di eksekusi secara sekali. Lalu dalam fungsi  void setup ada pinMode(Button,INPUT_PULLUP)  berfungsi untuk mendeklarasikan button sebagai input pullup. Maksud input pullup yaitu, ketika button tidak di tekan maka dia akan berlogika 1, sedangkan jika button ditekan dia akan berlogika 0. Selanjutnya ada Serial.beggin(9600) berfungsi untuk mengatur kecepatan pengiriman data melalui port serial. Lalu ada fungsi void loop yang mana dalam fungsi ini semua kode akan di eksekusi berulang, dalam fungsi ini ada variabel nilai = digitalRead(spdtku) dengan tipe data integer. Selanjutnya jika button ditekan maka nilainya 0 sehingga serial print bernilai (1). Fungsi serial print adalah untuk mengirimkan data ke port serial, lalu jika nilai nya selain 0 (button tidak ditekan) sehingga serial print nya akan bernilai (2), kemudian ada delay(200) yaitu jarak 200ms sebelum perulangan selanjutnya.
LISTING PROGRAM SLAVE
//SLAVE
#define ledku 12 //Deklarasi pin 12 untuk LED

void setup() //Semua kode dalam fungsi ini dieksekusi sekali
{
  pinMode(ledku, 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 dataku = Serial.read();
    if (dataku == '1') //Jika data yang dikirimkan berlogika
    {
      digitalWrite(ledku, HIGH); //LED menyala
    }
    else
    {
      digitalWrite(ledku, LOW); //LED mati
    }

  }
}
Prinsip kerja dari program slave yaitu pertama-tama deklarasikan pin 12 untuk LED,lalu ada fungsi void setup () dimana dalam fungsi ini semua kode akan dieksekusi sekali, dalam fungsi ini terdapat syntak pinMode(led,OUTPUT) yaitu untuk mendeklarasikan led sebagai output dan ada Serial.begin(9600) berguna untuk mengatur kecepatan pengiriman data menggunakan port serial.

Selanjutnya ada fungsi void loop dimana dalam fungsi ini semua kode akan dieksekusi secara berulang, dalam fungsi ini terdapat syntak if (Serial.available()>0) yang mana serial.available ini berguna untuk menghasilkan jumlah byte di port serial yang belum terbaca.  Lalu ada variable data dengan tipe data integer yang akan membaca satu byte data yang terdapat di port serial. Jika data yang terbaca adalah 1 (saat button button pada master) maka led akan berlogika high sehingga led akan menyala. Sedangkan jika data yang terbaca selain 1 maka led akan berlogika low sehingga led tidak akan menyala.

5. Link Download [Kembali]

No comments:

Post a Comment