title: Receiving SMS using GSM and controlling LED using Arduino
body: <p>Has someone come up with a solution with the above stated problem?</p>
  
  <p>We are using Arduino Duemilanove and SIM 900 GSM module (<a href="http://robokits.co.in/shop/index.php?main_page=product_info&amp;products_id=303" rel="nofollow">http://robokits.co.in/shop/index.php?main_page=product_info&amp;products_id=303</a>)</p>
  
  <p>We've tried to work on the similar problem of lightning LEDs from port 9-12 when we send an sms #aibicidi, where i = 0 or 1, 0 =off, 1=on. E.g. #a1b1c1d1 will switch on all the LEDs.</p>
  
  <p>When we upload the code and run it through serial monitor and enter the #a1b1c1d1 in the serial monitor, we can see all the LEDs lighten up. But if we send the sms with having content "#a1b1c1d1", we don't see any function of LEDs.</p>
  
  <p>It would be great if anyone can give some guidance about the same.</p>
  
  <pre><code> char inchar; //Will hold the incoming character from the Serial Port.
  
   int led1 = 9;
   int led2 = 10;
   int led3 = 11;
   int led4 = 12;
  
   void setup()
   {
   // prepare the digital output pins
   pinMode(led1, OUTPUT);
   pinMode(led2, OUTPUT);
   pinMode(led3, OUTPUT);
   pinMode(led4, OUTPUT);
   digitalWrite(led1, LOW);
   digitalWrite(led2, LOW);
   digitalWrite(led3, LOW);
   digitalWrite(led4, LOW);
   //Initialize GSM module serial port for communication.
  
  
   Serial.begin(9600);
   delay(3000); // give time for GSM module to register on network etc.
   Serial.println("AT+CMGF=1"); // set SMS mode to text
   delay(200);
   Serial.println("AT+CNMI=3,3,0,0"); // set module to send SMS data to serial out upon receipt 
   delay(200);
   }
  
   void loop() 
   {
   //If #a1b1c1d1 comes as sms, all LEDs should light up.
   if(Serial.available() &gt;0)
   {
   inchar=Serial.read(); 
   if (inchar=='#')
     {
     delay(10);
     inchar=Serial.read(); 
  
   //first led
     if (inchar=='a')
       {
     delay(10);
     inchar=Serial.read();
  
   if (inchar=='0')
     {
     digitalWrite(led1, LOW);
     } 
   else if (inchar=='1')
     {
     digitalWrite(led1, HIGH);
     }
   delay(10);
  
  
   //Second led
   inchar=Serial.read(); 
  
   if (inchar=='b')
     {
     inchar=Serial.read();
   if (inchar=='0')
   {
   digitalWrite(led2, LOW);
   } 
  
   else if (inchar=='1')
   {
   digitalWrite(led2, HIGH);
   }
   delay(10);
  
   // Third led
   inchar=Serial.read(); 
   if (inchar=='c')
   {
   inchar=Serial.read();
   if (inchar=='0')
   {
   digitalWrite(led3, LOW);
   } 
   else if (inchar=='1')
   {
   digitalWrite(led3, HIGH);
   }
   delay(10);
  
   //Fourth led
  
   inchar=Serial.read(); 
   if (inchar=='d')
   {
   delay(10);
   inchar=Serial.read();
   if (inchar=='0')
   {
   digitalWrite(led4, LOW);
   } 
   else if (inchar=='1')
   {
   digitalWrite(led4, HIGH);
   }
   delay(10);
   }
   }
   Serial.println("AT+CMGD=1,4"); // delete all SMS
   }
   }
   }
   }
   }
  </code></pre>