Почему не отсылается СМС ???
- Войдите на сайт для отправки комментариев
Пнд, 09/05/2016 - 11:01
int sensorPin = 0; // Пин, на котором у нас висит сенсор газа аналоговый вход 0 int redled = 2; // Пин с красным светодиодом цифровой выход 2 int yelowled = 3; // Пин с желтым светодиодом цифровой выход 3 int greenled = 4; // Пин с зеленым светодиодом цифровой выход 4 int gas = 0; // Переменная для хранения значения газового сенсора int rele = 5; // Пин для реле клапана unsigned long SMSlastsenttime = 0; void setup() { Serial.begin(9600); // Инициализируем серийный порт будем слать в него данные измерения Serial.println("AT+CMGF=1\r"); // устанавливает текстовый режим смс-сообщения Serial.print("AT+IFC=1, 1\r"); // устанавливает программный контроль потоком передачи данных delay(300); Serial.println("AT+CNMI=1,2,2,1,0\r"); // Настройка вывода смс в консоль. У вас может отличатся! delay(500); pinMode(greenled, OUTPUT); // Объявляем 2,3,4 и 5 пины, как выходы pinMode(yelowled, OUTPUT); pinMode(redled, OUTPUT); pinMode(rele, OUTPUT); gas = analogRead(sensorPin); digitalWrite(greenled, HIGH); digitalWrite(yelowled, LOW); digitalWrite(redled, LOW); delay (800); digitalWrite(greenled, LOW); digitalWrite(yelowled, HIGH); digitalWrite(redled, LOW); delay (800); digitalWrite(greenled, LOW); digitalWrite(yelowled, LOW); digitalWrite(redled, HIGH); delay (800); tone(10, 900, 200); } void loop() { gas = analogRead(sensorPin); // Получаем значения от датчика газа if (gas <= 350) { digitalWrite(greenled, HIGH); digitalWrite(yelowled, LOW); digitalWrite(redled, LOW); } else if (gas > 350, gas <= 400) { tone(10, 900, 200); digitalWrite(greenled, LOW); digitalWrite(yelowled, HIGH); digitalWrite(redled, LOW); } else if ((gas >= 400) && ( millis() - SMSlastsenttime > 10000 || SMSlastsenttime == 0 ) ) { tone(10, 740, 200); digitalWrite(rele, HIGH); digitalWrite(greenled, LOW); digitalWrite(yelowled, LOW); digitalWrite(redled, HIGH); Serial.println ("AT + CMGS = \"+375336873525\""); // укажите свой номер! delay(100); Serial.println("ALLARM gas"); delay(100); Serial.println((char)26); delay(100); SMSlastsenttime = millis(); } Serial.print("Pokazaniya datchika MQ-9 = "); Serial.println(gas); delay(1000); }
Помогите почему не отсылаеться СМС сообщение ???
Есть ли у Вас возможность "перевесить" GSM-модуль с пинов 0,1 на другие пины и работать с ним через SoftwareSerial ? Так будет гораздо удобнее решать проблемы, поскольку сейчас Вы не можете даже видеть, принимает ли GSM-модуль команды, что он отвечает и т.п.
Если возможность "перевесить" есть, почитайте тему http://arduino.ru/forum/programmirovanie/rabota-s-sim900-0, там приводится вполне рабочий код отправки SMS.
UPD: А какая, собственно, модель Ардуино у Вас ? Не Mega случайно ?
Arduino uno
Ну тогда, повторюсь, стоит подумать о SoftwareSerial, а Serial освободить для получения отладочной информации с GSM-модуля.