Не понятное поведение датчика движения

freehab
Offline
Зарегистрирован: 19.05.2014

Здравствуйте.
Столкнулся с непонятной проблемой, купили датчик движения, подключали по двум схемам(одна напрямую к ардуино, вторая через сопротивление). По любой из них результат не понятен.
При отдельном питании Ардуино выдает то HIGH то LOW было примерно 3-4 раза HIGH потом раз 10 LOW и так по кругу. При подключении через Ардуино всегда LOW отдает, только когда в MIN(или MAX точно не помню), выкручиваешь на датчике чуствительность, то всегда отдает HIGH 

Питание и через Arduino пытались и отдельно.

Контакты на датчике - просматривали, вроде бы не было никаких косяков.
 

Код:
 

#define pirPin 2

void setup()
{
  Serial.begin(9600);
  pinMode(pirPin, INPUT);
}

void loop()
{
  int pirVal = digitalRead(pirPin);
  Serial.println(pirVal);


  //Если обнаружили движение
  if(pirVal == HIGH)
  {
    Serial.println("Motion detected");
    delay(2000);
  }
  else
  {
    Serial.println("No motion");
  }
}

 

Фото датчика:

 

Клапауций
Offline
Зарегистрирован: 10.02.2013

не знаю, что там за тупняки с датчиком, но нафига это?

15   //Если обнаружили движение
 
19     delay(2000);

обнаружил движение и умер на две секунды?

freehab
Offline
Зарегистрирован: 19.05.2014

>>обнаружил движение и умер на две секунды?
Так это же просто тест, с учетом скорости печатания сообщения о том что нет движения, чтобы можно было заметить когда датчик поменяет свое состояние.