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.
-
- Vcc MCU
- Ground(GND)
- TXD 5V (Disambungkan ke pin 10 Arduino
- RXD 5V ( Disambungkan ke pin 9 Arduino)
- Vcc (4-5Volts) ( Disambungkan ke pin 5V Arduino
- Ground(GND) (Disambungkan ke pin GND Arduino)
- Ground (GND)
- RXD RS232
- TXD RS232
2. Alatan yang diperlukan
-
- 1 unit GSM SIM900A (MINI V3.9.2)
- 1 unit Arduino Uno Board and USB
- 4 unit wayar (Female to Male)
- 1 unit kad sim
- Software Arduino IDE
- 5V Power Adapter
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!.