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