Monitoring suhu ruangan lewat sms? ya, project ini menggunakan mikrokontroller. Ini adalah salah satu project sederhana yang pernah saya buat hampir satu tahun lalu, dan kebetulan ada yang pesan untuk dibuatkan maka saat ini saya buatkan sebuah monitoring suhu dengan menggunakan SMS. yang sistem kerja nya akan melapurkan suhuruangan dengan bantuan interface pada komputer untuk menentukan batas suhu maksimum maupun minimumnya.

Peralatan yang digunakan dalam pembuatan project ini sebenarnya sangat sederhana, hanya memerlukan sebuah minimum sistem (dalam hal ini saya menggunakan Panjerino modifikasi berbasis arduino) yang sudah ditambahkan converter level ttl ke RS232. kenapa harus menggunakan converter? Ya karena alat yang akan kita gunakan untuk mengirim sms yaitu modem wavecom bekerja dengan sinya level RS232 sedangkan mikrokontroller nya sendiri pada level TTL. maka dari intu pada gambar dibawah ini terlihat board yang saya buat sudah berisikan sebuah IC MAX232 yang berguna sebagai konverter level tersebut diatas.

Dengan menambahkan sebuah sensor suhu analog yaitu LM35 pada board yang telah saya buat dibawah ini, dan sedikit rumus  pada coding tentunya akan menjadi sebuah monitoring suhu yang kita maksud. Dibawah ini ada contoh coding yang saya buat, namun contoh coding dibawah ini merupakan coding yang harus terkoneksi dengan interface pada komputer. Pembatasan suhu ruangan dan trigger untuk mengirimkan sms terjadi pada program interface di komputer baik itu dari vb maupun delphi. dengan terjadinya pembandingan suhu maksimum dan minimun dari data yang dikirim oleh mikro melalui usb nantinya interface akan mengirimkan juga feedback berupa karakter “a” atau “b” yang berguna untuk mentrigger sms. coba lihat list coding dibawah ini.

[spoiler=Coding Utama]

#include <SoftwareSerial.h>

const int rxpin = 2; 
const int txpin = 3; 
SoftwareSerial gsm(rxpin, txpin); //buat Serial port secara software atau menambah port serial mikro untuk modem
char hape[] = "08970869443"; // no hape tujuan
float hasil=0;
int ar=8; 
int baca=0;
int sms=1;
float adah=0;
char sem;

void setup()//inisialisasi
{

pinMode (ar,OUTPUT); 
Serial.begin(9600); //baudrate hardware serial
gsm.begin(115200);//baudrate software serial
gsm.println("AT+CMGF=1");//set ke modus sms text
delay(5000); //jeda 5000ms
}
void loop()//looping
{  

for(int i=0;i<1000;i++)//merata ratakan hasil pembacaan
{
  int reading = analogRead(baca);

  adah+=(5.0*reading*100.0)/1024.0;;
}
hasil=adah/1000;
adah=0;
Serial.println(hasil);
if(Serial.available()>0)
{
  sem=Serial.read();
  switch(sem)
  {
    case 'a':
    digitalWrite(ar,HIGH);
    if(sms==1)
    {
      kirim();
    }
    sms=0;
    break;
    case 'b':
    digitalWrite(ar,LOW);
    if(sms==0)
    {
      kirim2();
    }
    sms=1;
    break;
  }
}
delay(500);

}

[/spoiler]

Dalam koding diatas terlihat saya menggunakan dua buah port serial komunikasi. ya, satunya adalah hardware serial memang bawaan dari mikronya dan satu lagi adalah software serial yang kita gunakan untuk jalur komunikasi ke modem nya. Kita menggunakan dua jalur ini dengan tujuan agar alat yang dibuat disini tetap bisa berkomunikasi dengan komputer walau juga berkomunikasi dengan modem bersamaan dengan dua jalur terpisah tentunya hal ini tidak akan menyebabkan proses terganggu. dan untuk perintah atcommand untuk kirim sms nya dapat dilihat dibawah ini.

[spoiler=Coding kirim SMS]

void kirim()
{

gsm.println("AT+CMGF=1");//modus sms text

gsm.print("AT+CMGS="); //menentkan nomor tujuan
gsm.write((byte)34);// karakter "
gsm.print(hape);//no hape
gsm.write((byte)34); // karakter "
gsm.println();//enter

delay(5000);

gsm.print("Suhu Ruangan tinggi!!! : "); 
gsm.print(hasil); 
gsm.write((byte)26);
}
void kirim2()
{

gsm.println("AT+CMGF=1");

gsm.print("AT+CMGS="); 
gsm.write((byte)34);
gsm.print(hape);
gsm.write((byte)34); 
gsm.println();

delay(5000);

gsm.print("Suhu Ruangan Normal : ");
gsm.print(hasil);
gsm.write((byte)26);

}

[/spoiler]

nah disana terlihat saya membuat dua buah perintah berbeda, yaitu untung tanggapan karakter “a” dan tanggapan jika karakter “b”, kedua karakter itu dalam project ini saya harapkan untuk mengirimkan dua pesan berbeda namun tetap dapat mengirimkan pula suhu yang ada pada saat itu juga secara tepat dengan menuliskan juga variabel hasil akhir dari perhitungan suhu.

Berikut diabawah ini adalah design dari alat yang saya buat dengan menggunakan software Diptrace.

Buat SMS GATEWAY tanpa CONVERTER KLIK dIsINI