GMS отправляет текстовые сообщения SMS много раз
GSM отправляет много текстовых SMS-сообщений и не останавливается. Как отправить только одно SMS? Это мой код:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(9, 10);
char msg;
int vibr_pin = 7;
void setup() {
mySerial.begin(9600); // Установка скорости передачи GSM-модуля
Serial.begin(9600); // Установка скорости передачи Serial Monitor (Arduino)
pinMode(vibr_pin, INPUT);
delay(100);
}
void loop() {
int a;
a = digitalRead(vibr_pin);
if (a == 0) {
mySerial.println("AT+CMGF=1"); // Устанавливает модуль GSM в текстовый режим
delay(1000); // Задержка 1000 миллисекунд или 1 секунда
mySerial.println("AT+CMGS=\"+60125456758\"\r"); // Заменить x на номер мобильного телефона
delay(1000);
mySerial.println("test 1,2,3"); // Текст SMS, который вы хотите отправить
delay(100);
mySerial.println((char) 26); // ASCII-код CTRL+Z
delay(1000);
}
}
ИЗМЕНИТЬ:
После того, как я изменил if (a==0)
на if(a!=0)
, он отправляет сообщение только при движении датчика вибрации. Как отправить смс, если датчик не двигается?
@abubakarradzi, 👍-1
Обсуждение1 ответ
int a;
a = digitalRead(vibr_pin);
if (a == 0) {
Это отправляет текстовое SMS-сообщение каждый раз, когда a равно 0. Я не уверен, что делает vibr_pin, но, возможно, вы хотите проверить только наличие триггера (от a != 0
до а == 0
).
В этом случае используйте логическое значение, чтобы проверить, было ли отправлено текстовое SMS-сообщение, и сбросьте логическое значение, когда a изменится с !=0
на 0
.
после того, как я изменю if (a == 0) на if (a! = 0), он отправляет сообщение только при движении датчика вибрации. как отправить смс если датчик не двигается, @abubakarradzi
Используйте логическое значение (проверьте, когда датчик переходит от неподвижного к движущемуся или наоборот). Когда это логическое значение установлено (или сброшено), отправьте SMS и измените логическое значение., @Michel Keijzers
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- SIM800L не регистрируется в сети
- Модуль SIM808 GSM работает нормально, GPS не работает (нет сообщения о готовности GPS при включении питания)
- Чтение SMS с помощью Arduino Uno и SIM800L и печать на LCD (16x2 буквенно-цифровых) с использованием последовательного соединения
- Подключение модема GSM напрямую к Rx и Tx
- Sim800 FTP Arduino
- GSM и GPS-модуль не работают вместе
- SIM800L не отвечает на AT-команды
мой датчик вибрации sw-420, @abubakarradzi
используйте переменную
flag
, чтобызапомнить
, если вы отправили сообщение, @jsotola