bambangSud

Kirim SMS *gsm shield

Oct 2nd, 2013
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. // LINE: bambangSud twitter: @bambangSud WA: +62811234123
  2. SoftwareSerial XbeeSerial = SoftwareSerial(2, 3);
  3. SoftwareSerial gsm(10, 11);
  4.  
  5. String inchar;
  6. char c;
  7.  
  8. int ledPin = 8;
  9. int kirimSMS=0;// flag
  10.  
  11. void setup() {
  12. gsm.begin(19200); //gsm baudrate
  13. Serial.begin(9600); //connection to host computer
  14. Serial.println("Sistem deteksi posisi berjalan...");
  15. XbeeSerial.begin(19200); //connection to Xbee shield
  16. pinMode(ledPin, OUTPUT);
  17. }
  18.  
  19. void loop()
  20. {
  21.  
  22. bacasms();
  23. if(kirimSMS==1){ // hanya kirim SMS jika ....
  24. SendSMS();
  25. }
  26.  
  27.  
  28. }
  29. //--------------------------------------------------------------------------------------------------------------------
  30. void SendSMS()
  31. {
  32. Serial.println ("Send SMS started!");
  33. gsm.print("AT+CMGF=1\r"); //Because we want to send the SMS in text mode
  34. delay(100);
  35. gsm.println("AT + CMGS = \"+6282137736098\""); //This number will recieve the text message
  36. delay(100);
  37. char pesan[160];
  38. readSerial(pesan);
  39. gsm.println(pesan); //SMSTEXT = constant
  40. delay(100);
  41. gsm.println((char)26); //the ASCII code of the ctrl+z is 26
  42. delay(100);
  43. gsm.println();
  44. Serial.println ("Send SMS finished!");
  45. }
  46.  
  47. int readSerial(char result[])
  48. {
  49. int i = 0;
  50. while(1)
  51. {
  52. while (XbeeSerial.available() > 0)
  53. {
  54. char inChar = XbeeSerial.read();
  55. if (inChar == '\n')
  56. {
  57. result[i] = '\0';
  58. XbeeSerial.flush();
  59. return 0;
  60. }
  61. if(inChar!='\r')
  62. {
  63. result[i] = inChar;
  64. i++;
  65. }
  66. if(inChar ==',')
  67. {
  68. result[i] = inChar;
  69. result[i] = '\n';
  70. i++;
  71. }
  72. }
  73. }
  74. }
  75.  
  76. void bacasms()
  77. {
  78. if(gsm.available() >0)
  79. {
  80. c = gsm.read();
  81. inchar+=c;
  82. if(inchar.indexOf("get")>0)
  83. {
  84. digitalWrite(ledPin, HIGH);
  85. kirimSMS=1;
  86. }
  87. else if (inchar.indexOf("get")>0)
  88. {
  89. digitalWrite(ledPin, LOW);
  90. kirimSMS=0; // supaya tidak kirim SMS
  91. }
  92.  
  93.  
  94. }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment