Помогите с кодом

COBA_B_HOCKAX
Offline
Зарегистрирован: 01.11.2015

Помогите с кодом

 

#include <SoftwareSerial.h>
 
SoftwareSerial gprsSerial(7, 8);
 
//для запуска ПК - 3 пин,
//для включения/выключкеия 2 - 2 пин,
//для включения/выключкеия 3 - 4 пин,
//для включения/выключкеия 4 - 4 пин
int onePin = 3;
int twoPin = 2;
int threePin = 4;
int fourPin = 5;

int btnPin = 12;
boolean prevBtn = HIGH;
 
void setup()
{
    gprsSerial.begin(19200);
    pinMode(onePin, OUTPUT);
    pinMode(twoPin, OUTPUT);
    pinMode(threePin, OUTPUT);
    pinMode(fourPin, OUTPUT);
 
    // Настраиваем приём сообщений с других устройств
    // Между командами даём время на их обработку
    gprsSerial.print("AT+CMGF=1\r");
    delay(300);
    gprsSerial.print("AT+IFC=1, 1\r");
    delay(300);
    gprsSerial.print("AT+CPBS=\"SM\"\r");
    delay(300);
    gprsSerial.print("AT+CNMI=1,2,2,1,0\r");
    delay(500);

}
 
String currStr = "";
// Переменная принимает значение True, если текущая строка является сообщением
boolean isStringMessage = false;
 
void loop()
{
    if (!gprsSerial.available())
        return;
    
    char currSymb = gprsSerial.read();    
    if ('\r' == currSymb) {
        if (isStringMessage) {
            //если текущая строка - SMS-сообщение,
            //отреагируем на него соответствующим образом
            if (!currStr.compareTo("Reset")) {
                digitalWrite(onePin, LOW);
                digitalWrite(twoPin, LOW);
                digitalWrite(threePin, LOW);
                digitalWrite(fourPin, LOW);                
                
            } else if (!currStr.compareTo("PC")) {
                digitalWrite(onePin, HIGH);
                delay(1000);
                digitalWrite(onePin, LOW);
                delay(1000);
            
            } else if (!currStr.compareTo("2 off")) {
                digitalWrite(twoPin, LOW);

                
            } else if (!currStr.compareTo("2 on")) {
                digitalWrite(twoPin, HIGH);
                
            } else if (!currStr.compareTo("3 off")) {
                digitalWrite(threePin, LOW);
            } else if (!currStr.compareTo("3 on")) {
                digitalWrite(threePin, HIGH);
                
            } else if (!currStr.compareTo("4 off")) {
                digitalWrite(fourPin, LOW);
            } else if (!currStr.compareTo("4 on")) {
                digitalWrite(fourPin, HIGH);
            }
            isStringMessage = false;
        } else {
            if (currStr.startsWith("+CMT")) {
                //если текущая строка начинается с "+CMT",
                //то следующая строка является сообщением
                isStringMessage = true;
            }
        }
        currStr = "";
    } else if ('\n' != currSymb) {
        currStr += String(currSymb);
    }

}

Мне нужно, когда геркон (она же кнопка только магнитная) размыкался происходил звонок на телефон. Ещё что бы приходило сообщение "Complete!" или "Error" в ответ на сообщение - команду. Что нужно дописать, что бы это происходило?

Соеденил вот так

COBA_B_HOCKAX
Offline
Зарегистрирован: 01.11.2015

Заранее спасибо!