SMS merupakan suatu layanan GSM yang bisa kita gunakan untuk saling bertukar informasi, ini bisa kita lakukan pada modul GSM SIM800L yang terpasang pada Arduino. Ini adalah artikel penyambung dari artikel sebelumnya yang berjudul CARA MENGGUNAKAN SIM800L DI ARDUINO NANO jadi untuk kalian yang belum bisa mengakses atau menggunakan SIM800L silahkan simak dulu artikel tersebut.

Prasyarat

Untuk prasyarat tentunya mirip seperti prasyarat pada artikel sebelumnya yaitu:

  1. Modul SIM800L
  2. Arduino Nano / Uno / yang lain bisa menyesuaikan beserta kabel nya
  3. Sumber daya DC 4v dan 5v
  4. Untuk sumber daya kami menggunakan adaptor 12v yang akan di stepdown ke 9v untuk arduino dan 4v ke SIM800L
  5. Kabel
  6. Kartu SIM
  7. Arduino IDE

Namun karena pada artikel ini tkjpedia akan mencoba untuk kirim dan terima sms, maka pastikan memiliki pulsa pada simcard yang terpasang.

Kirim SMS

Untuk kode masih sama, tidak ada perubahan, kalian bisa upload kode berikut:

#include <SoftwareSerial.h>
SoftwareSerial sim800l(2, 3); 
void setup()
{
  Serial.begin(9600);
  sim800l.begin(9600);
}
void loop()
{
  updateSim800l();
}
void updateSim800l()
{
  delay(500);
  while (Serial.available()) 
  {
    sim800l.write(Serial.read());
  }
  while(sim800l.available()) 
  {
    Serial.write(sim800l.read());
  }
}

Kemudian silahkan beralih ke serial monitor untuk mengirim beberapa perintah untuk kirim sms dan kirimkan perintah berikut:

AT+CMGF=1
OK
AT+CMGS="+XXYYYYYYYYYYY"
> halo, tes sms
> dari tkjpedia
> 

Kirimkan perintah per satu baris di copy paste karena di bagian akhir terdapat karakter spesial yang hanya bisa di copy paste. Ganti X dengan kode negara dan Y diikuti dengan nomor telepon tujuan.

Hasilnya seperti berikut

Mengirim SMS

Untuk menerima SMS, upload kode berikut kemudian pantau pada serial monitor.

#include <SoftwareSerial.h>

SoftwareSerial sim800l(2, 3); 

void setup()
{
  Serial.begin(9600);
  sim800l.begin(9600);
  delay(1000);
  sim800l.println("AT"); 
  updateSim800l();
  sim800l.println("AT+CMGF=1"); 
  updateSim800l();
  sim800l.println("AT+CNMI=1,2,0,0,0"); 
  updateSim800l();
}

void loop()
{
  updateSim800l();
}

void updateSim800l()
{
  delay(500);
  while (Serial.available()) 
  {
    sim800l.write(Serial.read());
  }
  while(sim800l.available()) 
  {
    Serial.write(sim800l.read());
  }
}

nantinya jika ada sms masuk akan muncul di serial monitor

Selamat mencoba…