Skip to main content

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 

Comments

Popular posts from this blog

GROUND bagian 1 by Sarono Elektronika Blog Adi Sanjaya Global Techno Solution - AS-GTS

GROUND bagian 1
Banyak pertanyaan kepada saya apa itu ground ? apa guna nya ? apakah selalu ground itu negatif ? Apa yang di maksud titik netral pada pencatu daya terbelah ?
Agak sulit menerangkan dengan kata kata, bahkan dari hasil diskusi saya dengan beberapa teman yang sudah pakar elektronik juga mereka menemukan kesulitan nya mengungkapkan dengan kata kata walau kita mengerti tentang ground.
Untuk itu saya mencoba menerangkan semaksimal mungkin, tetapi sesungguh nya yang"mendengar" mestinya sudah punya ilmu elektronika minimal sampai teknik penguat audio.
Jadi, jika belum memehami tentang teknik audio dan masih bingung tentang konsep dan aplikasi ground masih di maklum kan.
Pada rangkaian listrik sederhana tidak di perlukan ground, misalkan senter, (body nya terbuat dari plastik) itupun sering negatif nya di hubungkan dengan body senter terbuat dari logam.
a. Pengertian Ground
Ground adalah titik yang dianggap sebagai titik kembali nya arus listrik arus seara…

HAMBATAN LISTRIK by Sarono Elektronika Blog Adi Sanjaya Global Techno Solution - AS-GTS

HAMBATAN LISTRIK
Pada bahasan sebelumnya sudah di tegaskan bahwa menghubungkan langsung positip dan negatip battery tidak boleh di lakukan, karena jumlah elektron yang mengalir menjadi sangat besar dan selama mengalir antara elektron saling berbenturan dan menimbulkan panas yang besar.
TETAPI
1) Jika jalan yang di lalui panjang (kawat nya panjang), maka kawat itu akan menjadi perlawanan listrik, makin panjang kawat maka perlawanan terhadap arus listrik juga semakin besar.
2) Atau kalau jalan nya arus di kawat juga di kecilkan (tebal kawat) nya di tipiskan juga akan menghasilkan Hambatan bagi arus semakin besar (Hambatan listrik membesar).
Dengan demikian kita bisa menghambat arus listrik itu dengan membuat kawat yang panjang dan mengatur tipis nya (luas penampang) kawat.
Ada faktor ke 3 yaitu jenis kawat.
Jenis kawat tertentu lebih mudah melewatkan arus, sementara kawat yang lain lebih sulit melewatkan arus.
Dalam teori elektron dapat di jelas kan : kawat tertentu daya ika…

Cara menggunakan modul relay dengan arduino UNO.

Material yang di butuhkan:
- Relay module 2 channel
- Arduino UNO.
- kabel jumper male - female

Relay module 2 channel  5V dengan 2 channel output dapat digunakan sebagai saklar elektronik untuk mengendalikan perangkat listrik yang memerlukan tegangan dan arus yang besar. Kompatible dengan semua mikrokontroler khususnya Arduino


Spesifikasi
•    Jumlah Relay : 2
•    Control signal : TTL level (ACTIVE LOW) ini artinya relay akan aktif jika kita memberikan logika LOW ke pin trigger relay (pin in1 /in 2)

Catatan : gambar bisa jadi berbeda dengan fisik relay yang dikirim, tapi pin pin pasti terdiri dari pin Vcc GND dan pin in1/in2 … untuk jumlah channel lainnya maka pin in1 2, dst akan sesuai dengan jumlah channel relay modul
•    Rating arus : 10A 250VAC, 10A 30VDC, 10A 125VAC, 10A 28VDC
•    Contact action time : 10ms/5ms
•    Indikator LED untuk masing masing channel



Catatan : gambar bisa jadi berbeda dengan fisik relay yang dikirim, tapi pin pin pasti terdiri dari pin Vcc GND dan pin in1/in2…