Read more
SMS Control dan SMS Telemetri Cek Kondisi AC + Suhu taufik 085743320570
dalam posting kali ini, saya sedang mensimulasikan pengontrol AC jarak jauh dan telemeteri (pengukuran jarak jauh), dalam hal ini adalah pengukuran suhu,
kata kunci (keyword) SMS untuk menyalakan AC pada ruang 1 adalah ON AC 1
kata kunci (keyword) SMS untuk memadamkan AC pada ruang 2 adalah OFF AC1
kata kunci (keyword) SMS untuk menyalakan AC pada ruang 1 adalah ON AC 2
kata kunci (keyword) SMS untuk memadamkan AC pada ruang 2 adalah OFF AC 2
sedangkan untuk cek Status nyala / padam nya AC pada ruang 1 dan 2 di pergunakan keyword STATUS
berikut ini adalah source code SMS Control dan SMS Telemetri Cek Kondisi AC + Suhu nya
'-----------------------------------------------------
' Kontrol nyala - padam listrik via SMS
' serta cek suhu via sms
''-----------------------------------------------------
$regfile = "m16def.dat" 'Mikrokontroler ATMega16
$crystal = 16000000
$baud = 9600
'Ddrd.2 = 0
'Portd.2 = 1
'------- konfigurasi LCD
'Config Lcdpin = Pin , Rs = Porta.0 , E = Porta.2 , Db4 = Porta.4 ,
'Config Lcdpin = Pin , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7
'Config Lcd = 16 * 2
'Cursor Off
'Cls
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = PortC.1 , Db7 = Portc.0 , E = Portc.5 , Rs = Portc.7
Config Lcd = 16 * 2
cls
Cursor Off
'On Int0 Int_ext0
'Enable Interrupts
'Enable Int0
Config Portb = Output
portb = 255
wait 1
portb = 0
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Dim Data_adc1 As Word , Adc_convert1 As Single , Adc_string1 As String * 10
Dim Data_adc2 As Word , Adc_convert2 As Single , Adc_string2 As String * 10
Dim S1 As String * 10 , S2 As String * 10 , Alls As String * 40
$hwstack = 20
$swstack = 8
$framesize = 8
Declare Sub Getline(s As String)
Declare Sub Showsms(s As String )
Dim I As Byte , B As Byte
Dim Sret As String * 70 , Stemp As String * 70
Dim Pos_str1 As Byte , Pos_str2 As Byte , Long_str As Byte
Dim Inbox As String * 2
Dim No_sender As String * 15
Declare Sub Status
Config Serialin = Buffered , Size = 72
Enable Interrupts
Wait 1
Print "AT"
Lcd "SMS CONTROLLER"
'------ sistem interupsi diaktifkan
Enable Interrupts
Wait 1 'Tunggu modem stabil
'------ tes komunikasi dengan modem
Do
Print "AT" : ' Waitms 100
Getline Sret ' get data from modem
Lowerline
Lcd Sret
Loop Until Sret = "OK" ' modem must send OK
'------ tunggu 2 detik
Wait 2
'Print "AT+CMGF=1";
'Wait 1
Do
Getline Sret
I = Instr(sret , ":")
If I > 0 Then
Stemp = Left(sret , I)
Select Case Stemp
Case "+CMTI:" : Showsms Sret
End Select
End If
Loop
End
'***********************************************
Sub Getline(s As String)
S = ""
Do
B = Inkey()
Select Case B
Case 0 :
Case 13
Case 10 : If S <> "" Then Exit Do
Case Else
S = S + Chr(b)
End Select
Loop
End Sub
'**********************************************
Sub Showsms(s As String )
Pos_str1 = Instr(s , ",")
Long_str = Len(s)
Long_str = Long_str - Pos_str1
Inbox = Right(s , Long_str)
Print "AT+CMGR=" ; Inbox
Getline Stemp
Getline Sret
'__ambil nomor dulu_____no pengirim ada di no_sender ____
Pos_str1 = Instr(stemp , ",")
Incr Pos_str1
Pos_str2 = Instr(pos_str1 , Stemp , ",")
Incr Pos_str1
Decr Pos_str2
Long_str = Pos_str2 - Pos_str1
No_sender = Mid(stemp , Pos_str1 , Long_str)
'_________________________________________________________
Print "AT+CMGD=" ; Inbox
'-------------------------kontrol lampu
If Sret = "ON AC 1" Then
Wait 1
Portb.0 = 1
Cls
Locate 1 , 1
Lcd Sret
Locate 2 , 1
Lcd No_sender
Data_adc1 = Getadc(0)
Adc_convert1 = Data_adc1
Adc_convert1 = Adc_convert1 * 500
Adc_convert1 = Adc_convert1 / 1023
Adc_string1 = Fusing(adc_convert1 , "#.##")
Print "AT+CMGS=";
'----nomor HP tujuan : , bisa ganti yang lain
Print No_sender
'----- tunggu 700 ms
Waitms 700
'----- isi sms yang dikirim
Print "AC 1 dinyalakan ;" ; "suhu = " ; Adc_string1
'----- kode akhiran untuk perintah kirim sms
Print Chr(26)
'----- tunggu 1 detik
Wait 1
Elseif Sret = "OFF AC 1" Then
Wait 1
PortB.0 = 0
Cls
Locate 1 , 1
Lcd Sret
Locate 2 , 1
Lcd No_sender
Data_adc1 = Getadc(0)
Adc_convert1 = Data_adc1
Adc_convert1 = Adc_convert1 * 500
Adc_convert1 = Adc_convert1 / 1023
Adc_string1 = Fusing(adc_convert1 , "#.##")
Print "AT+CMGS=";
'----nomor HP tujuan : , bisa ganti yang lain
Print No_sender
'----- tunggu 700 ms
Waitms 700
'----- isi sms yang dikirim
Print "AC 1 dipadamkan ;" ; "suhu = " ; Adc_string1
'----- kode akhiran untuk perintah kirim sms
Print Chr(26)
'----- tunggu 1 detik
Wait 1
Elseif Sret = "ON AC 2" Then
Wait 1
Portb.1 = 1
Cls
Locate 1 , 1
Lcd Sret
Locate 2 , 1
Lcd No_sender
Data_adc2 = Getadc(1)
Adc_convert2 = Data_adc2
Adc_convert2 = Adc_convert2 * 500
Adc_convert2 = Adc_convert2 / 1023
Adc_string2 = Fusing(adc_convert2 , "#.##")
Print "AT+CMGS=";
'----nomor HP tujuan : , bisa ganti yang lain
Print No_sender
'----- tunggu 700 ms
Waitms 700
'----- isi sms yang dikirim
Print "AC 2 dinyalakan ;" ; "suhu = " ; Adc_string2
'----- kode akhiran untuk perintah kirim sms
Print Chr(26)
'----- tunggu 1 detik
Wait 1
Elseif Sret = "OFF AC 2" Then
Wait 1
Portb.1 = 0
Cls
Locate 1 , 1
Lcd Sret
Locate 2 , 1
Lcd No_sender
Data_adc2 = Getadc(1)
Adc_convert2 = Data_adc2
Adc_convert2 = Adc_convert2 * 500
Adc_convert2 = Adc_convert2 / 1023
Adc_string2 = Fusing(adc_convert2 , "#.##")
Print "AT+CMGS=";
'----nomor HP tujuan : , bisa ganti yang lain
Print No_sender
'----- tunggu 700 ms
Waitms 700
'----- isi sms yang dikirim
Print "AC 2 dipadamkan ;" ; "suhu = " ; Adc_string2
'----- kode akhiran untuk perintah kirim sms
Print Chr(26)
'----- tunggu 1 detik
Wait 1
Elseif Sret = "STATUS" Then
Wait 1
Cls
Locate 1 , 1
Lcd Sret
Locate 2 , 1
Lcd No_sender
Data_adc1 = Getadc(0)
Adc_convert1 = Data_adc1
Adc_convert1 = Adc_convert1 * 500
Adc_convert1 = Adc_convert1 / 1023
Adc_string1 = Fusing(adc_convert1 , "#.##")
Data_adc2 = Getadc(1)
Adc_convert2 = Data_adc2
Adc_convert2 = Adc_convert2 * 500
Adc_convert2 = Adc_convert2 / 1023
Adc_string2 = Fusing(adc_convert2 , "#.##")
if portB.0 = 1 then
s1 = "AC 1 Nyala"
end if
if portB.0 = 0 then
s1 = "AC 1 Padam"
end if
if portB.1 = 1 then
s2 = "AC 2 Nyala"
end if
if portB.1 = 0 then
s2 = "AC 2 Padam"
end if
'Alls = s1 + s2
cls
Locate 1 , 1
Lcd "T1=" ; Adc_string1 ; " C" ; "AC1=" ; portb.0
locate 2 , 1
lcd "T2=" ; Adc_string2 ; "C" ; "AC2=" ; portb.1
Waitms 200
Print "AT+CMGS=";
'----nomor HP tujuan : , bisa ganti yang lain
Print No_sender
'----- tunggu 700 ms
Waitms 700
'----- isi sms yang dikirim
Print s1 ; " Suhu Ruang 1= " ; Adc_string1 ; " C ++++++++" ; s2 ; " " ; "Suhu Ruang 2=" ; Adc_string2 ; " C"
'----- kode akhiran untuk perintah kirim sms
Print Chr(26)
'----- tunggu 1 detik
Wait 1
End If
End Sub
berikut ini adalah video ujicoba SMS Control dan SMS Telemetri Cek Kondisi AC + Suhu nya
Anda membutuhkan komponen elektronik , Arduino, Sensor, Tutorial(paket belajar), jasa pembuatan alat berbasis mikrokontroler, kendali lampu via jaringan LAN, led running teks, pengendali lampu atau peralatan listrik lainnya via internet dan sebagainya ? anda dapat membelinya di www.kedaiarduino.com
dalam posting kali ini, saya sedang mensimulasikan pengontrol AC jarak jauh dan telemeteri (pengukuran jarak jauh), dalam hal ini adalah pengukuran suhu,
kata kunci (keyword) SMS untuk menyalakan AC pada ruang 1 adalah ON AC 1
kata kunci (keyword) SMS untuk memadamkan AC pada ruang 2 adalah OFF AC1
kata kunci (keyword) SMS untuk menyalakan AC pada ruang 1 adalah ON AC 2
kata kunci (keyword) SMS untuk memadamkan AC pada ruang 2 adalah OFF AC 2
sedangkan untuk cek Status nyala / padam nya AC pada ruang 1 dan 2 di pergunakan keyword STATUS
berikut ini adalah source code SMS Control dan SMS Telemetri Cek Kondisi AC + Suhu nya
'-----------------------------------------------------
' Kontrol nyala - padam listrik via SMS
' serta cek suhu via sms
''-----------------------------------------------------
$regfile = "m16def.dat" 'Mikrokontroler ATMega16
$crystal = 16000000
$baud = 9600
'Ddrd.2 = 0
'Portd.2 = 1
'------- konfigurasi LCD
'Config Lcdpin = Pin , Rs = Porta.0 , E = Porta.2 , Db4 = Porta.4 ,
'Config Lcdpin = Pin , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7
'Config Lcd = 16 * 2
'Cursor Off
'Cls
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = PortC.1 , Db7 = Portc.0 , E = Portc.5 , Rs = Portc.7
Config Lcd = 16 * 2
cls
Cursor Off
'On Int0 Int_ext0
'Enable Interrupts
'Enable Int0
Config Portb = Output
portb = 255
wait 1
portb = 0
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc
Dim Data_adc1 As Word , Adc_convert1 As Single , Adc_string1 As String * 10
Dim Data_adc2 As Word , Adc_convert2 As Single , Adc_string2 As String * 10
Dim S1 As String * 10 , S2 As String * 10 , Alls As String * 40
$hwstack = 20
$swstack = 8
$framesize = 8
Declare Sub Getline(s As String)
Declare Sub Showsms(s As String )
Dim I As Byte , B As Byte
Dim Sret As String * 70 , Stemp As String * 70
Dim Pos_str1 As Byte , Pos_str2 As Byte , Long_str As Byte
Dim Inbox As String * 2
Dim No_sender As String * 15
Declare Sub Status
Config Serialin = Buffered , Size = 72
Enable Interrupts
Wait 1
Print "AT"
Lcd "SMS CONTROLLER"
'------ sistem interupsi diaktifkan
Enable Interrupts
Wait 1 'Tunggu modem stabil
'------ tes komunikasi dengan modem
Do
Print "AT" : ' Waitms 100
Getline Sret ' get data from modem
Lowerline
Lcd Sret
Loop Until Sret = "OK" ' modem must send OK
'------ tunggu 2 detik
Wait 2
'Print "AT+CMGF=1";
'Wait 1
Do
Getline Sret
I = Instr(sret , ":")
If I > 0 Then
Stemp = Left(sret , I)
Select Case Stemp
Case "+CMTI:" : Showsms Sret
End Select
End If
Loop
End
'***********************************************
Sub Getline(s As String)
S = ""
Do
B = Inkey()
Select Case B
Case 0 :
Case 13
Case 10 : If S <> "" Then Exit Do
Case Else
S = S + Chr(b)
End Select
Loop
End Sub
'**********************************************
Sub Showsms(s As String )
Pos_str1 = Instr(s , ",")
Long_str = Len(s)
Long_str = Long_str - Pos_str1
Inbox = Right(s , Long_str)
Print "AT+CMGR=" ; Inbox
Getline Stemp
Getline Sret
'__ambil nomor dulu_____no pengirim ada di no_sender ____
Pos_str1 = Instr(stemp , ",")
Incr Pos_str1
Pos_str2 = Instr(pos_str1 , Stemp , ",")
Incr Pos_str1
Decr Pos_str2
Long_str = Pos_str2 - Pos_str1
No_sender = Mid(stemp , Pos_str1 , Long_str)
'_________________________________________________________
Print "AT+CMGD=" ; Inbox
'-------------------------kontrol lampu
If Sret = "ON AC 1" Then
Wait 1
Portb.0 = 1
Cls
Locate 1 , 1
Lcd Sret
Locate 2 , 1
Lcd No_sender
Data_adc1 = Getadc(0)
Adc_convert1 = Data_adc1
Adc_convert1 = Adc_convert1 * 500
Adc_convert1 = Adc_convert1 / 1023
Adc_string1 = Fusing(adc_convert1 , "#.##")
Print "AT+CMGS=";
'----nomor HP tujuan : , bisa ganti yang lain
Print No_sender
'----- tunggu 700 ms
Waitms 700
'----- isi sms yang dikirim
Print "AC 1 dinyalakan ;" ; "suhu = " ; Adc_string1
'----- kode akhiran untuk perintah kirim sms
Print Chr(26)
'----- tunggu 1 detik
Wait 1
Elseif Sret = "OFF AC 1" Then
Wait 1
PortB.0 = 0
Cls
Locate 1 , 1
Lcd Sret
Locate 2 , 1
Lcd No_sender
Data_adc1 = Getadc(0)
Adc_convert1 = Data_adc1
Adc_convert1 = Adc_convert1 * 500
Adc_convert1 = Adc_convert1 / 1023
Adc_string1 = Fusing(adc_convert1 , "#.##")
Print "AT+CMGS=";
'----nomor HP tujuan : , bisa ganti yang lain
Print No_sender
'----- tunggu 700 ms
Waitms 700
'----- isi sms yang dikirim
Print "AC 1 dipadamkan ;" ; "suhu = " ; Adc_string1
'----- kode akhiran untuk perintah kirim sms
Print Chr(26)
'----- tunggu 1 detik
Wait 1
Elseif Sret = "ON AC 2" Then
Wait 1
Portb.1 = 1
Cls
Locate 1 , 1
Lcd Sret
Locate 2 , 1
Lcd No_sender
Data_adc2 = Getadc(1)
Adc_convert2 = Data_adc2
Adc_convert2 = Adc_convert2 * 500
Adc_convert2 = Adc_convert2 / 1023
Adc_string2 = Fusing(adc_convert2 , "#.##")
Print "AT+CMGS=";
'----nomor HP tujuan : , bisa ganti yang lain
Print No_sender
'----- tunggu 700 ms
Waitms 700
'----- isi sms yang dikirim
Print "AC 2 dinyalakan ;" ; "suhu = " ; Adc_string2
'----- kode akhiran untuk perintah kirim sms
Print Chr(26)
'----- tunggu 1 detik
Wait 1
Elseif Sret = "OFF AC 2" Then
Wait 1
Portb.1 = 0
Cls
Locate 1 , 1
Lcd Sret
Locate 2 , 1
Lcd No_sender
Data_adc2 = Getadc(1)
Adc_convert2 = Data_adc2
Adc_convert2 = Adc_convert2 * 500
Adc_convert2 = Adc_convert2 / 1023
Adc_string2 = Fusing(adc_convert2 , "#.##")
Print "AT+CMGS=";
'----nomor HP tujuan : , bisa ganti yang lain
Print No_sender
'----- tunggu 700 ms
Waitms 700
'----- isi sms yang dikirim
Print "AC 2 dipadamkan ;" ; "suhu = " ; Adc_string2
'----- kode akhiran untuk perintah kirim sms
Print Chr(26)
'----- tunggu 1 detik
Wait 1
Elseif Sret = "STATUS" Then
Wait 1
Cls
Locate 1 , 1
Lcd Sret
Locate 2 , 1
Lcd No_sender
Data_adc1 = Getadc(0)
Adc_convert1 = Data_adc1
Adc_convert1 = Adc_convert1 * 500
Adc_convert1 = Adc_convert1 / 1023
Adc_string1 = Fusing(adc_convert1 , "#.##")
Data_adc2 = Getadc(1)
Adc_convert2 = Data_adc2
Adc_convert2 = Adc_convert2 * 500
Adc_convert2 = Adc_convert2 / 1023
Adc_string2 = Fusing(adc_convert2 , "#.##")
if portB.0 = 1 then
s1 = "AC 1 Nyala"
end if
if portB.0 = 0 then
s1 = "AC 1 Padam"
end if
if portB.1 = 1 then
s2 = "AC 2 Nyala"
end if
if portB.1 = 0 then
s2 = "AC 2 Padam"
end if
'Alls = s1 + s2
cls
Locate 1 , 1
Lcd "T1=" ; Adc_string1 ; " C" ; "AC1=" ; portb.0
locate 2 , 1
lcd "T2=" ; Adc_string2 ; "C" ; "AC2=" ; portb.1
Waitms 200
Print "AT+CMGS=";
'----nomor HP tujuan : , bisa ganti yang lain
Print No_sender
'----- tunggu 700 ms
Waitms 700
'----- isi sms yang dikirim
Print s1 ; " Suhu Ruang 1= " ; Adc_string1 ; " C ++++++++" ; s2 ; " " ; "Suhu Ruang 2=" ; Adc_string2 ; " C"
'----- kode akhiran untuk perintah kirim sms
Print Chr(26)
'----- tunggu 1 detik
Wait 1
End If
End Sub
berikut ini adalah video ujicoba SMS Control dan SMS Telemetri Cek Kondisi AC + Suhu nya
Contact Person :
Facebook : Taufik Adi Sanjaya
Facebook : Taufik Adi Sanjaya
No HP / Whats App : 0823 2613 3990
PIN BBM 5983E244
PIN BBM 5983E244
Alamat : Jalan Imogiri Timur KM 11,
Blawong 1 , RT 01, Trimulyo,
Jetis, Bantul 55781.
0 Reviews
Silakan dikomentari