PEMBUATAN SMS GATEWAY DENGAN MENGGUNAKAN ARDUINO UNO DAN GPRS SHIELD
Mata kuliah : Aplikasi Mikrokontroler Dosen
: Denny Darlis
Disusun oleh : Kelompok 3 1. Bhakti Al Akbar Pasaribu 2. Ahmad Sven Heddin Timoryansyah 3. Ferio Dheoputro 4. Ruli Erinton
Bandung, Telkom University 2013 / 2014
1.
JUDUL Pembuatan SMS Gateway dengan menggunakan Arduino Uno dan GPRS Shield
2. TUJUAN 2.1 Mengetahui Prinsip Kerja GPRS Shield 2.2 Mengetahui Prinsip Kerja Arduino UNO R3 2.3 Dapat menggunakan Software Arduino 1.0.5 2.4 Dapat menggunakan Software SSCOM3.2E 2.5 Mengimplementasikan GPRS Shield dan Arduino UNO R3 untuk SMS Gateway
3.
ALAT DAN BAHAN -
Software Arduino 1.0.5
-
Arduino Uno R3
-
GPRS Shield
-
SSCOM 3.2
-
SIM Card
-
Kabel USB untuk arduino
4.
DEKSRIPSI
4.1 Software Arduino 1.0.5 Arduino merupakan sebuah software open-source dengan kode-kode yang lebih mudah digunakan dan di-upload ke papan input/output. Arduino dapat digunakan untuk platform Windows, Mac OS X, dan Linux.
Gambar : Software Arduino
4.2 Arduino UNO R3 Arduino Uno R3 adalah board mikrokontroler berbasis ATmega328. Arduino Uno ini Memiliki 14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk menggunakan Arduino cukup menghubungkan kabel USB dari komputer ke arduino nya, selain itu bisa juga dengan menggunakan adaptor dan baterai.
Gambar : Arduino UNO R3
4.2.1
Spesifikasi Arduino Uno R3
a.
Microcontroller ATmega328
b.
Operasi dengan daya 5V VoltageI
c.
Input Tegangan (disarankan) 7-12V
d.
Input Tegangan (batas) 6-20V Digital I / O Pins 14 (dimana 6 memberikan output PWM)
e.
Analog Input Pin 6
f.
DC Lancar per I / O Pin 40 mA
g.
Saat 3.3V Pin 50 mA DC
h.
Flash Memory 32 KB (ATmega328) yang 0,5 KB digunakan oleh bootloader
i.
SRAM 2 KB (ATmega328)
j.
EEPROM 1 KB (ATmega328)
k.
Clock Speed 16 MHz.
4.2.2
Daya
Arduino Uno R3 dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal ( otomatis ). Eksternal ( bukan USB ) daya dapat berasal baik dari AC-ke adaptor-DC atau baterai. Adaptor ini dapat dihubungkan dengan menancapkan plug jack pusat-positif ukuran 2.1mm konektor POWER. Ujung kepala dari baterai dapat dimasukkan kedalam GNDdan Vin pin header dari konektor power. Kisaran kebutuhan daya yang disarankan untuk board Uno adalah 7 sampai dengan 12 volt, jika diberi daya kurang dari 7 volt kemungkinan pin 5v Uno dapat beroperasi tetapi tidak stabil kemudian jika diberi daya lebih dari 12V, regulator tegangan bisa panas dan dapat merusak board Arduino Uno.
Pin listrik adalah sebagai berikut: a.
VIN : Tegangan masukan kepada board Arduino ketika itu menggunakan sumber daya eksternal (sebagai pengganti dari 5 volt koneksi USB atau sumber daya lainnya).
b.
5V : Catu daya digunakan untuk daya mikrokontroler dan komponen lainnya.
c.
3v3 : Sebuah pasokan 3,3 volt dihasilkan oleh regulator on-board.
d.
GND : Ground pin.
4.2.3
Memori
ATmega328 memiliki 32 KB ( dengan 0,5 KB digunakan untuk bootloader ), 2 KB dari SRAM dan 1 KB EEPROM (yang dapat dibaca dan ditulis dengan EEPROM library).
4.2.4
Input dan Output
Masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input atau output, dengan menggunakan fungsi pinMode (), digitalWrite (), dan digitalRead (), beroperasi dengan daya 5 volt.
Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki internal pull-up resistor (secara default terputus) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi khusus: a.
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini dihubungkan ke pin yang berkaitan dengan chip Serial ATmega8U2 USB-to-TTL.
b.
Eksternal menyela : 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah, dengan batasan tepi naik atau turun, atau perubahan nilai. Lihat (attachInterrupt) fungsi untuk rincian lebih lanjut.
c.
PWM: 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi analogWrite ().
d.
SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI menggunakan SPI library.
e.
LED: 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin bernilai nilai HIGH, LED on, ketika pin bernilai LOW, LED off.
f.
Uno memiliki 6 masukan analog, berlabel A0 sampai dengan A5, yang masing-masing menyediakan 10 bit dengan resolusi (yaitu 1024 nilai yang berbeda). Selain itu, beberapa pin memiliki fungsi khusus:
g.
I2C: A4 (SDA) dan A5 (SCL). Dukungan I2C (TWI) komunikasi menggunakan perpustakaan Wire.
h.
Aref. Tegangan referensi (0 sampai 5V saja) untuk input analog. Digunakan dengan fungsi analogReference ().
i.
Reset. Bawa baris ini LOW untuk me-reset mikrokontroler.
4.2.5
Komunikasi
Arduino Uno R3 memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lainnya. ATmega328 menyediakan UART TTL (5V) untuk komunikasi serial, yang tersedia di pin digital 0 (RX) dan 1 (TX). Sebuah ATmega8U2 sebagai saluran komunikasi serial melalui USB dan sebagai port virtual COM untuk perangkat lunak pada komputer. Firmware ’8 U2 menggunakan driver USB standar COM, dan tidak ada driver eksternal yang diperlukan. Namun, pada Windows diperlukan, sebuah file inf. Perangkat lunak Arduino terdapat monitor serial yang memungkinkan digunakan memonitor data tekstual sederhana yang akan dikirim ke atau dari board Arduino. LED RX dan TX di papan tulis akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dengan koneksi USB ke komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1). Sebuah Software Serial library memungkinkan untuk berkomunikasi secara serial pada salah satu pin digital pada board Uno’s. ATmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat lunak Arduino termasuk perpustakaan Kawat untuk menyederhanakan penggunaan bus I2C, lihat dokumentasi untuk rincian. Untuk komunikasi SPI, menggunakan perpustakaan SPI.
4.2.6
Pemrograman
Arduino Uno R3 dapat diprogram dengan menggunakan software Arduino. Tapi sebelum mengupload kode program, serial port, board nya harus disamakan terlebih dahulu dengan yang dipakai.
4.3 GPRS Shield GPRS Shield menyediakan cara untuk menggunakan jaringan GSM ponsel untuk menerima data dari lokasi terpencil. Shield memungkingkan untuk mencapai : a.
Short Message Service
b.
Audio
c.
Layanan GPRS
GPRS shield kompatibel dengan semua papan yang memiliki faktor bentuk yang sama ( and pinout ) sebagai sebuah papan standar Arduino. GPRS shield dikonfigurasi dan dikendalikan melalui UART menggunakan AT Command sederhana. Berdasarkan modul SIM900 dari SIMCOM, GPRS Shield seperi ponsel. Selain fitur komunikasi, GPRS Shield memiliki 12GPIOs, 2 PWMs dan ADC.
Gambar : GPRS Shield
4.3.1
Fitur – Fitur GPRS Shield
a.
Berdasarkan SIM900 Modul SIMCOM.
b.
Quad-Band 850 MHz/900/1800/1900 : akan bekerja pada jaringan GSM di semua Negara di seluruh dunia.
c.
Kontrol melalu AT Commands – Perintah Standar : GSM 07.07 & 07.05 | Perintah Ditingkatkan : SIMCOM AT Commands.
d.
Short Message Service : sehingga dapat mengirim data dalam jumlah kecil melalui jaringan (heksadesimal ASCII atau mentah).
e.
Tertanam TCP/UDP : memungkinkan untuk meng-upload data ke server web.
f.
Speaker dan Headphone jack – dapat mengirim sinyal DTMF atau memutar rekaman seperti mesin penjawab.
g.
SIM Card GSM dan Antenna onboard
h.
12 GPIOs, 2 PWMs dan ADC (2,8 volt) – untuk menambah Arduino.
i.
Konsumsi daya rendah – 1.5mA (sleep mode)
F.
Rentang Suhu Industri -40oC sampai + 85oC
4.3.2 a.
Aplikasi GPRS Shield M2M (Machine 2 Machine) Application : Untuk mentransfer data kontrol menggunakan SMS atau GPRS antara dua mesin yang terletak di dua pabrik yang berbeda.
b.
Remote control of appliances : Kirim SMS saat Anda berada di luar untuk mengaktifkan atau menonaktifkan mesin cuci di rumah.
c.
Vehicle Tracking System - Pasangkan GPRS Shield dengan modul Arduino dan GPS dan menginstalnya di mobil dan publikasikan di internet. Dapat digunakan sebagai alarm pencuri otomatis.
4.3.3
Spesifikasi Spesifikasi untuk SIM900's :
4.3.4
Fungsi Antarmuka
Gambar : PCB GPRS Shield Keterangan Gambar : a.
Power select : Power supply untuk GPRS Shield ( daya 5v untuk arduino ).
b.
Power jack : Koneksikan dengan power supply eksternal dengan tegangan 4.8~5VDC.
c.
Antenna interface : Koneksi eksternal antena
d.
Serial port select : Pilih antara port software dan hardware untuk terhubung ke GPRS Shield.
e.
Hardware Serial : D0/D1 Arduino/Seeeduino
f.
Software serial : D7/D8, hanya untuk Arduino/Seeeduino only
g.
Status LED : Indikator apakah SIM900 sudah menyala atau tidak
h.
Net light : Memberi tau status apakah SIM900 sudah terhubung dengan net.
i.
UART of SIM900 - UART pins breakout of SIM900
j.
Microphone : Untuk menjawab panggilan telepon.
k.
Speaker : Untuk menjawab panggila telepon.
l.
GPIO,PWM and ADC of SIM900 - GPIO,PWM and ADC pins breakout of SIM900
m. Power key : Untuk menyalakan dan mematikan GPRS Shield.
4.3.5 Kegunaan 4.3.5.1 Status Cahaya
5.
Prosedur Pengerjaan a.
Siapkan Alat-alat yang diperlukan yaitu GPRS Shield, Arduino UNO R3, Software Arduino 1.0.5, SSCOM3.2, SIM Card dan kabel USB.
b.
Pasang SIM Card pada board GPRS Shield. Sebelum menghubungkan port USB, pastikan GPRS Shield dalam keadaan mati. Jika sudah hubungkan board tersebut pada port USB Laptop untuk tahap selanjutnya..
c.
Pasangkan GPRS Shield pada board Arduino UNO R3, lalu pasang Antenna di board GPRS Shield tersebut.
d.
Colokkan kabel USB ke arduino dan komputer
Jika LED merahnya belum menyala, tekan tombol switchnya sehingga LED berwarna hijau kemudian disudut Board tekan tombol berwarna putih dan tahan selama 2 detik sehingga LED yang lain akan berwarna merah. Itu artinya board tersebut siap untuk dieksekusi. e.
Buka aplikasi Arduino 1.0.5 dan masukan kode berikut. SoftwareSerial GPRS(7, 8); unsigned char buffer[64]; // buffer array for data recieve over serial port int count=0;
// counter for buffer array
void setup() { GPRS.begin(19200); Serial.begin(19200);
// the GPRS baud rate // the Serial port of Arduino baud rate.
} void loop() { if (GPRS.available()) shield
// if date is comming from softwareserial port ==> data is comming from gprs
{ while(GPRS.available())
// reading data into char array
{ buffer[count++]=GPRS.read();
// writing data into array
if(count == 64)break; } Serial.write(buffer,count);
// if no data transmission ends, write buffer to hardware serial port
clearBufferArray();
// call clearBufferArray function to clear the storaged data from the array
count = 0;
// set counter of while loop to zero
} if (Serial.available())
// if data is available on hardwareserial port ==> data is comming from PC or
notebook GPRS.write(Serial.read());
// write it to the GPRS shield
} void clearBufferArray()
// function to clear buffer array
{ for (int i=0; i
// clear all index of array with command NULL
}
f.
Setelah kode-kode tersebut dimasukan, lalu klik “verify” untuk memverifikasi kode-kode tersebut apa ada error atau tidak.
g.
Jika kode sudah benar dan tidak ada error, klik “upload” untuk memasukkan programnya ke dalam mikrokontroler.
h.
Kemudian, buka aplikasi SSCOM3.2 untuk melakukan percobaan kirim dan terima SMS menggunakan GPRS Shield.
i.
Untuk penyetingannya samakan dengan arduino, tentang serial port, dsb.
j.
Tandai SENDNEW pada SSCOM dan ketik AT+IPR=19200 pada kolom data input, samakan settingan pada BaudRate 19200 dan pada kodingan Arduino 19200 juga. Jika sudah muncul OK, ketik AT+CMGF=1 pada kolom data input lalu klik SEND, jika sudah muncul OK maka device sudah siapuntuk mengirim pesan.
k.
Pada data input ketik AT+CMGS=”+628xxxxxxxxxx” yaitu nomor handphone yang akan kita kirimi pesan, lalu klik SEND. Perintah ini ditujukan untuk nomor handphone yang akan kita kirimkan pesan.
Lalu ketik pesan yang akan kita kirim di tampilan SSCOM dan tekan Enter, setelah muncul “+CMGS:xx” dan “OK” maka pesan telah berhasil kita kirim. L.
Setelah itu, kita akan mencoba membalas SMS tersebut. Cara membalasnya seperti biasa di handphone.
M. Setelah itu, maka ada peringatan bahwa ada pesan yang masuk. Untuk membuka daftar SMS yang ada pada SIM Card ketik AT+CMGL. N.
Untuk membaca pesan masuk, gunakan kode ketik AT+CMGR=nilai SM sebelumnya untuk membaca pesan SMS tersebut.
Seperti inilah gambar pesan yang telah masuk di software SSCOM ini.
Terima kasih!