Translate

Membuat Alat Monitoring Suhu dan Kelembaban ( DHT11 ) Dengan SMS GATEWAY Modem Wavecom

Membuat Alat Monitoring Suhu dan Kelembaban ( DHT11 ) Dengan SMS GATEWAY Modem Wavecom


                Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang berfungsi untuk monitoring suhu dan kelembaban udara atau ruangan yang mana jika terjadi suatu kondisi misal kelembaban / RH melebihi 50 persen maka akan melakukan sms kepada teknisi untuk dilakukan pengecekan alat. fungsi utama alat ini sebenarnya untuk deteksi kestabilan suhu / kelembaban dan pemberi peringatan saat kondisi bahaya. alat ini menggunakan sensor DHT11 dan mikrokontroller ATMega16 sebagai processornya. untuk skema dan programnya bisa disimak pada penjelasan berikut ini.




 a. Minumum System ATMega





b. Sensor DHT11





c. Rangkaian RS232 Cross Over





d. Modem Wavecom






e. Program Bascom AVR

$regfile = "m16def.dat"
$crystal = 12000000
$baud = 9600

'--------------------------
Config Lcdpin = Pin , Rs = Portc.7 , E = Portc.6 , Db4 = Portc.5
Config Lcdpin = Pin , Db5 = Portc.4 , Db6 = Portc.3 , Db7 = Portc.2
Config Lcd = 16 * 2

Cursor Off
Cls

Declare Sub Get_th(t As Byte , H As Byte)
Config Serialin = Buffered , Size = 128
Config Serialout = Buffered , Size = 128

Dht_put Alias Portc.0
Dht_get Alias Pinc.0
Dht_io_set Alias Ddrc.0

Ddrb.0 = 1
Ddrb.1 = 1

Dim T As Byte
Dim H As Byte
Dim Crc As Byte
Dim Mybyte As Byte
Dim Sensor_data As String * 40
Dim Tmp_str8 As String * 8
Dim Count As Byte
Enable Interrupts
Set Dht_io_set
Set Dht_put

Dim Hx As Byte


Dim Hp1 As String * 30
Hp1 = "0813xxxxxxx"
Dim Hp2 As String * 30
Hp2 = "088xxxxxxxx"
Dim Hp3 As String * 30
Hp3 = "085xxxxxxxx"
Dim Hp4 As String * 30
Hp4 = "085xxxxxxxx"
Dim Hp5 As String * 30
Hp5 = "082xxxxxxxx"



Dim Mark As Integer
Mark = 0

Do

   Waitms 1500
   Call Get_th(t , H)
   Cls

   Hx = H + 11

   Lcd "SUHU: " ; T ; "C" ; "   " ; H
   Lowerline
   Lcd "KELEMBABAN: " ; Hx ; "%"

   If Hx >= 50 Then
   Portb.0 = 1
   Portb.1 = 0
   Elseif Hx < 50 Then
   Portb.0 = 0
   Portb.1 = 1
   End If


If Hx >= 50 And Mark = 0 Then
Mark = 1
Print "AT+CMGS=" ; Hp1
Wait 1
Print "BAHAYA"
Print " "
Print "BAHAYA KELEMBABAN MELEBIHI 50 PERSEN"

Print Chr(26)
Wait 5

Print "AT+CMGS=" ; Hp2
Wait 1
Print "BAHAYA"
Print " "
Print "BAHAYA KELEMBABAN MELEBIHI 50 PERSEN"

Print Chr(26)
Wait 5

Print "AT+CMGS=" ; Hp3
Wait 1
Print "BAHAYA"
Print " "
Print "BAHAYA KELEMBABAN MELEBIHI 50 PERSEN"

Print Chr(26)
Wait 5

Print "AT+CMGS=" ; Hp4
Wait 1
Print "BAHAYA"
Print " "
Print "BAHAYA KELEMBABAN MELEBIHI 50 PERSEN"

Print Chr(26)
Wait 5


Print "AT+CMGS=" ; Hp5
Wait 1
Print "BAHAYA"
Print " "
Print "BAHAYA KELEMBABAN MELEBIHI 50 PERSEN"

Print Chr(26)
Wait 5



End If


If Hx < 50 And Mark = 1 Then
Mark = 0
End If




Loop



Sub Get_th(t As Byte , H As Byte)
 Count = 0
 Sensor_data = ""
 Set Dht_io_set
 Reset Dht_put
 Waitms 25
 Set Dht_put
 Waitus 40
 Reset Dht_io_set
 Waitus 40
 If Dht_get = 1 Then
    H = 1
    Exit Sub
 End If
  Waitus 80
  If Dht_get = 0 Then
    H = 2
    Exit Sub
  End If
  While Dht_get = 1 : Wend
   Do
    While Dht_get = 0 : Wend
    Waitus 30
     If Dht_get = 1 Then
       Sensor_data = Sensor_data + "1"
       While Dht_get = 1 : Wend
       Else
       Sensor_data = Sensor_data + "0"
    End If
    Incr Count
   Loop Until Count = 40
   Set Dht_io_set
   Set Dht_put
   Tmp_str8 = Left(sensor_data , 8)
   H = Binval(tmp_str8)
   Tmp_str8 = Mid(sensor_data , 17 , 8)
   T = Binval(tmp_str8)
   Tmp_str8 = Right(sensor_data , 8)
   Crc = Binval(tmp_str8)
   Mybyte = T + H
   If Mybyte <> Crc Then
      H = 3
   End If
End Sub






f. Cara Menggunakan Alat

          Untuk menggunakan alat ini yang pertama yaitu hubungkan alat ini dengan sumber tegangan, bisa dengan adaptor 12v atau battery 9v, setelah itu hubungkan juga adaptor untuk modem wavecomnya, dan jangan lupa hubungkan kabel VGA to serial dari modem ke minimum system. setelah itu semua dilakukan maka alat siap digunakan. lakukan kalibrasi untuk sensornya.















 

No comments:

Post a Comment