не корректно работает pir dyp me003 датчик
- Войдите на сайт для отправки комментариев
Чт, 12/07/2012 - 09:21
Всем привет!
купил на ebay pir датчик подключил к ардуино через сенсор-шелд
датчик завязал на светодиод.
светодиод постоянно загорается сам по себе
код программы
int ledPin = 12;
int switchPin = 2;
int value = 0;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(switchPin, INPUT); }
void loop()
{value = digitalRead(switchPin);
if (HIGH == value)
{digitalWrite(ledPin, HIGH);}
else { digitalWrite(ledPin, LOW); }
}
на датчике крутил и чувствительность в макс и в мин, если в максимум то вообще диод не тухнет даже когда в радусе действия ничего нет на протяжении долго времени.
вопрос возмоно ли понизить чувствительность помимо реле еще каким другим способом?
Для начала дайте ссылочку на датчик.
http://www.dypsensor.com/en/showproducts.asp?id=133
А как подключаете?
Судя по ссылке, питание у датчика 12 вольт и сигнал меняется от 0 до наряжения питания, а значит к входу дуины нужно подключаться через делитель. Вы это учли?
Выше с адресом ошибся с мобилника при медленном инете писать тяжко этот правильный http://www.ebay.com/itm/Infrared-PIR-Motion-Module-Sensor-for-Arduino-AR...
подключаю тремя кабелями, но сейчас написать не смогу, только завтра и вышлю фотку подключения
по подключению от датчика к шелду
Gnd-G
Out-S(signal)
+5V-V
подключал датчик автономно от ардуино через батарейки и светодиод аналогично ложные срабатывания.
что делать? помогите!
Если все правильно подключаете, то скорее всего не исправен датчик.
у датчика активный уровень низкий, по вашей программе светодиод наоборот гаснет при обнаружении движения.
нужно так:
void loop()
{value = digitalRead(switchPin);
if (value == LOW)
{digitalWrite(ledPin, HIGH);}
else { digitalWrite(ledPin, LOW); }
}
Это вы откуда такое взяли? Конкретно у данного датчика был и есть актиный уровень - высокий.
нашел ошибку неисправный датчик, из китая привезли еще партию все работает отлично.