Управляем реле с SIM800L и Arduino

Тема в разделе "Проводная и беспроводная связь", создана пользователем T1ZE, 21 апр 2019.

  1. T1ZE

    T1ZE Нуб

    Привет форумчане! Собрал вот такую схему Управляем реле с помощью 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 = "";
    }
    }
     
  2. DetSimen

    DetSimen Гуру

    первая же строчка не так. сравни с аригиналом.
     
    Airbus нравится это.
  3. parovoZZ

    parovoZZ Гуру

    а чо инклюдим? Если ничо, то стереть.
     
    Airbus нравится это.
  4. DetSimen

    DetSimen Гуру

    У него просто чота в скопировать/вставить пошло не так.
     
    Airbus нравится это.
  5. parovoZZ

    parovoZZ Гуру

    а что дальше будет? Страшно даже представить. Хоть бы учебник по языку открыл бы....
     
  6. Airbus

    Airbus Радиохулиган

    Какую именно ошибку?А если так-без мусора?
    Код (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 = "";
    }
    }
     
    У меня скомпилилось-в железе пока проверить не могу.попробуйте.