Всем привет. Прошу помощи с проектом. Основа взята с просторов. Код компилируется, но работать не хочет. Использую nano +sim800l.Прошу подсказать почему. Код (C++): #include "SIM900.h" //библиотека для работы с gsm модулем #include <SoftwareSerial.h> #include "sms.h" SMSGSM sms; //2 и 3 Rx Tx int flag=0; boolean started=false; char smsbuffer[160]; char n[20];// переменная с номером char n1[]="+7**********"; String input_string = ""; String smsContent = ""; char smsDv[] ="Komanda Vipolnena!";//массив с текстом ответной смс char pos;//переменная с номером последней смс char sendsms[160];//переменная с текстом смс void setup() { pinMode(7, OUTPUT); digitalWrite(7,HIGH); pinMode(8, OUTPUT); digitalWrite(8,HIGH); Serial.begin(9600); if (gsm.begin(4800)) { Serial.println("\nstatus=READY"); started=true; } else Serial.println("\nstatus=IDLE"); } void loop() { pos = sms.IsSMSPresent(SMS_UNREAD); // присваиваем переменной номер последней смс if (pos) { // если есть не принятые смс, то getsms(); // получаем эту смс if(strstr(n, n1) != NULL){ if (input_string=="ON_1"){Serial.print("YES!"); //n1.toCharArray(n,20); sms.SendSMS(n, smsDv);//отправка ответа на номер из переменной n с содержанием массива smsDv sms.DeleteSMS(1); memset(n,0,20); //очистка переменной n с номером input_string=""; char smsbuffer[160]="";//очистка массива с текстом digitalWrite(7,LOW);// нажатие кнопки, подаём низкий уровень сигнала на 7 пин delay(1000);//удержание кнопки, пауза digitalWrite(7,HIGH);//отпускание кнопки, подаём высокий уровень сигнала на 7 пин } else if (input_string=="OFF_1"){Serial.print("YES!"); //n1.toCharArray(n,20); sms.SendSMS(n, smsDv);//отправка ответа на номер из переменной n с содержанием массива smsDv sms.DeleteSMS(1); memset(n,0,20); input_string=""; char smsbuffer[160]=""; digitalWrite(8,LOW); delay(1000); digitalWrite(8,HIGH); } } sms.DeleteSMS(pos); // удаляем СМС из сим-карты } } void getsms()//функция получения непрочитанной смс { sms.GetSMS(pos,n,20,smsbuffer,160);//получаем, присваиваем номер, input_string =String(smsbuffer);// в переменную переносится содержимое массива smsbuffer }
Naher90 - вам уже на ардуино.ру сказали. что так вопрос не задают. Вместо того. чтоб исправится - вы на другой форум пришли. Что значит "работать не хочет"? Или вы ждете что кто-то соберет макет и будет проверять ваш код вживую? Не слишком ли много внимания ради просто го вопроса в форуме?
Злые Вы, блин все. Не чтобы оторваться от порнхаба и порыться «по просторам», найти там код ТС, прочитать что он должен делать. Потом взять хрустальный шар и узнать чего от этого кода ожидает ТС, потом запустить его, посмотреть что именно работает не так, как ожидает ТС, всё исправить, выложить для ТС готовый исправленный код и спросить куда можно перевести денежку за полученное от всего этого удовольствие. Я вот всегда так поступаю А Вы чё-та от бедного ТС требуете. Для чего тогда вообще форумы, если ТС всё сам объяснять должен?