Cara Mudah Program Kirim SMS SIM800L GSM Module Dengan Arduino

Banyak dari kita yang dari kecil memimpikan untuk bisa membuat HP sendiri. Nah kali ini mimpi tersebut akan sedikit demi sedikit kita wujudkan. Dengan Menggunakan SIM800L, kita bisa mengirim dan menerima SMS, melakukan TELP, dan masih banyak lagi.

Saya menggunakan SIM800L V2, seperti pada gambar dibawah ini:

Gambar terkait

Kenapa saya memilih yang versi 2, karena versi ini sudah bisa langsung mendapat power dari 5V tanpa harus menggunakan module penurun tegangan seperti SIM800 yang warna merah. Dan yang versi ini lebih cepat dalam menangkap sinyal.

Apa yang perlu disiapkan:

  1. Arduino
  2. SIM800l V2
  3. Kabel Jumper
  4. Adaptor 5v (jika ada)

Untuk adaptor 5v kamu bisa gunakan casan HP, ini hanya untuk power eksternal saja jika memang dibutuhkan. tapi kamu bisa coba dulu langsung colok ke Arduino seperti rangkaian dibawah ini:

Jika ingin menggunakan Adaptor, kamu bisa lihat rangkaian seperti gambar dibawah ini:

Adaptor disini fungsinya sebagai power tambahan untuk SIM800L itu juga jika diperlukan, tapi jika cukup menggunakan power dari Arduino ikuti saja rangkaian yang pertama. Tapi jika ternyata SIM800L nya tidak kunjung mendapatkan sinyal, kemungkinan besar kekurangan daya maka kamu perlu adaptor dan ikuti rangkaian yang kedua.

CATATAN: Ciri SIM800L sudah dapat sinyal adalah, LED yang asalnya kedip cepat jadi kedip pelan.

Ok jika sudah siap sekarang kita akan mencoba Program Untuk mengirim SMS, silahkan kamu ketik ulang atau salin program dibawah ini:

#include <SoftwareSerial.h>
SoftwareSerial SIM800L(10, 11); 

void setup() {
  Serial.begin(9600);
  SIM800L.begin(9600);  
  SIM800L.println("AT+CMGF=1");
  Serial.println("SIM800L started at 9600");
  delay(1000);
  Serial.println("Setup Complete! SIM800L is Ready!");
  SIM800L.println("AT+CNMI=2,2,0,0,0");

  SIM800L.println("AT+CMGF=1");   
  delay(1000);  
  SIM800L.println("AT+CMGS=\"081287931296\"\r");
  delay(1000);
  SIM800L.println("Test SMS Kelas Robot");
  delay(100);
  SIM800L.println((char)26);
  delay(1000);
}

void loop() {

}

CATATAN:

  1. #include <SoftwareSerial.h> ini berfungsi untuk menyertakan Library SoftwareSerial yang digunakan oleh SIM800L, ke pemrograman Arduino. Tapi karena Library SoftwareSerial sendiri sudah bawaan Arduino, jadi kamu tidak perlu add terlebih dahulu ke Arduino IDEnya jadi tinggal gunakan saja.
  2. SoftwareSerial SIM800L(10, 11); mendifinisikan SIM800L sebagai variabel yang mewakili SoftwareSerial, dengan pin 10 sebagai rx dan 11 sebagai tx. Yang nantinya pin 10 akan dipasangkan ke tx module SIM800L dan pin 11 ke rx nya.
  3. SIM800L.println(“AT+CMGS=\”081287931296\”\r”); ini bagian untuk atur no hape yang akan dikirim sms, silahkan kamu ubah nomernya dengan nomer yang ingin kamu kirim sms.
  4. SIM800L.println(“Test SMS Kelas Robot”); dan ini adalah bagian untuk pesan yang dikirim, silahkan kamu ubah juga sesuai dengan pesan yang kamu inginkan.

Saya adalah seorang pengulik yang tertarik dalam bidang Microcontroller, Internet of Things (IoT), dan Artificial Intelligence (AI). Saya terus belajar dan mengembangkan pengetahuan serta keterampilan saya di dalam ketiga bidang tersebut dengan harapan dapat menciptakan solusi inovatif yang bermanfaat.

  • Bang Kalau Kode RX TX Saya Ganti Ke SoftwareSerial SIM800L(0, 1); Ada Masalah Gak, Tapi Jumper Nya TX RX Juga saya pindah ke 0 dan 1, Gimana ya bng?

    • kalo mau langsung ke Serial pin Arduino, gak usah pake Software Serial lagi langsung aja pake program Serial.

      Masalahnya kalo Upload program bentrok, jadi harus dicabut dulu jumpernya.

  • kak, saya mau aplikasikan sim800l ini dengan sensor suhu. logika nya apabila suhu >30 maka akan kirim sms, tp kenapa sms yg dikirim ga berhenti2 ya? jd saya mau kalo >30 kirim smsnya hanya sekali, itu gimana ya?

  • kak.. saya mau pakek ini ke sensor api kira kira bisa ngga ?

    dengan sketc seperti ini

    #include
    SoftwareSerial SIM800L(10, 11);

    // inialisasi pin sensor dan alarm/buzzer
    const int pinApi = 8;
    const int pinAlarm = 9;
    const int pinLeda = 13;
    const int pinLedb = 12;
    // inialisasi variabel data
    int data;

    // ———– program default/setting awal ———– //
    void setup()
    {
    // inialisasi baud rate SIM 800L
    SIM800L.begin(115200);
    // inialisasi status I/O pin
    pinMode(pinApi, INPUT); // pin sebagai input
    pinMode(pinAlarm, OUTPUT); // pin sebagai output
    pinMode(pinLeda, OUTPUT); // pin sebagai output
    pinMode(pinLedb, OUTPUT); // pin sebagai output
    }

    // —– program utama, looping/berulang terus-menerus —– //
    void loop()
    {
    // variabel data adalah hasil dari pembacaan sensor
    // berupa logic LOW/HIGH
    data = digitalRead(pinApi);

    // jika data bernilai logic LOW
    if (data == LOW)
    {
    // alarm dinyalakan
    digitalWrite(pinAlarm, HIGH);
    delay(100);
    digitalWrite(pinLeda, HIGH);
    delay(100);
    digitalWrite(pinLedb, LOW);
    delay(100);
    SIM800L.println(“AT+CMGF=1”);
    Serial.println(“SIM800L started at 9600”);
    delay(1000);
    Serial.println(“Setup Complete! SIM800L is Ready!”);
    SIM800L.println(“AT+CNMI=2,2,0,0,0”);

    SIM800L.println(“AT+CMGF=1”);
    delay(1000);
    SIM800L.println(“AT+CMGS=”081287931296″r”);
    delay(1000);
    SIM800L.println(“Test SMS Kelas Robot”);
    delay(100);
    SIM800L.println((char)26);
    delay(1000);
    }

    // jika data tidak bernilai logic LOW
    else
    {
    // alarm dimatikan
    digitalWrite(pinAlarm, LOW);
    delay(100);
    digitalWrite(pinLeda, LOW);
    delay(100);
    digitalWrite(pinLedb, HIGH);
    delay(100);
    }
    }

  • gan kalau pas saya test sim800l tetapi lampu indikator sinyalnya tidak mau berkedip itu kenapa ya gan?
    mohon bantuannya

  • bang minta tolong bang
    saya ada tugas membuat pendeteksi adanya api DAN ADANYA NOTIFIKASI KE SMS menggunakan sim800l
    coding nya gimana ya bang
    code sim 800l
    tx 2
    rx 3

    sensor suhu
    vcc 5v
    d0 7

    buzzer
    + 12
    gnd – gnd
    mita tolong bang

Leave a Reply

Your email address will not be published. Required fields are marked *

You might also like
Enable Notifications OK No thanks