Hot Posts

6/recent/ticker-posts

SMS Controller

Mengirim dan Menerima SMS Menggunakan Mikrokontroler
Sebagai Media Penjaga Rumah (scurity system)

SMS adalah layanan yang boleh dibilang paling populer bagi pengguna telepon genggam/HP meskipun sekarang teknologi mobile phone sudah berkembang pesat dan berganti nama serta berganti zaman menjadi smart phone tetapi kebanyakan orang masih memilih sms sebagai media komunikasi yang tepat untuk mereka. Dulu mungkin kita hanya bisa mengirim dan menerima sms menggunakan HP, meskipun bisa saja menggunakan media lain seperti komputer PC. Tinggal sambungkan HP ke komputer dan download aplikasinya maka kita sudah dapat menerima/mengirim sms menggunakan komputer.

Tetapi yang saya bahas sekarang adalah mengirim sms mengunakan mikrokontroler. Kenapa harus mikrokontroler? jawabanya simple saja karena mikrokontroler bentuknya kecil tetapi dengan kemampuan dan hampir sama dengan komputer, mungkin yang membedakan adalah dalam hal kapasitas dan kecepatan dalam bekerja. Aplikasi ini bisa dimanfaatkan dibanyak bidang, mulai dari monitoring, poling, sms getway dan lain-lain.

Baiklah langsung saja, pertama peralatan yang kita butuhkan adalah pertama mikrokontroler yang sudah dilengkapi dengan perangkat komunikasi serial. Dan yang tidak kalah penting lagi adalah modem GSM yang mendukung komunikasi serial (AT-COMMAND). Saya menggunakan modem GSM dengan merek weavcom fastrac seperti terlihat pada gambar dibawah.

Berikut adalah contoh design board mikrokontroler yang saya gunakan, menggunakan mikrokontroler AVR mega 16 dilengkapi dengan 8 buah relay dengan tampilan LCD 2x16 dan beberapa pin input yang bisa dimanfaatkan untuk input sensor dan juga input tegangan (ADC).



















Modem menggunakan modem WEAVCOM (serial)





























Dengan sistem ini kita dapat mengendalikan peralatan listrik (lampu/alarm/dll) dari jarak jauh cukup dengan cara sms saja, selain itu juga dapat berfungsi sebagai "penjaga keamanan" yang siap menginformasikan kepada kita apapun yang terjadi pada rumah kita baik dengan cara sms atau melakukan panggilan ke nomer hp pribadi kita.

Baiklah tiba saatnya kita bahas bagaimana caranya supaya mikrokontroler ini dapat bekerja seperti yang kita inginkan, yaitu membaca sms dari modem untuk kemudian mengerjakan perintah sesuai dengan isi sms dan juga mengirim sms kepada no hp kita baik secara berkala ataupun saat terjadi peristiwa tertentu. Untuk dapat bekerja seperti itu tentunya mikrokontroler tersebut harus kita "ajari" dan kita training, caranya adalah dengan cara memberi program atau perintah-perintah dalam bahasa mesin. Banyak bahasa pemrograman yang dapat digunakan mulai dari assembly kemudian C dan juga BASCOM, dalam kesempatan ini saya menggunakan bahasa C dengan compiler dan editor programnya menggunakan CodeVision AVR. Berikut contoh rutin program untuk memerintahkan mikrokontroler mengirim sms:

  send_sms();
  {
      printf("AT+CMGS=");
      printf("08572503xxxx\r\n"); // ini nomer hp yang dituju
      delay_ms(500);
      printf("Mengirim sms menggunakan mikrokontroler oleh microvision-jogja"); // ini isi sms
      putchar(26);
      printf("\r\n");
      delay_ms(500);
  }

Perintah diatas akan memerintahkan mikrokontroler untuk mengirim sms dengan isi pesan "Mengirim sms menggunakan mikrokontroler oleh microvision-jogja" ke no HP 08572503xxxx. Kemudian berikut adalah potongan perintah untuk membaca sms yang masuk:

   while(cek[a]!=0x0A);                                                                                                
    if(cek[1]=='C' && cek[2]=='E' && cek[3]=='K')  // jika isi sms CEK
      {  
        lcd_clear();lcd_gotoxy(0,1);lcd_putsf(" Ceking........ ");
        delay_ms(100);
        printf("AT+CMGD=1");  
        putchar(0x0D);
        while(getchar()!='K'){};
        while(getchar()!=0x0A){};
        printf("AT+CMGD=2");  
        putchar(0x0D);
        while(getchar()!='K'){};
        while(getchar()!=0x0A){};
        delay_ms(10);
        //------------------
        printf("AT+CMGF=1");
        putchar(0x0D);          
        while(getchar()!= 'K'){};
        while(getchar()!=0x0A){};
        delay_ms(10);
        cek_status(); // perintah yang dikerjakan jika ada sms dengan isi CEK
      }

Link download modul AT-COMMAND dengan modem weavcom: download dan link ini.

Post a Comment

25 Comments

  1. maaf bang yang line merah itu jumper bukan?, maaf bang klo boleh mnta skema pcb layout sma source programnya buat tugas kuliah, terima kasih sebalumnya.

    ReplyDelete
  2. itu yang line merah jumper bang,? maaf bang kalo boleh mnta pcb layout sama source programya, buat tugas kuliah. terima kasih sebelumnya.

    ReplyDelete
  3. pak minta sourcecodenya donk .. please ....!
    triagus.smkn3tbn029@gmail.com

    ReplyDelete
  4. pak minta sourcecodenya donk ..!! please

    triagus.smkn3tbn029@gmail.com

    buat tugas

    ReplyDelete
    Replies
    1. Silahkan cek email pak...

      Delete
    2. bisa saya minta source code programnnya mas ?
      rifaianugrah1@gmail.com
      terima kasih sebelumnnya mas

      Delete
  5. Boleh minta source codenya?
    terima kasih
    beta_f23@yahoo.com

    ReplyDelete
  6. boleh minta programnya mas ? rifaianugrah1@gmail.com
    terima kasih sebelumnya

    ReplyDelete
    Replies
    1. Silahkan mas itu rutin programnya copy saja, jangan lupa setting hardware dan pastikan ok supaya komunikasi modem dengan MCU berjalan lancar.

      Delete
  7. maaf pak mau tanya kalo misalkan pake modem wavecom type usb hubungan ke mikro gimana ya pak?

    ReplyDelete
  8. ijin mas, untuk ngirim smsnya bisa sampe ke berapa nomor mas?

    ReplyDelete
    Replies
    1. untuk mengirim sms bisa ke beberapa nomer, waktu yang dibutuhkan modem untuk mengirim satu pesan (sms) kurang lebih 450 ms.

      Delete
  9. minta sourcecodenya dong pak
    noval.kurniawan93@gmail.com

    ReplyDelete
  10. Pak boleh minta sourcenya nggak, hafri.rianto@gmail.com

    ReplyDelete
  11. Mas minta source code nya,, yoeckoe@gmail.com

    ReplyDelete
  12. mas boleh minta source kode.nya . buat belajar mas .hehe

    email: nova156031@yahoo.co.id

    ReplyDelete
  13. Maaf mas .. minta source programnya dong, buat referensi
    etika.angelica@gmail.com

    ReplyDelete
  14. selamat malam mas....mau tanya,,kalo untuk menambahkan nomer tujuan gimana mas
    lebih dari 2 nomer

    ReplyDelete
    Replies
    1. tambahkan perintah ini lagi
      send_sms();
      {
      printf("AT+CMGS=");
      printf("08572503xxxx\r\n"); // ini nomer hp yang dituju
      delay_ms(500);
      printf("Mengirim sms menggunakan mikrokontroler oleh microvision-jogja"); // ini isi sms
      putchar(26);
      printf("\r\n");
      delay_ms(500);
      }

      ganti dengan nomer yang baru, misal;
      send_sms2();
      {
      printf("AT+CMGS=");
      printf("08232503xxxx\r\n"); // ini nomer hp yang dituju
      delay_ms(500);
      printf("Mengirim sms menggunakan mikrokontroler oleh microvision-jogja"); // ini isi sms
      putchar(26);
      printf("\r\n");
      delay_ms(500);
      }

      Delete
  15. Mas boleh minta source program dan skema PCB nya ? Untuk tugas akhir

    egamahaputra@gmail.com

    ReplyDelete

Silahkan Tinggalkan Komentar Anda