CARA PROGRAM GSM MODULE SIM800L V2 MENGIRIM SMS MENGGUNAKAN ARDUINO

GSM Module SIM800L V2  Dengan Arduino
Arduino Menggunakan GSM Module SIM800L V2

Pada kesempatan kali ini saya akan membahas Tutorial Cara Program GSM Module SIM800L V2 Mengirim SMS Menggunakan Arduino.Module GSM GPRS SIM800L V2.0 adalah module QUAD BAND GSM/GPRS yang kompatibel dengan Arduino, MCS-51, STM32, AVR, dan Mikrokontroler yang compatible.
Module ini Biasa di gunakan untuk voice call, SMS dan GPRS. SIM 800L V2 salah satu GSM GPRS Module yang banyak di gunakan untuk keperluan hobby dan proyek profesional.

Kelebihan module ini  harganya relatif lebih murah di bandingkan dengan module gsm lainnya, untuk versi sebelumya SIM800 tegangan input Vcc nya masih 3.7V - 4.2V , kalau dapat tegangan langsung 5V bisa menyebabkan kerusakan pada module GSM Sim800 tersebut, sehingga memerlukan Dc to DC Stepdown untuk menurunkan tegangan dari 5 V DC ke 3.7V - 4.2V.
Untuk Module SIM800L V2 Vcc nya sudah bisa 5V DC sehingga bisa langsung di hubungkan dengan Vcc 5V DC dari arduino, sehingga tidak membutuhkann regulator step down.Untuk bisa mengirim SMS SIM800 harus dipasang Sim Card GSM,untuk lebih jelasnya bisa mengikuti langkah-langkah dibawah ini :

Module SIM800L V2
GSM Module SIM800L V2

Module/Part  yang di butuhkan :
  1. Arduino Uno
  2. GSM Module SIM800L V2.0 
  3. Sim Card  GSM
  4. Kabel Jumper Male-Female

Library :
Download library GSM Module SIM800 di sini (Sumber : SeedStudio)

WIRING DIAGRAM
Berikut cara menghubungkan module GSM GPRS SIM800L V2 ke arduino

Wiring SIM800L V2  dengan Arduino
Wiring Module GSM SIM800L V2 Dengan Arduino

SIM800L    Arduino     
Rx D7
Tx D8
VCC +5V
GND Gnd

CONTOH PROGRAM SERIAL

#include "gprs.h"
#include <SoftwareSerial.h>

GPRS gprs(9600);//BaudRate Gsm

void setup(){
  Serial.begin(9600);
  while(!Serial);
  Serial.println("Test Serial debug ...");
  gprs.preInit();//Power on Gsm 
  while(0 != gprs.sendATTest())
  {
      Serial.println("Sim800L init error!");
  }
  Serial.println("Sim800L init O.K!");
}

void loop(){
  gprs.serialDebug();
}



CONTOH PROGRAM KIRIM SMS MENGGUNAKAN SOFTWARE SERIAL 


#include <SoftwareSerial.h>
 
//SIM800 TX Terhubung Arduino D8
#define SIM800_TX_PIN 8
 
//SIM800 RX Terhubung Arduino D7
#define SIM800_RX_PIN 7
 

SoftwareSerial serialSIM800(SIM800_TX_PIN,SIM800_RX_PIN);
 
void setup() {

  Serial.begin(9600);
  while(!Serial);
   
  //Memulai Komunikasi Serial Arduino  dengan SIM800
  serialSIM800.begin(9600);
  delay(1000);
   
  Serial.println("Program Kirim SMS...");
   

  serialSIM800.write("AT+CMGF=1\r\n");
  delay(1000);
 
  //No tujuan SMS (Ganti dengan Nomor Penerima SMS)
  serialSIM800.write("AT+CMGS=\"08211456XXXX\"\r\n");
  delay(1000);
   
  //Isi SMS
  serialSIM800.write("Kirim SMS dengan SIM 800L - www.labelektronika.com");
  delay(1000);
   

  serialSIM800.write((char)26);
  delay(1000);
     
  Serial.println("SMS Terkirim !");
}
 
void loop() {
}

CONTOH PROGRAM KIRIM SMS MENGGUNAKAN LIBRARY

Untuk library bisa di download di sini

#include <gprs.h>
#include <SoftwareSerial.h>

GPRS gprs;

void setup() {
  Serial.begin(9600);
  while(!Serial);
  Serial.println("Program Test SMS");
  gprs.preInit();
  delay(1000);
  while(0 != gprs.init()) {
      delay(1000);
      Serial.print("init error\r\n");
  }  
  Serial.println("Init success, start to send SMS message...");
  gprs.sendSMS("08211456XXXX","Kirim SMS www.labelektronika.com");//ganti no tlp
void loop() {
} 
Module GSM GPRS SIM 800L V2 dapat di kembangkan untuk aplikasi IOT, Remote Kontrol,SMS Gateway, Smart home, Data Logger dan aplikasi lainnya.
Untuk Pertanyaan  bisa meninggalkan komentar di kolom komentar.Semoga Artikelnya bermanfaat :).

Subscribe to receive free email updates:

54 Responses to "CARA PROGRAM GSM MODULE SIM800L V2 MENGIRIM SMS MENGGUNAKAN ARDUINO"

  1. Balasan
    1. tambahin lagi dong bang, yang buat nerima sama baca sms sim800L, hehe
      sangat membantu artikelnya bang. thx

      Hapus
    2. di tunggu updatenya,Semoga membantu mas.

      Hapus
  2. agar mosul simbisa mengiri sms lagi gimana cara bang ?
    atau gimana cara inputan sms itu dari sensor pir, jadi ketika ada gerakan yang terdekeksi sensor pir maka sim800 mengirim itu gimana caranya bang ?
    terimakasih sebelumnya

    BalasHapus
  3. secara sederhana , seperti ini :
    int pirSensor = 8;
    boolean statusSensor=false;
    void setup() {
    pinMode(pirSensor, INPUT);

    }
    void loop() {
    int sensorValue = digitalRead(pirSensor);
    if (sensorValue == 1) {
    if(statusSensor){
    gprs.sendSMS("08211456XXXX",Kirim SMS www.labelektronika.com);//ganti no tlp
    }
    statusSensor=false;
    }else{
    statusSensor=true;
    }
    }

    BalasHapus
  4. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  5. bang agar pendefinisian pin RX TX nya tetap memakai pin 0 dan pin 1 gimana ya?

    BalasHapus
    Balasan
    1. Pin 0 dan Pin 1 di arduino mempunya fungsi khusus sebagai Serial,untuk lebih jelasnya bisa baca di artikel ini http://www.labelektronika.com/2017/02/arduino-uno-mikrokontroler-atmega-328.html

      Hapus
    2. Selanjutnya untuk mendefinisikan Serial pin untuk komunikasi dengan GSM :
      void setup() {

      Serial.begin(9600);
      while(!Serial);

      //Memulai Komunikasi Serial Arduino dengan SIM800
      Serial.begin(9600);
      delay(1000);

      Serial.println("Program Kirim SMS...");


      Serial.write("AT+CMGF=1\r\n");
      delay(1000);

      //No tujuan SMS (Ganti dengan Nomor Penerima SMS)
      Serial.write("AT+CMGS=\"08211456XXXX\"\r\n");
      delay(1000);

      //Isi SMS
      Serial.write("Kirim SMS dengan SIM 800L - www.labelektronika.com");
      delay(1000);


      Serial.write((char)26);
      delay(1000);

      Serial.println("SMS Terkirim !");
      }

      void loop() {
      }
      Semoga Bermanffat :)

      Hapus
  6. bang mau tanya program terima smsnya gimana

    BalasHapus
    Balasan
    1. dalam waktu dekat kita buat tutorialnya, terima kasih masukannya.

      Hapus
  7. Artikelnya Jelas, Mantap dah
    Sekalian mau tanya min, saya mau kombinasi sim800l v2 dengan sensor pir,
    Jadi apabila sensor pir mendeteksi keberadaan manusia, maka sim800l akan mengirim sms, tapi sms hanya 1 kali aja min.
    Kalo misalnya begitu ada tambahan program lg ga min ?
    Biar jika sensor mendeteksi, sim800l akan mengirim sms 1 kali saja, untuk pendeteksian selanjutnya tidak akan mengirim sms lg. Terima kasih

    BalasHapus
  8. selamat pagi mas...saya sdh ikuti semua petunujuk..di serial monitor sdh bilang "sms terkirim"...tetapi di hp saya kok blm terima sms nya ya..mhn pencerahan penyebabnya apa ya?

    BalasHapus
    Balasan
    1. Pertama, pastikan gsm modulenya sudah dapat signal operatornya, dengan di tandai kedipan lampu lednya lambat, perhatikan pas pertama kali nyala kedipannya cepet, pas searching operator.setelah sudah dapat kedipannya lambat.terus pastikan wiringnya dan prgram sesuai.semoga bermanfaat :)

      Hapus
  9. Mas mau tanya kalau misal kita kontrol Servo dengan kirim SMS gitu bisa ga kira2?
    jadi misal kita mau servonya berputar 30 derajat dengan kita kirim perintah lewat SMS bisa ga?
    Terimakasih sebelumnya..

    BalasHapus
    Balasan
    1. Bisa, mikrokontroller dapat menjalankan beberapa proses secara otomatis.

      Hapus
  10. sudah saya coba mas, dengan perlengkapan : Arduino uno, sim800l v2, kabel jumper. Tp sim800l nya blingking cepat 6-7 kali, setelah itu mengulang kembali dan begitu seterusnya. Dan Ketika di telp, gak aktif no nya. Apa gak ada menggunkan tambahan komponen mas. Jumper langsung ndak bisa..mohon pencerahannya

    BalasHapus
    Balasan
    1. kalau dari pengalaman penulis, sudah pegeng beberapa kali untuk project yang berhubungan dengan gsm module ini,ngga ada masalah.pastikan aja wiring, program,power supply dan hardware ok.

      Hapus
  11. min kenapa sim 800 v2 ini susah cari sinyal

    BalasHapus
    Balasan
    1. kalau dari pengalaman kita, sim 800 termasuk ok, pastikan operator yang di pakai bagus di lokasi tersebut dan tegangannya stabil

      Hapus
  12. Misalnya kita pakai Fingerprint lalu pas ada yg akses langsung terkirim sms itu bagaimana kodingnya bang? Terima kasih

    BalasHapus
    Balasan
    1. Pertama buat program untuk baca finger print, selanjutnya buat pengkondisian jika finger print kebaca kirim sms.

      Hapus
  13. Kalau pakai atmega 2560 koding rx tx nya gimana

    BalasHapus
    Balasan
    1. Serial1.write("AT+CMGF=1\r\n");
      delay(1000);

      //No tujuan SMS (Ganti dengan Nomor Penerima SMS)
      Serial1.write("AT+CMGS=\"08211456XXXX\"\r\n");
      delay(1000);

      //Isi SMS
      Serial1.write("Kirim SMS dengan SIM 800L - www.labelektronika.com");
      delay(1000);


      Serial1.write((char)26);
      delay(1000)

      Hapus
  14. kak, untuk port kakinya harus 7 dan 8 sebagai tx dan rx?
    atau bisa diganti?
    kalau bisa bagai mana caranya?

    BalasHapus
    Balasan
    1. bisa ganti,nanti tinggal di definisikan di pin Rx dan Tx di software serial

      Hapus
  15. gan boleh tanya saya coba pakai gsm sim800l v2 untuk kirim nilai data ke website, tapi kendalanya saya upload program arduino hasil tampilan di serial monitor tidak ada balasan at-command sama sekali padahal modul sim menunjukkan kedip lambat, saya coba ganti baudrate berkali2 namun hasilnya masih tidak ada, bagaimana gan solusinya? apakah dari wiring atau faktor lain?

    BalasHapus
    Balasan
    1. Pastikan Wiring, Hardware dan Powernya ok, karena selama ini admin belum pernah mengalami kendala.

      Hapus
  16. Gan, gimana cara mengirim pesan lebih dari satu penerima? Codingannya gimana ya?

    BalasHapus
    Balasan
    1. programnya tinggal di ulang , misal

      serialSIM800.write("AT+CMGF=1\r\n");
      delay(1000);

      //No tujuan SMS (Ganti dengan Nomor Penerima SMS)
      serialSIM800.write("AT+CMGS=\"08211456XXXX\"\r\n");
      delay(1000);

      //Isi SMS
      serialSIM800.write("Kirim SMS dengan SIM 800L - www.labelektronika.com");
      delay(1000);


      serialSIM800.write((char)26);
      delay(1000);

      Serial.println("SMS Terkirim !");

      serialSIM800.write("AT+CMGF=1\r\n");
      delay(1000);

      //No tujuan SMS (Ganti dengan Nomor Penerima SMS)
      serialSIM800.write("AT+CMGS=\"081807XXXX\"\r\n");
      delay(1000);

      //Isi SMS
      serialSIM800.write("Kirim SMS dengan SIM 800L - www.labelektronika.com");
      delay(1000);


      serialSIM800.write((char)26);
      delay(1000);

      Serial.println("SMS Terkirim !");

      Hapus
  17. makasih gan, saya mau nanya gan bagaimana jika password salah 3 kali kemudian kirim sms gan? lalu gimana codingnya gan?
    terimakasih gan

    BalasHapus
    Balasan
    1. bikin pengkondisian, misal tambahkan cntsalah++ di function salah password.terus jika cntsalah >=3 kirim sms

      Hapus
  18. Bang, kalo program untuk mengirim sms sebagai peringatan apabila nilai sensor melewati batas gimana bang? Tapi data yg dideteksi melewati batas iniada di database bang. Mohon dijawab yaa bang, terimakasih bang

    BalasHapus
    Balasan
    1. Pertama read datanya dari database, bisanya kalau database local bisa pakai serial, ethernet atau wifi melalui komputer.kalau lewat databse online bisa lewat gsm,wifi atau ethernet .selanjutnya data di read di di arduino.

      Hapus
  19. warning: ISO C++ forbids converting a string constant to 'char*'[Wwrite-strings]
    gprs.sendSMS("08574715xxxx","relay dimatikan")

    error seperti itu biasanya salah dimananya ya?

    BalasHapus
    Balasan
    1. kalau dari admin belum pernah mengalami error seperti di atas, tapi kalau dari erroronya tentang pointer variable.

      Hapus
  20. gan minta gambar modul sim yang di fritzing dong. nyari belom ketemu.. send email aja gan ke isasenoaji@gmail.com

    BalasHapus
  21. Gan mau tanya supaya GSM hanya 1 kali SMS gimana, saya kombinasi dengan sensor ultrasonik
    Tolong banget jawabannya gasπŸ™

    BalasHapus
    Balasan
    1. pakai pengkondisian/if pakai boolen, misal statusSend=true ketika kondisi tercapai, setelah kirim statusSned=false

      Hapus
  22. Kalo mau reset nomor tujuan menggunakan keypad gimana caranya ya masπŸ™

    BalasHapus
    Balasan
    1. tambahkan keypada dan tambahkan program baca keypada untuk memasukan number

      Hapus
  23. minta part sim800l v2 fritzingnya boleh gak gan?

    BalasHapus
  24. mas cara mengirim sms tapi inputnya dari sensor mq-7, cara pengkondisian gimana ya? terimakasih

    BalasHapus
  25. Bang kalo menggunakan arduino atmega 2560 gimna cara nya bang? Soalnya beda sama uni bang

    BalasHapus
    Balasan
    1. Pakai Hardaware serial, misalnya Serial1,Serial2 dst

      Hapus
  26. Maaf bang mau tanya, misalkan saya punya struct, dan struct ini punya variabel char yg mana saya menyesuaikan sama "serialSIM800.write"nya soalnya harus pake char.

    Nah pertanyaan saya, misal char-char dalam struct tersebut saya gunakan untuk mengisi nomor telepon, dan ada yang saya selipkan didalam sms yang akan dikirim. Ada saran ndak bang?

    *NB: dibawah saya ambil contoh penerapan kodingan saya tapi gagal. Salahnya dimana ya bang?

    struct data{
    char telp[15]; //anggap saja sudah terisi dari mcu lain karena saya pake NodeMCU 8266
    char plat[15];
    }data1;

    serialSIM800.write("AT+CMGF=1\r\n");
    delay(1000);

    //No tujuan SMS (Ganti dengan Nomor Penerima SMS)
    serialSIM800.write("AT+CMGS="+data1.telp+"\r\n");
    delay(1000);

    //Isi SMS
    serialSIM800.write("Kirim SMS " +data1.plat+ " dengan SIM 800L - www.labelektronika.com");
    delay(1000);

    pesan errornya, "invalid operands of types 'const char [9]' and 'char [15]' to binary 'operator+'", mohon bantuannya bang karena kebutuhan skripsi.

    BalasHapus
  27. jadi dalam penggabungan variable harus menyesuikan type datanya, jadi harus di simpan dulu di variable untuk simpan

    BalasHapus
  28. Untuk yg gprs pin rx tx nya taruh mana bang? Mohon dijawab πŸ™πŸ™

    Terimakasih

    BalasHapus
  29. HoF Legends is our in-game item collection feature and has rapidly become the preferred addition to our free slot games. Upgrade your collection of legendary mythical beings by collecting chests and tokens. You'll obtain a every day bonus of free cash and free spins every time you log in, and you may get} even more bonus cash by following us on social media. You can download the free House of Fun app on your cell phone and take all the fun of the casino with you wherever you go! These types of free 카지노 slots are great for Funsters who are out-and-about, and in search of a fun approach to pass the time. Spin the reels as many occasions as you want, but always keep an eye on|regulate|control} your bankroll.

    BalasHapus