Ви не увійшли.
Сторінки 1
Датчик удару/вібрації https://arduino.ua/prod3603-modyl-datchika-ydara-801s використовуючи код
if (digitalRead(2)!= digitalRead(2))
{
Serial.println("Тест");
}
дає декілька записів в монітор. Яким чином визначити лише одну реакцію на удар.
Замість Serial.println("Тест"); пишу рядок відправки SMS, але так як значень дії датчика декілька, то відповідно SMS-ок, приходить декілька.
Як зробити, щоб на удар пішла лише одна SMS і при першому проходженні умови не приходила SMS, а лише тільки тоді коли відбулася дія по датчику?
P.S. на датчику встановлено максимальну чуттєвість.
Неактивний
Разберитесь самостоятельно с этим примером:
val = digitalRead(2);
if (val != oldval) {
oldval = val;
Serial.println("Тест");
if (millis() - tmignore > 0) {
tmignore = millis() + 60*1000;
Serial.println("SMS");
}
}
Неактивний
Попробував:
val = digitalRead(2);
if (val != oldval)
{
oldval = val;
if (millis() - tmignore > 5000)
{
tmignore = millis();
Serial.println("SMS");
}
}
Пару разів (ударів) спрацьовує нормально, далі "пачка" в Serial SMS-ок.
Проблема схоже з тим, що датчик може зупинитися на любому рівні LOW/HIGH (якщо судити по індикації світлодіоду на датчику 801S).
P.S. Згодом...
Спочатку у даному коді дав, автоматом, визначення змінної tmignore як int, що було помилкою, замінивши на uint32_t поки все норм працює.
Дякую Honey за допомогу.
Остання редакція Partyzan (2022-01-08 17:32:04)
Неактивний
Заведите переменную - флаг. Если флаг не выставлен и сработал датчик-отправили смс, флаг взвели. Через заданный интервал или по условию флаг сбрасываете и все повторяется
Попробую ще з флагом змінної (правда поки не дуже з цим).
З'ясував, що датчик не особливо то регулює чуттєвість, або потрібно норм так приложитися, щоб спрацював, або трошки зачепи щоб була дія.
Ще думаю спробувати приєднати такий https://fastdrive.com.ua/62290-dvuhzonovyy_datchik_udara_analogovyy_convoy_fss-2.html, тут нормальне регулювання чутливості і є два виходи, зона попередження і тривоги. Правда не відомі параметри виходу.
Неактивний
I have encountered a similar problem recently, and I am trying to solve it
Неактивний
Сторінки 1