Помогите с кодом
- Войдите на сайт для отправки комментариев
Вс, 01/11/2015 - 23:04
Помогите с кодом
#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" в ответ на сообщение - команду. Что нужно дописать, что бы это происходило?
Соеденил вот так
Заранее спасибо!