Loading...
OUR BLOG

Menghantar dan Menerima SMS Menggunakan GSM SIM900A dan Arduino

Hi BDX-ian!

Untuk artikel kali ini, kita akan belajar cara penyambungan antara modem GSM ke Arduino. Terdapat pelbagai jenis modem GSM yang berada di dalam pasaran masa kini seperti SIM900, SIM800, SIM300 dan banyak lagi. Dalam tutorial ini saya akan menggunakan modem paling popular berdasarkan SIMCom SIM900A dan Arduino Uno. Cara penyambungan antara modem GSM ke Arduino agak mudah, anda hanya memerlukan 3 sambungan antara modem GSM dan Arduino.

 

Saya pasti ada di antara anda yang tertanya apakah itu GSM?. Global System for Mobile communication(GSM) ialah salah satu sistem selular yang digunakan untuk peranti mudah alih yang datang bersama mini SMA/IPX antenna 90 darjah dan slot simkad yang menyokong rangkaian 2G, 3G dan 4G dapat digunakan. Selain daripada  itu, modem GSM juga membolehkan pengguna untuk menghantar/menerima data melalui GPRS, SMS dan menerima/membuat panggilan suara.

 

Sebelum saya tunjukkan cara penyambungan antara modem GSM dan Arduino, jom terlebih dahulu kita berkenalan dengan pin yang terdapat pada modem GSM diikuti pula cara menghidupkan GSM dan sambungan pin, sambungan litar serta sketch/code programming.

 

1. Pin yang terdapat pada GSM SIM900A

Dalam tutorial ini hanya pin 3,4,5 dan 6 sahaja yang akan digunakan seperti dalam gambar litar di bawah.

    1. Vcc MCU
    2. Ground(GND)
    3. TXD 5V               (Disambungkan ke pin 10 Arduino
    4. RXD 5V               ( Disambungkan ke pin 9 Arduino)
    5. Vcc (4-5Volts)     ( Disambungkan ke pin 5V Arduino
    6. Ground(GND)      (Disambungkan ke pin GND Arduino)
    7. Ground (GND)
    8. RXD RS232
    9. TXD RS232

 

 

 

 

2. Alatan yang diperlukan

 

 

3. Cara menghidupkan GSM SIM900A

Langkah 1:

Masukkan kad sim anda ke slot modem GSM yang disediakan seperti dalam gambar.

 

Langkah 2:

Seterusnya  untuk menghidupkan GSM pula, sambungkan pin 5V dan ground (GND) dari Arduino ke Vcc dan GND GSM anda .

 

Langkah 3:

Kemudian sambungkan antenna dan tunggu seketika (1-2 minit) untuk melihat kadar kelipan pada status LED. Hal ini kerana, modem GSM akan mengambil masa untuk mewujudkan sambungan dengan rangkaian telefon bimbit yang diperoleh daripada kad sim.

 

Langkah 4:

Apabila hubungan rangkaian (network connection) telefon bimbit berjaya dikenal pasti, rangkaian LED (LED network) akan terus berkelip setiap 3 saat. Anda juga boleh mencuba kaedah lain dengan membuat panggilan terus ke nombor kad sim yang dimasukkan ke dalam slot modem GSM. Sekiranya anda mendengar deringan, ini menunjukkan bahawa modem GSM anda telah berjaya mendapatkan rangkaian (network connection).

 

Langkah 5:

Langkah terakhir untuk membolehkan modem GSM SIM900A berinteraksi dengan Arduino adalah dengan menyambungkan pin GSM RX ke pin 9 Arduino, manakala pin GSM TX disambungkan ke pin 10 Arduino seperti yang dilabel dalam gambar..

Gambar di atas merupakan hasil penyambungan antara modem GSM SIM900A dan Arduino. Selepas semua komponen siap dipasang anda sudah boleh memuat naik "code programming".

 

4. Code programming

Setelah selesai penyambungan litar, anda sudah boleh memuat naik (upload) code yang disediakan dengan kaedah "copy and paste" ke dalam Arduino IDE anda. Code di bawah membolehkan anda menghantar mesej (SMS) terus ke penerima dan menerima SMS selepas modem GSM SIM900A dihidupkan.

#include <SoftwareSerial.h>

SoftwareSerial mySerial(9,10);

void setup()

{

 mySerial.begin(9600);                    // Set baud rate of GSM Module 

 Serial.begin(9600);                      // Set baud rate Serial Monitor (Arduino)

  Serial.println("GSM SIM900A");             

  Serial.println("Masukkan pilihan anda.."); 

  Serial.println("s : untuk menghantar SMS");

  delay(100);

}

void loop()

{

  if (Serial.available()>0)

   switch(Serial.read())

  {

    case 's':

      HantarSMS();

      break;  

  }

 if (mySerial.available()>0)

   Serial.write(mySerial.read());

}

 void HantarSMS()

{

  mySerial.println("AT+CMGF=1");                                // Untuk setkan GSM Modul dalam Mod teks

  delay(1000);                                                                // Delay 1000 millisaat atau 1 saat

 mySerial.println("AT+CMGS=\"+60xxxxxxx\"\r");  // Gantikan X's dengan nombor telefon penerima

  delay(1000);

  Serial.println("Menghantar SMS..");

 mySerial.println("SMS from GSM SIM900A");     // pesanan SMS yang ingin dihantar ke penerima

  delay(100);

   mySerial.println((char)26);// ASCII code  CTRL+Z

  delay(1000);

}

 void TerimaSMS()

{

 mySerial.println("AT+CNMI=2,2,0,0,0");      // AT Command untuk menerima live SMS

  delay(1000);

}

 

Anda juga boleh mengubahsuai sendiri teks mesej mengikut kesesuaian anda tersendiri dengan menukar teks di bahagian pesanan " SMS fom GSM SIM900A". Anda diingatkan semasa mengendalikan projek ini anda hendaklah memastikan baki kredit kad sim anda mencukupi untuk membolehkan SMS dihantar terus kepada penerima.

 

5. Output

Selepas berjaya memuat naik code programming, untuk melihat output sila klik butang "Serial monitor" yang ada pada Arduino IDE anda dan SMS di telefon bimbit penerima seperti gambar di bawah.

                                                                               Output daripada serial monitor.

                                                                          Output daripada telefon bimbit penerima

 

Itu sahaja untuk tutorial kami kali ini.Jika anda suka dengan perkongsian tutorial dalam blog ini, jangan lupa untuk follow Facebook dan Instagram kami. Di situ terdapat pelbagai info dan update terkini yang akan kami kongsikan kepada anda semua. Sampai berjumpa lagi. Stay update and selamat mencuba!.

 

Unsure Whether You Need Our Help?

Have you got an awesome new idea or project that you want to talk about? We're here to talk you through it. Flick us an email or give us a call to get started.