Привет форумчане! Собрал вот такую схему Управляем реле с помощью SIM800L и Arduino http://digitrode.ru/computing-devic...lyaem-rele-s-pomoschyu-sim800l-i-arduino.html. Загружаю скеч та что в описании не хочет записываться, выдает ошибку. Хотя для проверки ардуино загрузил скеч где мерцает светодиод, все нормально записалось и работало. Кто понимает посмотрите что не так пожалуйста на скеч в чем ошибка там. Спойлер #include SoftwareSerial mySerial(10,11); // (Rx,Tx > Tx,Rx) char incomingByte; String inputString; int relay = 13; // Выход для управления реле void setup() { pinMode(relay, OUTPUT); digitalWrite(relay, LOW); // Исходное состояние реле Serial.begin(9600); mySerial.begin(9600); while(!mySerial.available()){ mySerial.println("AT"); delay(1000); Serial.println("Connecting..."); } Serial.println("Connected!"); mySerial.println("AT+CMGF=1"); // Установка SMS в текстовый режим delay(1000); mySerial.println("AT+CNMI=1,2,0,0,0"); // Процедура обработки вновь полученных сообщений delay(1000); mySerial.println("AT+CMGL=\"REC UNREAD\""); // Прочитать непрочитанные сообщения } void loop() { if(mySerial.available()){ delay(100); // Последовательный буфер while(mySerial.available()){ incomingByte = mySerial.read(); inputString += incomingByte; } delay(10); Serial.println(inputString); inputString.toUpperCase(); // включить или выключить реле if (inputString.indexOf("ON") > -1){ digitalWrite(relay, HIGH); } if (inputString.indexOf("OFF") > -1){ digitalWrite(relay, LOW); } delay(50); // Удалить сообщения и сохранить память if (inputString.indexOf("OK") == -1){ mySerial.println("AT+CMGDA=\"DEL ALL\""); delay(1000);} inputString = ""; } }
Какую именно ошибку?А если так-без мусора? Код (C++): char incomingByte; String inputString; int relay = 13; // Выход для управления реле void setup() { pinMode(relay, OUTPUT); digitalWrite(relay, LOW); // Исходное состояние реле Serial.begin(9600); Serial.println("AT+CMGF=1"); // Установка SMS в текстовый режим delay(1000); Serial.println("AT+CNMI=1,2,0,0,0"); // Процедура обработки вновь полученных сообщений delay(1000); Serial.println("AT+CMGL=\"REC UNREAD\""); // Прочитать непрочитанные сообщения } void loop() { if(Serial.available()){ delay(100); // Последовательный буфер while(Serial.available()){ incomingByte = Serial.read(); inputString += incomingByte; } delay(10); Serial.println(inputString); inputString.toUpperCase(); // включить или выключить реле if (inputString.indexOf("ON") > -1){ digitalWrite(relay, HIGH); } if (inputString.indexOf("OFF") > -1){ digitalWrite(relay, LOW); } delay(50); // Удалить сообщения и сохранить память if (inputString.indexOf("OK") == -1){ Serial.println("AT+CMGDA=\"DEL ALL\""); delay(1000);} inputString = ""; } } У меня скомпилилось-в железе пока проверить не могу.попробуйте.