Chip, ни чего у меня не получилось со switch... case...

В принципе все понятно, но на моем скетче, запутался в край, тем более, если управлять несколькими устройствами...

Ну да ладно, с трудночитаемостью кода, буду позже разбираться.
Сечас, возникла проблема.
В данном - в скетче:

PHP код:
  
  char inchar
;               
  
int led1 10;
  
int led2 11;
  
int led3 12;
  
int led4 13;
  
  
void setup()
  {
    
    
pinMode(led1OUTPUT);
    
pinMode(led2OUTPUT);
    
pinMode(led3OUTPUT);
    
pinMode(led4OUTPUT);
    
digitalWrite(led1LOW);
    
digitalWrite(led2LOW);
    
digitalWrite(led3LOW);
    
digitalWrite(led4LOW);
    
    
Serial1.begin(9600); 
    
delay(30000); 
    
Serial1.println("AT+CMGF=1\r");
    
delay(200);
    
Serial1.println("AT+CNMI=3,0,0,0\r"); 
    
delay(200);
  }
  
  
void loop() 
  {
    
    if(
Serial1.available() >0)
    {
      
inchar=Serial1.read();    
      if (
inchar=='#')
      {
        
delay(10);
        
inchar=Serial1.read();  
        if (
inchar=='a')
        {
          
delay(10);
          
inchar=Serial1.read();
          if (
inchar=='0')
          {
            
digitalWrite(led1LOW);
          } 
          else if (
inchar=='1')
          {
            
digitalWrite(led1HIGH);
          }
          
delay(10);
          
inchar=Serial1.read();  
          if (
inchar=='b')
          {
              
inchar=Serial1.read();
            if (
inchar=='0')
            {
              
digitalWrite(led2LOW);
            } 
            else if (
inchar=='1')
            {
              
digitalWrite(led2HIGH);
            }
            
delay(10);
            
inchar=Serial1.read();  
            if (
inchar=='c')
            {
                
inchar=Serial1.read();
              if (
inchar=='0')
              {
                
digitalWrite(led3LOW);
              } 
              else if (
inchar=='1')
              {
                
digitalWrite(led3HIGH);
              }
              
delay(10);
              
inchar=Serial1.read();  
              if (
inchar=='d')
              {
                
delay(10);
                
inchar=Serial1.read();
                if (
inchar=='0')
                {
                  
digitalWrite(led4LOW);
                } 
                else if (
inchar=='1')
                {
                  
digitalWrite(led4HIGH);
                }
                
delay(10);
              }
            }
            
Serial1.println("AT+CMGD=1,4\r"); 
          }
        }
      }
    }
  } 
можно управлять 4-мя устройствами, но синтаксис СМС должен быть - #abcd, т.е. что бы ОДНО устройство включить или выключить, нужно писать всю строку (#a0b0c1d0), что не очень удобно. Решил сделать скетч, чтобы можно было писать просто - #d1 например и все (минуя a,b,c)

Однако не получилось. Решил сделать так :

PHP код:

  char inchar
;                
  
int led1 10;
  
int led2 11;
     
  
void setup()
  {
    
    
pinMode(led1OUTPUT);
    
pinMode(led2OUTPUT);
    
digitalWrite(led1LOW);
    
digitalWrite(led2LOW);
    
Serial1.begin(9600);
    
delay(30000); 
    
Serial1.println("AT+CMGF=1\r"); 
    
delay(200);
    
Serial1.println("AT+CNMI=3,0,0,0\r"); 
    
delay(200);
  }
  
  
void loop() 
  {
   
device_1();
   
device_2(); 
  }

void device_1()

{
if(
Serial1.available() >0)
    {
      
inchar=Serial1.read();    
      if (
inchar=='#')
      {
        
delay(10);
        
inchar=Serial1.read();  
        if (
inchar=='a')
        {
          
delay(10);
          
inchar=Serial1.read();
          if (
inchar=='0')
          {
            
digitalWrite(led1LOW);
          } 
          else if (
inchar=='1')
          {
            
digitalWrite(led1HIGH);
          }
          
delay(10);
        
          
Serial1.println("AT+CMGD=1,4\r");
          }
        }
    }
}

void device_2()
{
if(
Serial1.available() >0)
    {
      
inchar=Serial1.read();    
      if (
inchar=='#')
      {
        
delay(10);
        
inchar=Serial1.read();  
        if (
inchar=='b')
        {
          
delay(10);
          
inchar=Serial1.read();
          if (
inchar=='0')
          {
            
digitalWrite(led2LOW);
          } 
          else if (
inchar=='1')
          {
            
digitalWrite(led2HIGH);
          }
          
delay(10);
        
          
Serial1.println("AT+CMGD=1,4\r");
          }
        }
    }

Вроде бы должно все работать, но включается-выключается только 1 устройство. Т.е. - отправляю #a1 - led1 включается, потом отправляю #b1 - никакой реакции, пока не отключу #a0. В чем может быть проблема?