Помогите подправить скетч вибродатчик SW-1801P
- Войдите на сайт для отправки комментариев
Ср, 13/09/2017 - 17:23
Доброго времени суток.
Скетч работает, но когда подключил сирену, от неё срабатывает вибродатчик и зацикливается сирена не отключается, нужно что то сделать сам не могу додуматься, чтобы сирена включалась на три минуты (уже сделано) и была пауза секунд 10-15, чтобы вибродатчик обнулился.
const int keyPin = 2; // вибродатчик SW-1801P
const int ledPin = 3; // управление реле
const int maxcount = 3000; // время удержания реле 3 секунды
int keyState = 0; // текущее состояние сенсора
int count = 0; // предыдущее состояние сенсора
int oldstat = 0; // в этой переменной будет хранится кол-во циклов без изменения состояния
void setup() {
pinMode(ledPin, OUTPUT); // устанавливаем состояния на выход
pinMode(keyPin, INPUT); // устанавливаем состояния с сеносором на получение входящих данных
}
void loop(){
keyState = digitalRead(keyPin); // берём значение с сенсора
if (keyState != oldstat) { // сравниваем его с предыдущим состоянием сенсора если состояния не равны, то
count=0; // сбрасываем состояние счётчика, и устанавливаем новое значение
oldstat = keyState;
}
if (count < maxcount){
digitalWrite(ledPin, HIGH); // устанавливаем состояние реле
}
else {
digitalWrite(ledPin, LOW);
}
if (count<=maxcount+1) { //что бы небыло переполнения переменной я ограничил максимальное число count, до maxcount+1 так как всё равно реле надо выключить
++count;
}
delay(1); // задержка в 1 милисекунду
}
А нельзя во время работы сирены просто не оправшивать вибродатчик - плевать на его показания?
Как это сделать?
А нельзя во время работы сирены просто не оправшивать вибродатчик - плевать на его показания?
Да, если это поможет моей проблеме тогда как это сделать?
Ну, Вы в правильной ветке, здесь Вам помогут, подождите немножко, я просто не беру здесь заказов.
если вопросик еще не решили, пишите webserpantin gmail.com
Спасибо всем, проблема решена, тема закрыта.