Проблема с #include‹SoftwareSerial.h›

Тема в разделе "Arduino & Shields", создана пользователем vvoojj, 6 июн 2016.

  1. vvoojj

    vvoojj Нуб

    С Arduino только начинаю работать. Возникла ошибка:

    Код (Text):
    Arduino: 1.6.9 (Mac OS X), Плата:"Arduino/Genuino Uno"

    sketch_jun06a:1: error: #include expects "FILENAME" or <FILENAME>
    #include‹SoftwareSerial.h›;
             ^
    exit status 1
    #include expects "FILENAME" or <FILENAME>
     
    Код (C++):
    #include‹SoftwareSerial.h›;
    SoftwareSerial mySerial(2, 3); // RX, TX
    int ch = 0;
    int led = 13;
    String val = "";
    void setup() {
    delay(2000); //задержка для инициализации модуля
    pinMode(led, OUTPUT);
    digitalWrite(led, LOW);
    Serial.begin(9600); //устанавливаем скорость порта
    Serial.println("GSM tester v1.0");
    mySerial.begin(9600);
    mySerial.println("AT+CLIP=1"); //АОН будет включен
    delay(100);
    mySerial.println("AT+CMGF=1"); //обычный режим кодировки СМС
    delay(100);
    mySerial.println("AT+CSCS=\"GSM\""); //режим кодировки текста
    delay(100);
    }
    void loop() {
    if (mySerial.available()) { //если с GSM модуля что-топришлом, то
    while (mySerial.available()) { //сохраняем входную строку в переменную val
    ch = mySerial.read();
    val += char(ch);
    delay(10);
    }
    if (val.indexOf("RING") > -1) { //в случае обнаружения звонка проверяем номер
    if (val.indexOf("71234567890") > -1) { //если номер звонящего наш. Укажите свой номер без "+"
    Serial.println("--- MASTER RING DETECTED ---");
    mySerial.println("ATH0"); //разрываем связь
    digitalWrite(led, HIGH); //включаем светодиод на 3 сек
    delay(3000);
    digitalWrite(led, LOW); //выключаем реле
    }
    } else
    Serial.println(val); //печатаем в монитор порта пришедшую строку
    val = "";
    }
    if (Serial.available()) { //если в мониторе порта ввели что-то
    while (Serial.available()) { //сохраняем строку в переменную val
    ch = Serial.read();
    val += char(ch);
    delay(10);
    }
    //mySerial.println(val); //передача всех команд, набранных в мониторе порта в GSM модуль
    if (val.indexOf("sendsms") > -1) { //если увидели команду отправки СМС
    sms(String("hello world"), String("+71234567890")); //отправляем СМС на номер +7XXXXXXXXXX
    }
    val = ""; //очищаем
    }
    }
    void sms(String text, String phone) //процедура отправки СМС
    {
    Serial.println("SMS send started");
    mySerial.println("AT+CMGS=\"" + phone + "\"");
    delay(500);
    mySerial.print(text);
    delay(500);
    mySerial.print((char)26);
    delay(500);
    Serial.println("SMS send complete");
    delay(2000);
    }

    Открываем монитор порта и если все в порядке, то увидим следующую картину #include‹SoftwareSerial.h›;
    SoftwareSerial mySerial(2, 3); // RX, TX
    int ch = 0;
    int led = 13;
    String val = "";
    void setup() {
    delay(2000); //задержка для инициализации модуля
    pinMode(led, OUTPUT);
    digitalWrite(led, LOW);
    Serial.begin(9600); //устанавливаем скорость порта
    Serial.println("GSM tester v1.0");
    mySerial.begin(9600);
    mySerial.println("AT+CLIP=1"); //АОН будет включен
    delay(100);
    mySerial.println("AT+CMGF=1"); //обычный режим кодировки СМС
    delay(100);
    mySerial.println("AT+CSCS=\"GSM\""); //режим кодировки текста
    delay(100);
    }
    void loop() {
    if (mySerial.available()) { //если с GSM модуля что-топришлом, то
    while (mySerial.available()) { //сохраняем входную строку в переменную val
    ch = mySerial.read();
    val += char(ch);
    delay(10);
    }
    if (val.indexOf("RING") > -1) { //в случае обнаружения звонка проверяем номер
    if (val.indexOf("71234567890") > -1) { //если номер звонящего наш. Укажите свой номер без "+"
    Serial.println("--- MASTER RING DETECTED ---");
    mySerial.println("ATH0"); //разрываем связь
    digitalWrite(led, HIGH); //включаем светодиод на 3 сек
    delay(3000);
    digitalWrite(led, LOW); //выключаем реле
    }
    } else
    Serial.println(val); //печатаем в монитор порта пришедшую строку
    val = "";
    }
    if (Serial.available()) { //если в мониторе порта ввели что-то
    while (Serial.available()) { //сохраняем строку в переменную val
    ch = Serial.read();
    val += char(ch);
    delay(10);
    }
    //mySerial.println(val); //передача всех команд, набранных в мониторе порта в GSM модуль
    if (val.indexOf("sendsms") > -1) { //если увидели команду отправки СМС
    sms(String("hello world"), String("+71234567890")); //отправляем СМС на номер +7XXXXXXXXXX
    }
    val = ""; //очищаем
    }
    }
    void sms(String text, String phone) //процедура отправки СМС
    {
    Serial.println("SMS send started");
    mySerial.println("AT+CMGS=\"" + phone + "\"");
    delay(500);
    mySerial.print(text);
    delay(500);
    mySerial.print((char)26);
    delay(500);
    Serial.println("SMS send complete");
    delay(2000);
    }
     
     
  2. ИгорьК

    ИгорьК Гуру

    #include‹SoftwareSerial.h›;

    #include‹SoftwareSerial.h› уберите ";"
     
  3. vvoojj

    vvoojj Нуб

    Спасибо, но не помогло
     
  4. vvoojj

    vvoojj Нуб

    ага разобрался, код копировал, а надо было скобки поменять