Проблема с GSM модулем SIM900

batyr_1994.94@m...
Offline
Зарегистрирован: 11.03.2016

Здравствуйте, я новичок в программировании под Ардуино. Имеется GSM module, сервопривод, два PIR сенсора. При получении сообщения GSM модулем об активации всей системы, проделывается активация системы, но при получении повторного сообщения о деактивации, первым делом продолжается выполнении кода дальше(а именно работа сенсора а следовательно поворот сервопривода), а затем непосредственно деактивация. Буду благодарен любой помощи.

void smsreceive(){
  
 posit=sms.IsSMSPresent(SMS_UNREAD);
 Serial.println((int)posit);
 if((int)posit>0&&(int)posit<=20){
   Serial.println((int)posit);
   //message[0]='\0';
   
   sms.GetSMS((int)posit,number,message,1000);
   //SMSReceive=true;
 if(message){
 
          checkPassword1();
          
       }
      else{checkPassword();} 

for (int i=0; i<=(int)posit; i++)
   sms.DeleteSMS(i);
   
 }
}

Метод получения сообщения.

 smsreceive();         // вышеописанный метод  

     if (alarmActive == 1){
    if (digitalRead(pirPin1) == HIGH)
    {
            zone = 0;
      alarmTriggered(); //     происходит выполнение этой части кода, если её убрать
    }                                 //      то происходит выполнение кода дальше
    if (digitalRead(pirPin2) == HIGH)
     {
      zone = 1;
      alarmTriggered();
   }
      if (val==LOW && SMSSent==false)
     {
      zone = 2;
      alarmTriggered();
   }
   }

Вышеописанный код находится в loop()

ЕвгенийП
ЕвгенийП аватар
Онлайн
Зарегистрирован: 25.05.2015

А проблема-то в чём? Какая именно помощь нужна?