Здравстуйте у меня следующая проблема я имею : gprs shield v2 и arduino at mega 2560 проблема в следующем я загружаю скетч "управление светодиодами с помощью смс " (http://wiki.amperka.ru/беспроводная-связь:gprs-shield) но пример не работает , плата не реагирует на мои сообщения , ввожу всё правильно , у меня просто загораются 2 светодиода . Пожалуйста помогите
Я уже читал подобного вида статьи во всех говориться что надо использовать в swserial не 7 и 8 а например 50 и 2 , я пробовал менять перемычки и даже брал мама папа и подключал от rx к 2 и от tx к 50 и пробовал менять местами но всё равно не чего не получается , после загрузки у меня просто загораются два светодиода и в монитор порта не чего не появляется
вот у меня тоже самое кажется (http://forum.amperka.ru/threads/Проблемы-с-gprs-shield-v2.2145/) но не могу разобраться что там до как помогите пожалуйста
Для начала. Не понятно почему у вас горят светодиоды. Совсем. Вы уверены, что правильно их подключили?
это вам к этим надо! ну а если серьёзно диоды гореть ни как не должны закомментируйте все digitalWrite повторно залейте скетч ! и забудьте про библиотеку SoftwareSerial.h на Mega 2560 ,там и так 4 аппаратных serial-порта!ну зачем телеге пятое колесо
Перемычки RX/TX ставим в положение HW пишем такой скетч // Управления 2 мя Светодиодами по СМС //для зелёного светодиода будем использовать второй цифровой вход, //а для жёлтого - третий int greenPin = 2; int yellowPin = 3; void setup() { Serial.begin(9600); pinMode(greenPin, OUTPUT); pinMode(yellowPin, OUTPUT); // Настраиваем приём сообщений с других устройств // Между командами даём время на их обработку Serial.print("AT+CMGF=1\r"); delay(300); Serial.print("AT+IFC=1,1\r"); delay(300); Serial.print("AT+CPBS=\"SM\"\r"); delay(300); Serial.print("AT+CNMI=1,2,2,1,0\r"); delay(500); } String currStr = ""; // Переменная принимает значение True, если текущая строка является сообщением boolean isStringMessage = false; void loop() { if (!Serial.available()) return; char currSymb = Serial.read(); if ('\r' == currSymb) { if (isStringMessage) { //если текущая строка - SMS-сообщение, //отреагируем на него соответствующим образом if (!currStr.compareTo("A")) { digitalWrite(greenPin, HIGH); } else if (!currStr.compareTo("B")) { digitalWrite(greenPin, LOW); } else if (!currStr.compareTo("C")) { digitalWrite(yellowPin, HIGH); } else if (!currStr.compareTo("D")) { digitalWrite(yellowPin, LOW); } isStringMessage = false; } else { if (currStr.startsWith("+CMT")) { //если текущая строка начинается с "+CMT", //то следующая строка является сообщением isStringMessage = true; } } currStr = ""; } else if ('\n' != currSymb) { currStr += String(currSymb); } } Компилим. Правильно выбираем порт и плату. Загружаем. Посылаем СМС А-латинская включается зелёный СД Посылаем СМС В-латинская выключается зелёный СД Посылаем СМС С-латинская включается жёлтый СД Посылаем СМС D-латинская выключается жёлтый СД. При желании можно менять число каналов и управляющие символы (A B C D ).Удачи!
Не получилось после загрузки свето диод загарается и горит пока не отключу питание , но в монитор порта он вывел AT+CAT+CMGF=1 AT+IFC=1,1 AT+CPBS="SM" AT+CNMI=1,2,2,1,0 AT+CAT+CMGF=1 AT+IFC=1,1 AT+CPBS="SM" AT+CNMI=1,2,2,1,0