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:

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.
Tag:

9 tanggapan pada “Cara Mudah Program Kirim SMS SIM800L GSM Module Dengan Arduino”

  1. 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?

  2. 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?

  3. 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);
    }
    }

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.