Minggu, 13 Maret 2016

Interface Kontrol Lampu AC 220V Menggunakan Relay, Arduino dan Processing


Pada postingan ini, akan dibahas bagaimana mengendalikan peralatan listrik tegangan tinggi, dengan kasus sederhana lampu AC (220V) berbasis komputer dengan interface Processing. Metode dalam menghidupkan dan mematikan lampu ini dapat diaplikasikan untuk membangun sebuah smart home, yang dapat mengontrol secara otomatis seluruh sistem peralatan listrik dan mekatroniknya.

Desain Sistem Kontrol Lampu AC 220V Berbasis Interface PC  


Gambar 1 Desain kontrol lampu AC 220 V berbasis interface komputer

Gambar 1 menunjukan skema lengkap sistem kontrol lampu AC 220V, sistem tersebut mengontrol lampu berarus AC dengan sistem mikrokontroler dan komputer yang memiliki arus DC, penghubung antara kedua sistem tersebut adalah sistem relay. Prinsip kerjanya adalah komputer akan memberikan karakter tertentu berbasis interface Processing yang akan diterima mikrokontroler Arduino untuk mengendalikan logika digital dari Pin 13. Ground dan Pin 13 Arduino dihubungkan dengan koil relay tipe SPDT, saat pin 13 kondisi HIGH maka koil relay menjadi aktif, saat koil aktif COM pada relay yang sebelumnya tidak terkoneksi ke pin NO (kondisi awal COM terkoneksi dengan pin NC) menjadi terkoneksi dengan pin elay NO sehingga arus AC mengalir ke lampu AC220V yang terhubung dengan pin COM dan NO relay. Kondisi sebaliknya terjadi saat Arduino menerima perintah dari komputer untuk membuat kondisi pin 13 LOW, maka koil tidak aktif, dan COM relay terputus dari pin NO relay sehingga arus AC tidak mengalir ke lampu AC220V. 

Desain Program IDE Arduino

Untuk membuat program kendali kontrol lampu AC 220V berbasis komputer PC/laptop, ada beberapa tahapan yang harus dilakukan:
1. Susun rangkaian seperti Gambar 1
2. Hubungkan Arduino ke komputer dengan kabel USB.
3. Buka software Arduino, dan ketik program berikut:

// kontrol lampu menggunakan PC
int lampu = 13;
int out;
void setup()
{
  Serial.begin(9600);
  pinMode(lampu, OUTPUT);
}

void loop()
{
  if (Serial.available()>0)
  {
    int baca = Serial.read();
    if (baca =='a')
    {
    out=1;
    }
    if (baca =='b')
    {
    out=0;
    }
       if(out==1)
       {
       digitalWrite(lampu,HIGH);
       Serial.println("LED NYALA");
       }
       else if(out==0)
       {
       digitalWrite(lampu,LOW);
       Serial.println("LED MATI");
       }
  }
} 

4. Pilih Board dan Serial PORT yang digunakan di menu Tools. 
5. Tekan tombol Verify dipojok kiri toolbar.
6. Setelah muncul pesan “Done Compiling”, selanjutnya tekan tombol Upload yang ada di kanan tombol Verify sampai muncul pesan “Done Uploading”.
7. Uji komunikasi serial dengan membuka Serial Monitor ujung kanan IDE Arduino, kemudian tekan huruf “a” maka lampu akan menyala, tekan huruf “b” maka lampu akan mati. 

Gambar 2 Simulasi kontrol lampu menggunakan keyboard komputer


Sebelumnya telah dibahas, menghidupkan lampu menggunakan kendali keyboard komputer/laptop. Maka dalam bagian berikut ini akan dibuat GUI (Graphical User Interface) menggunakan Processing 3.0.2 untuk mengendalikan lampu AC 220V.

Interface Processing untuk Kontrol Lampu AC 220V

Sebagaimana telah dibahas sebelumnya yaitu menyalakan dan mematikan lampu menggunakan keyboard PC, komunikasi data serial antara komputer PC/Laptop dan Arduino dapat menggunakan fasilitas Serial Monitor Pada IDE Arduino, Maka sekarang kita akan membuat tampilan sendiri dengan menggunakan software Processing 3.0.2. Dengan menggunakan Processing 3.0.2 kita dapat membuat sistem interfacing untuk mengontrol arah kondisi menyala dan mati dari lampu AC220V dengan tampilan yang lebih menarik dan mudah digunakan.
1. Bukalah program Processing 3.0.2 yang dapat didownload secara free pada alamat: https://processing.org/download/
 Gambar 3 Tampilan start-up Processing 3.0.2
2. Setelah di buka, maka akan muncul tampilan sketch seperti berikut ini
Gambar 4 Tampilan sketch Processing 3.0.2
3. Buatlah program berikut pada sketch


import processing.serial.*;
Serial comPort;
boolean ledState=false; //kondisi awal lampu mati
void setup(){
 //Membuka COM komunikasi serial dengan arduino
 //Isi sesuai COM yang tertera pada Device Manager
 comPort = new Serial(this, "COM19", 9600);
 background(255,0,0); //Warna Awal tombol merah
}
void draw(){
}
void mousePressed() {
 //Kondisi tombol
 ledState=!ledState;
  //Jika ledState adalah True - maka mengirim karakter "a" 
 if(ledState){
 background(0,255,0); //Berubah warna menjadi hijau
 comPort.write('a');//mengirim "a" untuk menyalakan lampu.
 // jika selainnya
 }else{
 background(255,0,0); //warna berubah merah
 comPort.write('b'); //mengirim "b" untuk mematikan lampu.
 }
}
 


Berikut adalah data karakter yang akan dikirimkan oleh Interface Processing ke mikrokontroler Arduino.

Tabel 1 Karakter yang dikirimkan komputer ke Arduino
No
Arah Gerak
Karakter
1
Nyala
a
2
Mati
b

Pengiriman perintah berupa karakter tertentu yang akan diterjemahkan oleh mikrokontroler untuk menyalakan ataupun mematikan lampu AC220V.

4. Setelah membuat program, kemudian tekan toolbar save misalnya kontrol_lampu, Selanjutnya, hubungkan board Arduino dengan komputer kemudian klik run pada kontrol_lampu maka akan muncul tampilan berikut dan sistem siap untuk dilakukan pengujian. Saat pertama kali tombol merah ditekan, maka tombol akan berubah warna menjadi hijau dan lampu menyala sedangkan saat tombol ditekan kembali maka tombol akan berubah menjadi berwarna merah kembali dan lampu akan mati

Gambar 5 Interface untuk kontrol lampu AC220V

5. Untuk board Arduino yang berbeda, lakukan juga pengujian kondisi lampu dengan terlebih dahulu mengisi/mengganti COM pada file program sesuai seperti yang tertera pada Device Manager dan Baudrate sesuai dengan Arduino yang digunakan pada program Processing diatas.

Berikut adalah implementasi kontrol lampu AC 220V menggunakan interface komputer barbasis Processing 3.0.2:
(a) Saat interface tombol belum ditekan
 (b) Saat interface tombol setelah ditekan
Gambar 6 Implementasi kontrol lampu AC menggunakan interface Processing 3.0.2
 
Akhirnya, riset diatas adalah bagian dari ikhtiar untuk mewujudkan sebuah smarthome

 
Share:

4 komentar:

  1. Gan itu relay make yg berapa volt?

    BalasHapus
  2. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  3. Tapi gan relay 5 spdt 5 v ga ada ada nya 12v gimana yah, aku udah coba tapi gabisa, aku pake relay 12v

    BalasHapus