Senin, 07 Januari 2013

Cara SMS dan Telepon menggunakan Arduino

Setelah asyik bereksperimen dengan shield baru ini, saya ingin berbagi sketch sederhana yang pengaplikasiannya akan sangat berharga tergantung kreatifitas kalian. Untuk mencoba aplikasi ini, kalian setidaknya membutuhkan :
  1. Arduino UNO
  2. GPRS Shield
  3. Antenna
Percobaan pertama, saya akan menggunakan Arduino UNO sebagai gateway. Untuk itu, lepaskan chip ATmega328 dari board UNO kemudian tumpuk GPRS shield di atasnya. Hubungkan dua jumper koneksi di GPRS shield pada mode USB, dan jumper power select pada “BO” atau Board.
Pasang SIM-card dan antenna. Kemudian hubungkan board Arduino yang difungsikan sebagai gateway ini pada PC / laptop menggunakan kabel USB. Jalankan program hyperterminal (Windows) atau gtkterm (Linux), atau bisa juga dengan menggunakan program Arduino.
Aktifkan mode “serial monitor”. Kemudian tekan tombol power pada GPRS shield selama 2 detik. Kirim tulisan “AT” pada serial monitor. Jika serial monitor merespon dengan “OK”, selamat! berarti GPRS shield sudah aktif dan siap ke langkah selanjutnya. Jika tidak, maka coba pastikan kembali koneksi port USB nya. Pastikan pula di serial monitor secara otomatis mengirimkan CR (Carriege Return) dan LF (Line Feed).
Sekarang coba ketikkan “ATD*********” (dimana ********** diisi dengan nomor handphone seseorang). Perintah tersebut digunakan untuk menelepon nomor yang dituliskan. Untuk mengakhiri sambungan telepon, ketikkan perintah “ATH”
Sekarang berlanjut pada percobaan dimana kita akan mengirimkan SMS via Arduino yang kita program. Pasang kembali chip ATmega328 pada board UNO. Hubungkan pin header pada mode “Ard” atau “Arduino”. Sekarang tulis sketch berikut :
/*
   *  Mengirim SMS dengan GPRS Shield 
   *
   *  Author: cicink, Maret 2011
   */

   int led = 13;
   int onModulePin = 2;         // pin yg digunakan untuk menghidupkan shield tanpa menekan tombol

   int timesToSend = 1;        // Frekuensi sms akan dikirimkan
   int count = 0;

   void switchModule(){
   digitalWrite(onModulePin,HIGH);
   delay(2000);
   digitalWrite(onModulePin,LOW);
   }

   void setup(){

   pinMode(led, OUTPUT);
   pinMode(onModulePin, OUTPUT);

   Serial.begin(115200);

   switchModule();                    // aktifkan GPRS shield

   for (int i=0;i<2;i++){
      delay(5000);
   }

      Serial.println("AT+CMGF=1");         // set ke mode SMS
      delay(5000);
      Serial.print("AT+CSCS=");
      Serial.print(34,BYTE);
      Serial.print("IRA");
      Serial.println(34,BYTE);
   }

   void loop(){

   while (count < timesToSend){
      delay(5000);
      Serial.print("AT+CMGS=");          // tentukan nomor yang dituju
      Serial.print(34,BYTE);                 // kirim karakter tanda kutip (")
      Serial.print("08**********");       // lengkapi *** dengan nomor telepon yg dituju
      Serial.println(34,BYTE);               // kirim karakter tanda kutip (")
      delay(10000);
      Serial.print("Tes sms dari shield Arduino...");     // isi sms
      delay(10000);
      Serial.print(0x1A,BYTE);             // prosedur akhir perintah sms 1A (hex)
      delay(10000);
      count++;
   }

   if (count == timesToSend){
      Serial.println("AT*PSCPOF");             // de-aktifasi GRPS shield
      count++;
   }
   }

3 komentar:

  1. mas, mau tnya. gmna komunikasi antara arduino dengan wavecom??
    mkasih.

    BalasHapus
  2. artikel bagus gan, kunjungan baliknya di CARA PERTAMA MENGGUNAKAN ARDUINO UNO ARGA YUDHA
    atau langsung ke website
    http://www.argayudhaadhiprama.com/2016/03/21/cara-pertama-menggunakan-arduino-uno/

    BalasHapus