Mengontrol Dua Buah Relay Melalui Port Serial RS232 Menggunakan Starduino Board


telinks_stdn_drv02_400

Relay merupakan salah satu piranti output yang sering digunakan pada aplikasi sistem berbasis mikrokontroler. Dengan relay, kita dapat mengontrol peralatan listrik AC220V maupun peralatan listrik dengan tegangan DC.

Gambar di samping adalah foto modul driver 2-relay yang dikontrol oleh Starduino Board. Relay-1 dikontrol melalui pin-6 dan Relay-2 dikontrol melalui pin-7. Relay yang digunakan adalah relay dengan koil 5V DC. Relay digerakkan menggunakan driver berupa transistor. Masing-masing relay dilengkapi dengan LED indikator yang akan menyala ketika relay ON dan mati ketika relay OFF.

Berikut adalah skematik modul driver 2-relay yang digunakan dalam eksperimen.

skematik

Dan berikut adalah listing program atau sketch Arduino untuk mengontrol relay-relay tersebut.

void setup()
{
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
}

void loop()
{
  digitalWrite(6, HIGH);
  digitalWrite(7, HIGH);
  delay(1000);
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  delay(5000);
}

Program sederhana di atas berfungsi untuk mengaktifkan kedua relay selama 1 detik dan kemudian mematikannya selama 5 detik. Dengan kata lain, kedua relay akan ON selama 1 detik dan OFF selama 5 detik secara berulang-ulang.

Adapun hasil pengujian program di atas dapat dilihat pada foto-foto berikut ini.

ujidrv02_600

Gambar sebelah kiri adalah kondisi ketika relay dalam keadaan OFF, dan gambar sebelah kanan adalah kondisi ketika relay dalam keadaan ON.

Mengontrol Relay Melalui Port Serial RS232
Untuk mengontrol relay melalui port serial RS232 menggunakan PC, maka berikut adalah listing program (sketch) Arduino-nya.

void setup()
{
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(13, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  char char1, char2;
  if (Serial.available()==2)
  {
    char1 = Serial.read();
    char2 = Serial.read();
    Serial.print("Data-1 = ");
    Serial.println(char1);
    Serial.print("Data-2 = ");
    Serial.println(char2);

    if (char1==’R’)
    {
      if (char2==’1′)
      {
        digitalWrite(6, HIGH);
        digitalWrite(7, HIGH);
        Serial.println("Relays = ON");
      }
      else if (char2==’0′)
      {
        digitalWrite(6, LOW);
        digitalWrite(7, LOW);
        Serial.println("Relays = OFF");
      }
    }
  }
  digitalWrite(13, HIGH);
  delay(50);
  digitalWrite(13, LOW);
  delay(50);
}

Dengan program di atas, maka Starduino akan menunggu data dari komputer melalui port serial. Sebagai penanda bahwa Starduino sudah running dan siap menerima data adalah LED pada Pin-13 yang menyala berkedip-kedip.

ujidrv02_com1 Jika Starduino menerima data  “R1”, maka Starduino akan mengaktifkan kedua relay. Dan jika Starduino menerima data “R0”, maka Starduino akan mematikan kedua relay. Screenshot di samping adalah hasil pengujian interaksi antara komputer dan Starduino Board melalui port serial RS232.

Cukup mudah, bukan?

Semoga bermanfaat.

Selamat belajar dan selamat berkarya!

🙂

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s