Wednesday, April 10, 2013

Kendali sms atmega Sms controller berbasis PC-mikrokontroller dengan Delphi dan Bascom Avr Blog Adi Sanjaya Global Techno Solution - AS-GTS


Sms controller berbasis PC-mikrokontroller.
Sebenarnya secara praktik nyata dapat dikatakan bahwa judul diatas adalah judul yang konyol. Mengapa demikian ? karena computer memerlukan daya yang cukup tinggi untuk dapat menyala dan melakukan control terhadap peralatan listrik semisal lampu 220volt AC, namun untuk sebatas tugas akhir ataupun ide gagasan yang perlu direalisasi mungkin ini akan dapat dipertimbangkan untuk dipelajari (point of viewnya adalah belajar permrograman interface).
Oke secara kasar judul diatas dapat diwakili oleh gambar sebagai berikut :



--> --> INPUT SMS
--> --> KOMPUTER
--> --> MIKROKON-TROLER
--> --> RELAY BOARD
 


Sedangkan untuk rangkaian control nya sama dengan judul sebelumnya yakni Mengontrol relay dengan tegangan kerja 5 volt dengan computer untuk aktivasi lampu dengan tegangan kerja 220 volt AC


Komponen yang perlu ditambahkan pada aplikasi Delphi  adalah sebagai berikut :

No
Nama komponen
properties
value
1
Groupbox1
Caption
Bagian SMS
2
Button6
Caption
Set Port
3
Button7
Caption
Open
4
Button8
Caption
Clear
5
Label2
Caption
Status
6
Label3
Caption
Pengirim
7
Label4
Caption
Tanggal
8
Label5
Caption
Waktu
9
Label6
Caption
Isi
10
Edit1
Text
kosongkan
11
Edit2
Text
kosongkan
12
Edit3
Text
kosongkan
13
Edit4
Text
kosongkan
14
Edit5
Text
kosongkan
15
Comport2
-
-

Atur desain tampilan menjadi sebagai berikut :
Peralatan tambahan yang diperlukan adalah modem gsm yang support mode text yang dilengkapi dengan kartu aktif dan pulsanya
Prinsip kerjanya adalah sebagai berikut :
Saat ada sms masuk dengan format ON<x> dimana x adalah angka 1-4, maka ini berarti merupakan kode untuk menyalakan  LED yang ada pada Pin-pin mikrokontroler
Sedangkan
Saat ada sms masuk dengan format OFF<x> dimana x adalah angka 1-4 maka ini berarti merupakan kode untuk memadamkan  LED yang ada pada Pin-pin mikrokontroler
Program pada sisi mikrokontroller sama dengan program pada bab Kendali nyala led via komunikasi serial dengan Delphi , namun ada perbedaan sedikit pada bagian
locate 1 , 1
lcd "KONTROL LISTRIK"
locate 2 , 1
lcd "VIA SMS SERIAL"

secara keseluruhan source code nya adalah :
$regfile = "m16def.dat"
$baud = 9600
$crystal = 16000000


Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = PortA.2 , Rs = Porta.0
Config Lcd = 16 * 2
cls
Cursor Off

Config Portc.0 = input
Config Portc.1 = input
Config Portc.2 = input
Config Portc.3 = input

Config Portc.4 = output
Config Portc.5 = output
Config Portc.6 = output
Config Portc.7 = output

Portc.0 = 1
Portc.1 = 1
Portc.2 = 1
Portc.3 = 1

Portc.4 = 0
Portc.5 = 0
Portc.6 = 0
Portc.7 = 0

wait 1
cls
locate 1 , 1
lcd "KONTROL 220 volt"
locate 2 , 1
lcd "SERIAL"

  Dim Perintah As String * 6
  Print "Ok!";
  Do
        Input Perintah

      Select Case Perintah

         Case "ON1" : Portc.4 = 1
         print "ON1-OK" ;
         cls
         locate 1 , 1
         lcd perintah
         Case "ON2" : Portc.5 = 1
         cls
         locate 1 , 1
         lcd perintah
         print "ON2-OK" ;
         Case "ON3" : Portc.6 = 1
         cls
         print "ON3-OK" ;
         locate 1 , 1
         lcd perintah
         Case "ON4" : Portc.7 = 1
         cls
         print "ON4-OK";
         locate 1 , 1
         lcd perintah
         Case "ON-ALL" : Portc = &B11111111
         cls
         print "ON-ALL-OK";
         locate 1 , 1
         lcd perintah
         Case "OFF1" : Portc.4 = 0
         cls
         print "OFF1OK" ;
         locate 1 , 1
         lcd perintah
         Case "OFF2" : Portc.5 = 0
         cls
         print "OFF2OK";
         locate 1 , 1
         lcd perintah
         Case "OFF3" : Portc.6 = 0
         cls
         print "OFF3OK";
         locate 1 , 1
         lcd perintah
         Case "OFF4" : Portc.7 = 0
         cls
         print "OFF4-OK";
         locate 1 , 1
         lcd perintah
         Case "OFFALL" : Portc = &B00000000
         cls
         print "OFF-ALL-OK";
         locate 1 , 1
         lcd perintah

      End Select
   Loop
End

Aplikasi pada computer yang dibuat dengan Delphi 7 harus ditambahkan komponen sebagaimana tabel di atas. sedangkan Source code yang harus ditambahkan pada komponen tambahan tersebut adalah :
No
Nama komponen
event
Source
1
Comport2
onrxchar
var
Str: String;
begin
memo2.clear;
ComPort2.ReadStr(Str, Count);
Memo2.Text := Memo2.Text + Str;
end;
2
Memo2
Onchange
var a,b,c,d:integer;
kar_awal,kar_akhir:integer;
s:string;
begin
a:=pos ('+CMTI',memo2.Text);
if  a <> 0 then
begin
b:=posex (',',memo2.Text,a+1);
c:=posex (#13#10,memo2.Text,b+1);
s:=copy (memo2.Text,b+1,c-b-1);
ComPort2.WriteStr('at+cmgr='+s+#13#10);
end;
d:=pos ('+CMGR',memo2.Text);
if  d <> 0 then
begin
kar_awal:=pos ('"',memo2.Text);
kar_akhir:=posex ('"',memo2.Text,kar_awal+1);
edit1.text :=copy(memo2.Text,kar_awal+1,kar_akhir-kar_awal-1);
kar_awal:=posex ('"',memo2.Text,kar_akhir+1);
kar_akhir:=posex ('"',memo2.Text,kar_awal+1);
edit2.text :=copy(memo2.Text,kar_awal+1,kar_akhir-kar_awal-1);
kar_awal:=posex ('"',memo2.Text,kar_akhir+1);
kar_akhir:=posex (',',memo2.Text,kar_awal+1);
edit3.text:=copy(memo2.Text,kar_awal+1,kar_akhir-kar_awal-1);
kar_awal:=kar_akhir;
kar_akhir:=posex ('"',memo2.Text,kar_awal+1);
edit4.text:=copy(memo2.Text,kar_awal+1,kar_akhir-kar_awal-4);
kar_awal:=posex (#13#10,memo2.Text,kar_akhir+1);
kar_akhir:=posex (#13#10,memo2.Text,kar_awal+1);
edit5.text:=copy(memo2.Text,kar_awal+2,kar_akhir-kar_awal-2);
end;
3
Edit5
Onchange
begin
if (edit5.Text='ON1') then
begin
comport1.WriteStr('ON1'+#13);
end
else
if edit5.Text='ON2' then
begin
comport1.WriteStr('ON2'+#13);
end
else
if edit5.Text='ON3' then
begin
comport1.WriteStr('ON3'+#13);
end
else
if edit5.Text='ON4' then
begin
comport1.WriteStr('ON4'+#13);
end
else
if edit5.Text='OFF1' then
begin
comport1.WriteStr('OFF1'+#13);
end
else
if edit5.Text='OFF2' then
begin
comport1.WriteStr('OFF2'+#13);
end
else
if edit5.Text='OFF3' then
begin
comport1.WriteStr('OFF3'+#13);
end
else
if edit5.Text='OFF4' then
begin
comport1.WriteStr('OFF4'+#13);
end

Silakan koneksikan computer dengan port db 9 pada pcb mempergunakan kabel usb to serial. Kemudian setting port lalu koneksikan , selanjutnya test program control. 

Video Pengujian  Sms controller berbasis PC-mikrokontroller.



jika mebutuhkan source code  aplikasi lengkap beserta file PCB dapat membeli ebook pada link dibawah ini :

http://www.embeddedsystem.itstoshare.com/2011/11/e-book-tutorial-version-step-by-step.html 

Related Posts

Kendali sms atmega Sms controller berbasis PC-mikrokontroller dengan Delphi dan Bascom Avr Blog Adi Sanjaya Global Techno Solution - AS-GTS
4/ 5
Oleh

Silakan dikomentari