Arduino для отправки смс только один раз при нажатии кнопки
LED_UPDATE() вызывается в моей функции loop(), я реализовал ее (все равно пробовал), для отправки смс, как показано в коде, чтобы было отправлено только одно смс, потому что, поскольку loop() продолжает вызывать LED_UPDATE(), он будет отправлять смс каждые время (да, вы уже догадались, очень плохо для кредита :o )
любые советы о том, как я могу обойти это или что я делаю неправильно в своем коде, будут очень признательны.
ps чуть не оставил свой мобильный телефон в коде, лол
void LED_UPDATE(int state)
{
int count; // инициализируется нулем, как только программа запустится, она автоматически войдет в состояние ==1
if (state == 1)
{
digitalWrite(RED_PIN, LOW);
digitalWrite(GREEN_PIN, HIGH);
count=0;
}
else if (state == 2)
{
count+=1;
Red_Blink();
if(count == 1 )
{
sms.SendSMS("086XXXXXXX", "PANIC BUTTON PRESSED, Subject needs help!!!");
}
}
@LearningDev, 👍1
Обсуждение1 ответ
Лучший ответ:
▲ 0
Вы сбрасываете счетчик
каждый раз, когда входите в функцию.
static int count; // инициализируется нулем, один раз.
Добавление оператора static должно инициализировать переменную один раз и сохранять ее значение между вызовами.
,
@Transistor
Смотрите также:
- Какой тип разъема использует система GROVE?
- Проблема с получением SMS - GSM-модуль Arduino Uno и SIM900A
- SIM900 3G? Или SIM900A умеет подключаться к 3G?
- Мини-модем SIM900a, IMEI 0, помощь с контактами TX RX
- Как получить данные из базы данных моего сервера в переменную в моем Arduino?
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- SIM800L не регистрируется в сети
- Как проверить, работает ли GSM-модуль?
Не могли бы вы добавить код в sms.SendSMS(string phoneno,string msg), @Jahnavi Reddy