Kontrol 10 Relay via Komputer

Master Mikrokontroler

Aplikasi  yang akan kita buat pada kesempatan ini masih seputaran komunikasi antara computer dengan mikrokontroler.
Serial komunikasi, memanfaatkan komponen Comport pada Delphi dan pin serial pada mikrokontroler (Txd, Rxd).  Nah aplikasinya mengontrol lampu dengan saklar dari relay. Jumlahnya kita bikin yang banyak, 10 relay. Nantinya kita cukup menekan tombol yang ada di computer untuk menghidupkan atau mematikan Relay/Lampu.
Ok, langsung ke TKP.  Delphi duluan ya…
Siapkan komponen Comport, 11 label, 20 button dan 1 GroupBox. Modif propertinya, sehingga menjadi seperti ini :

Design di Delphi

Baik, sekarang kita berikan code-nya. Klik 2x pada Button1 dan tuliskan perintah berikut :
      comport1.WriteStr(‘0’);
Intinya : mengirim karakter ‘0’ ke serial. Lakukan juga pada Button2 sampai Button 10. Urutkan perintah mulai karakter ‘1’, ‘2’ sd ‘9’.
procedure TForm1.Button2Click(Sender: TObject);
begin
comport1.WriteStr(‘1’);
end;
99 proyek arduino
procedure TForm1.Button3Click(Sender: TObject);
begin
comport1.WriteStr(‘2’);
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
comport1.WriteStr(‘3’);
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
comport1.WriteStr(‘4’);
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
comport1.WriteStr(‘5’);
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
comport1.WriteStr(‘6’);
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
comport1.WriteStr(‘7’);
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
comport1.WriteStr(‘8’);
end;

procedure TForm1.Button10Click(Sender: TObject);
begin
comport1.WriteStr(‘9’);
end;

Sekarang untuk bagian tombol OFF. Karena karakter angka sudah habis, kita dapat memakai karakter ‘a’ untuk relay 1 off, ‘b’ untuk relay 2 off dst.

procedure TForm1.Button11Click(Sender: TObject);
begin
comport1.WriteStr(‘a’);
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
comport1.WriteStr(‘b’);
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
comport1.WriteStr(‘c’);
end;

procedure TForm1.Button14Click(Sender: TObject);
begin
comport1.WriteStr(‘d’);
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
comport1.WriteStr(‘e’);
end;

procedure TForm1.Button16Click(Sender: TObject);
begin
comport1.WriteStr(‘f’);
end;

procedure TForm1.Button17Click(Sender: TObject);
begin
comport1.WriteStr(‘g’);
end;

procedure TForm1.Button18Click(Sender: TObject);
begin
comport1.WriteStr(‘h’);
end;

procedure TForm1.Button19Click(Sender: TObject);
begin
comport1.WriteStr(‘i’);
end;

procedure TForm1.Button20Click(Sender: TObject);
begin
comport1.WriteStr(‘j’);
end;

Giliran BASCOM-AVR untuk digarap. Oya, kita memakai “Modul Master Mikro” sebagai board mikrokontrolernya. Terdiri dari ATmega8535 dengan crystal 16 MHz.  Jadi Master Mikro, selain dipakai untuk pembelajaran mikrokontroler secara mandiri, juga dapat dipakai untuk aplikasi.

Aplikasi Mikrokontroler
Cukup dikoneksikan dengan relay.
Nih programnya :

$regfile = “m8535.dat”
$crystal = 16000000
$baud = 9600

$hwstack = 20
$swstack = 8
$framesize = 8
Dim C As Byte
Config Portb = Output
Config Porta = Output

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Cls
Lcd “Kontrol 10 Relay”
Wait 1
Do
   C = Waitkey()
   Select Case C
      Case “0” : Portb.0 = 1
                 Lowerline
                 Lcd “Relay 1 ON  “
      Case “1” : Portb.1 = 1
                 Lowerline
                 Lcd “Relay 2 ON  “
      Case “2” : Portb.2 = 1
                 Lowerline
                 Lcd “Relay 3 ON  “
      Case “3” : Portb.3 = 1
                 Lowerline
                 Lcd “Relay 4 ON  “
      Case “4” : Portb.4 = 1
                 Lowerline
                 Lcd “Relay 5 ON  “
      Case “5” : Portb.5 = 1
                 Lowerline
                 Lcd “Relay 6 ON  “
      Case “6” : Portb.6 = 1
                 Lowerline
                 Lcd “Relay 7 ON  “
      Case “7” : Portb.7 = 1
                 Lowerline
                 Lcd “Relay 8 ON  “
      Case “8” : Porta.0 = 1
                 Lowerline
                 Lcd “Relay 9 ON  “
      Case “9” : Porta.1 = 1
                 Lowerline
                 Lcd “Relay 10 ON  “

      Case “a” : Portb.0 = 0
                 Lowerline
                 Lcd “Relay 1 OFF”
      Case “b” : Portb.1 = 0
                 Lowerline
                 Lcd “Relay 2 OFF”
      Case “c” : Portb.2 = 0
                 Lowerline
                 Lcd “Relay 2 OFF”
      Case “d” : Portb.3 = 0
                 Lowerline
                 Lcd “Relay 2 OFF”
      Case “e” : Portb.4 = 0
                 Lowerline
                 Lcd “Relay 2 OFF”
      Case “f” : Portb.5 = 0
                 Lowerline
                 Lcd “Relay 2 OFF”
      Case “g” : Portb.6 = 0
                 Lowerline
                 Lcd “Relay 2 OFF”
      Case “h” : Portb.7 = 0
                 Lowerline
                 Lcd “Relay 2 OFF”
      Case “i” : Porta.0 = 0
                 Lowerline
                 Lcd “Relay 2 OFF”
      Case “j” : Porta.1 = 0
                 Lowerline
                 Lcd “Relay 2 OFF”
   End Select
Loop
End
Compile, sampai ndak ketemu Mr.Error, trus download. Sudah ? Ok, kita coba ya, pastikan mikrokontroler sudah terhubung ke serial/usb port computer.
Tekan tombol “ON” pada Relay 1, amati hasilnya. Jika lancar jaya, maka relay 1 akan ON dan Lampu 1 akan nyala. Tekan tombol “OFF” pada Relay 1, maka Lampu 1 akan mati.
Coba untuk relay yang lain.

This entry was posted in PC Interfacing. Bookmark the permalink.

45 Responses to Kontrol 10 Relay via Komputer

  1. ibrahim says:

    mantab gan, jadi inget skripsi ane dulu. ane pernah bikin jg kaya ginian tapi untuk perintah on/off nya ane kombinasiin pake sms.

  2. doewi says:

    gan aku dah coba, tapi kenapa kok g’ jalan dan munculnya pesan ‘Port Not Open’
    mohon pencerahannya ya.

  3. doewi says:

    Kalau untuk perintah memadamkan atau menghidupkan semua led perintahnya gimana gan, apa kyak gini:
    Case “M” : Portb = &B11111111
    Lowerline
    Lcd “ON Semua”

    Case “H” : Portb = &B00000000
    Lowerline
    Lcd “OFF Semua”

  4. M Akib says:

    perintah on/offnya sdh bekerja cuma lcdnya kok blank, mohon bantuannya gan, tanks

  5. M Akib says:

    maaf gan , ternyata modul lcd saya yg salah. sudah diperbaiki, ok gan keren makasih ya gan,…

  6. Iradat says:

    Harga modul mikro + ongkir ke baubau??

  7. doewi says:

    Mas, kalo di combinasi ama sms gimana ya, codingnya, bisa kasih contoh pa g’,
    modemnya pakai wavecom,

  8. Hafiz Suardi says:

    gan kalau mikrokontroler menggunakan crystal 8 mHz,, kira kira bisa gk??

  9. fuad says:

    gan saya pengen ngontrol 20 relay,,tp port mikro saya yang masih sisa atau tidak dipakai 12 PORT I/O……kira2 gmna ya caranya??
    saya pakai ATmega32….

    terima kasih

  10. Debby says:

    Mas tau layout dri MK ke relay nya mas?

  11. Yosi says:

    Bagus ni gan…. gan untuk komunikasi serialnya ini pake apa gan? USB to TTL or RS232

  12. Eru says:

    Kalau pakai micro AT89S51 gimana list programnya gan? trims

  13. sinuwun09 says:

    mas mw tanya bagaimana cara menambahkan relaynya kedalam master mikronya? trus lampunya itu dapet daya dari mana? terima kasih

  14. try wahyudinata says:

    mas, request coding buat bahasa C nya dong?

  15. Hello mas bro … gmna caranya ane dapetin program delphi trus di gabungkan dengan arduino softwere …???…

  16. mei tofik says:

    butuh biaya berapa buatnya gan??

  17. Ricardo says:

    Mas Admin,
    Mau tanya:
    1. Ini hardware dan aplikasinya memang benar bisa dipahami dengan mudah dan tidak ada step-step tertentu yang tidak ditampilkan? dan harga hardwarenya berapa ya?
    2. Kalau untuk aplikasi ultrasonik, untuk mendeteksi keberadaan benda sejauh 300 m bisa ngak mas?

    makasih

  18. satrio says:

    Gun, Kalau pakai VB6 scrips seperti apa ya , saya sudah beli modulnya nih baru lagi hehehe…

    makasih sebelunya

  19. Suga says:

    Sip gan..Minta tlong kalkulasi Mikrokontroler AVR ATmega8535 komplit + Ongkir-nya gan…Lokasi Mojokerto

  20. aditya noor says:

    gan gambar rangkaiannya ada ngak

    • admin says:

      Wah rangkaian total belum sempat bikin mas, tapi prinsipnya relay + driver aja kok, trus konek ke mikrokontroler.

  21. gan skematik untuk driver relay ny ada gak ?

    trus bener gak urutan nya itu komputer – sistem minimum – relay – lampu ?

  22. sugeng says:

    dear admin saya ada pertanyaan sedikit…
    bagai mana caranya dua pinA.0 dan pinA.1.
    ketika pinA.0 sudah di tekan maka bila si pinA.1 menekan pinA.1 tidak mendapat nilai atau kirim data.
    saya masih belum ketemu dengan masalah ini ..
    ini seperti cepat tepat bila A menekan maka ketika si B menekan tidak berpungsi…

    terima kasih dear admin..
    salam sugeng@indosiar.com

  23. kharis says:

    seumapa kontrolnya menggunakan remote gmna ya mas?
    apa aja yang prlu d tmbahin

Leave a Reply