Ложное срабатывание датчика движения с ардуино

bruce051
Offline
Зарегистрирован: 26.05.2020

Всё собрал по данному скетчу 

 

#define PIN_PIR 2
#define PIN_LED 13
 
void setup() {
  Serial.begin(9600);
 
  pinMode(PIN_PIR, INPUT);
  pinMode(PIN_LED, OUTPUT);
 
}
 
void loop() {
  int pirVal = digitalRead(PIN_PIR);
  Serial.println(digitalRead(PIN_PIR));
 
  //Если обнаружили движение
  if (pirVal)
  {
    digitalWrite(PIN_LED, HIGH);
    Serial.println("Motion detected");
    delay(10000);
  }
  else
  {
    //Serial.print("No motion");
    digitalWrite(PIN_LED, LOW);
  }
}
 
 
 
 
Выход цифрового контакта идет на базу транзистор. 
 
И казалось бы, вроде всё работает нормально. Датчик движения видит человека - срабатывает, подает питание на базу, транзистор открывается, и по нему течет ток на светодиодную ленту.
 
Но проблема в том, что он срабатывает даже когда НИКОГО НЕТ РАДОМ!! 
Я просто издалека вижу как он включается и отключается. 
 
Поставил такой же скетч на вторую ардуинку.
Только там вместо транзистора - реле, коммутирующая лампу 220в
 
Ситуация такая же! 
Самопроизвольное включение! 
Ардуинки нано
Подскажите пожалуйста, что я делаю не так??!
andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

А что, у самого датчика светодиода нет? 

Если есть - как он себя ведет безо всякой Ардуинки?

Если нет - подключите к выходу через резистор и точно так же проверьте.

bruce051
Offline
Зарегистрирован: 26.05.2020

andriano пишет:

А что, у самого датчика светодиода нет? 

Если есть - как он себя ведет безо всякой Ардуинки?

Если нет - подключите к выходу через резистор и точно так же проверьте.

У датчика нет светодиода. Вот здесь брал https://aliexpress.ru/item/4000203239929.html?spm=a2g0o.productlist.0.0.2e0f64d9TMujQl&algo_pvid=ad735ab8-3cca-49d4-bdfe-df2192e282e8&algo_expid=ad735ab8-3cca-49d4-bdfe-df2192e282e8-14&btsid=0b8b034a16127280626954569e9a61&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

sadman41
Offline
Зарегистрирован: 19.10.2016

INPUT_PULLUP

bruce051
Offline
Зарегистрирован: 26.05.2020

Вместо  pinMode(PIN_PIR, INPUT);

прописать  pinMode(PIN_PIR, INPUT_PULLUP);  

?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

bruce051 пишет:

Вместо  pinMode(PIN_PIR, INPUT);

прописать  pinMode(PIN_PIR, INPUT_PULLUP);  

?

И код, наконец, вставить по-человечески!

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

bruce051 пишет:

andriano пишет:

А что, у самого датчика светодиода нет? 

Если есть - как он себя ведет безо всякой Ардуинки?

Если нет - подключите к выходу через резистор и точно так же проверьте.

У датчика нет светодиода. Вот здесь брал ...

Я не спрашивал, где Вы его брали. Я посоветовал Вам подключить к выходу датчика светодиод, чтобы проверить, как датчик работает сам про себе без Ардуины. Обсуждать скетч, не зная, исправен ли датчик, бессмысленно.

bruce051
Offline
Зарегистрирован: 26.05.2020

sadman41 пишет:
INPUT_PULLUP

 

не помогло

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

bruce051 пишет:

не помогло

вывсёврёти!!!

bruce051
Offline
Зарегистрирован: 26.05.2020

andriano пишет:

bruce051 пишет:

andriano пишет:

А что, у самого датчика светодиода нет? 

Если есть - как он себя ведет безо всякой Ардуинки?

Если нет - подключите к выходу через резистор и точно так же проверьте.

У датчика нет светодиода. Вот здесь брал ...

Я не спрашивал, где Вы его брали. Я посоветовал Вам подключить к выходу датчика светодиод, чтобы проверить, как датчик работает сам про себе без Ардуины. Обсуждать скетч, не зная, исправен ли датчик, бессмысленно.

 

Подключил отдельно к датчику светодиод с резиком. 

Спецом установил датчик в темную коробку - всё ок - не срабатывает. 

Стоит его оттуда вынуть - подает сигнал на светодиод, через секунду гаснет, затем снова и снова. 

 

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Может сквозняки ловит

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

bruce051 пишет:

Спецом установил датчик в темную коробку - всё ок - не срабатывает. 

Стоит его оттуда вынуть - подает сигнал на светодиод, через секунду гаснет, затем снова и снова. 

Если Вас такое поведение устраивает - используйте. Если не устраивает - Ардуина его "исправить" не может.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

bruce051 пишет:

Всё собрал по данному скетчу 

Попытаемся понять схему данного устройства. На фото с али не видно номинала транзистора (или чего-то там) - что-то типа "HT3..."

Попытайтесь почитать с аналогового входа. Судя по схеме сборки - там есть возможность регулировать срабатывание от уровня освещенности.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Ладно - разобрался. Читайте документ по этому модулю. Чтобы он не реагировал на каждый пук - надо заменить резистор чувствительности. ВНИМАТЕЛЬНО ЧИТАЙТЕ

bruce051
Offline
Зарегистрирован: 26.05.2020

mykaida пишет:

Ладно - разобрался. Читайте документ по этому модулю. Чтобы он не реагировал на каждый пук - надо заменить резистор чувствительности. ВНИМАТЕЛЬНО ЧИТАЙТЕ

 

ок, спасибо!!!