Подключение сторонних датчиков

Awesome_T
Offline
Зарегистрирован: 14.10.2018

Приветствую!

Прикрутил 2 датчика HC-RS501 к разным пинам UNO,  для минимизации ложного страбатывания, прописал код

...........

void loop()
{

    if ( (digitalRead(SensorPIR1_PIN)==LOW)||(digitalRead(SensorPIR2_PIN)==LOW))
    {
        Serial.println("Никого нет");
        delay(2000);
    }
....... .//прочий коД
}
Awesome_T
Offline
Зарегистрирован: 14.10.2018

Все было вроде хорошо, до поры до времени, пока оба датчика на следующий день не стали возвращать HIGH  (ну или единицу), даже если движения не было и в помине. Поковырял железки и понял, что проблема именно с этими датчиками, их "заклинило"  они постоянно отдают HIGH..

 

Вопрос в слудующем :

Возможно тли прикрутить обычный датчик объема, отдельно запитать его, а сигнал измерять через digitalRead

датчики уж слишком не надежные,

 

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

Прикрутить-то можно всё, что угодно, но не думаю, что дело в датчиках. Скороее проблема в их подключении и в прошивке. Ни то, ни другое Вы нам не показали.

Awesome_T
Offline
Зарегистрирован: 14.10.2018

ЕвгенийП пишет:

Прикрутить-то можно всё, что угодно, но не думаю, что дело в датчиках. Скороее проблема в их подключении и в прошивке. Ни то, ни другое Вы нам не показали.

Собственно код ниже привден....

смотрю сейчас в сторону датчиков движения, у которых сила выходного тока до 5V ..... есть еще идея - понизить напряжение, если выше 5, дабы ардуину не спалить, а после через АЦП........

Что посоветуете?

// Visual Micro is in vMicro>General>Tutorial Mode
// 
/*
Name:       WC_CAT.ino
Created:  30.09.2018 11:11:48
Author:     DESKTOP-D74HPNT\Awesome-T_NB
*/

// Define User Types below here or use a .h file
//
#define PIRSensor1_PIN			11				// ПИН для 1го датчика 
#define PIRSensor2_PIN			10				// ПИН для 2го датчика 
#define Pump_PIN				5				// ПИН для Помпы
#define RotorMotion_PIN			6				// ПИН для Роторного двигателя, приводящего в движение ленту
#define ServioMotor_PIN			7               // ПИН сервопривода для 
#define WaterLevelSensor_PIN	8				// ПИН попловка датчик уровня воды
#define WaterStoper_PIN			9               // ПИН электроклапана для подачи воды в бак
#define AirIonizer_PIN			4				// ПИН для реле - ионизатора
int calibrationTime =			3000;           //Время калибровки датчика (10-60 сек. по даташиту)
int TimeToAirIonizerIsOn =		240000;			// 5 мин время работы AirIonizer_PIN

// The setup() function runs once each time the micro-controller starts
void setup()
{
	Serial.begin(9600);
	pinMode(PIRSensor1_PIN, INPUT);					//Настроим ПИН для даткика объема1 ка ВХОД
	pinMode(PIRSensor2_PIN, INPUT);					//Настроим ПИН для даткика объема2 ка ВХОД
	pinMode(Pump_PIN, OUTPUT);						//Настроим ПИН реле для Помпы как ВЫХОД
	pinMode(RotorMotion_PIN, OUTPUT);               //Настроим ПИН реле для ротора как ВЫХОД
	pinMode(ServioMotor_PIN, OUTPUT);               //Настроим ПИН реле для Сервопривода как ВЫХОД
	pinMode(WaterLevelSensor_PIN, INPUT_PULLUP);	//Настраиваем ПИН датчика уровня воды
	pinMode(WaterStoper_PIN, OUTPUT);               // реле для клапана в режим ВЫХОД
	pinMode(AirIonizer_PIN, OUTPUT);				//Настроим ПИН реле для ионизатора
}
void loop()
{
	int ReadPIRSensor1= digitalRead(PIRSensor1_PIN);
	int ReadPIRSensor2 =digitalRead(PIRSensor2_PIN);
	int TwoPIRSensers = ReadPIRSensor1 + ReadPIRSensor2;
	int TimeToWaiting = 30000;						// переменная для хианения периода опроса -30 сек
	int TimeToCleaning = 45000;
	
	while ((ReadPIRSensor1 == LOW)||(ReadPIRSensor2 == LOW));
	{
		Serial.println("Ждем появление объекта");	//абсолютно бесполезный кусок кода просто для просмотра работы
		delay(TimeToWaiting);						// минутная зажержка 
	}
	//объект появился, теперь ждем, когда он покинет наблюдаемую зону

	while ((ReadPIRSensor1 == HIGH) || (ReadPIRSensor2 == HIGH));
	{
		delay(TimeToWaiting);						// -30 сек ждем
	}
	//выходим из цикла, когда объект покинул наблюдаемую зону
	if ((ReadPIRSensor1 == LOW) && (ReadPIRSensor2 == LOW))//Проверяем нет ли внутри кошки
	{
		digitalWrite(ServioMotor_PIN, HIGH);		//закрываем дверь сервопроводом
		delay(5000);								//ждем 5 секунд
		if ((ReadPIRSensor1 == LOW) || (ReadPIRSensor2 == LOW))//если движения после закрытия двери нет
	{
		digitalWrite(RotorMotion_PIN, HIGH);		//запускаем роторный двигатель
		digitalWrite(Pump_PIN, HIGH);				//Включаем помпу
		delay(TimeToCleaning);						//цикл длится =TimeToCleaning
		digitalWrite(RotorMotion_PIN, LOW);			//Выключаем роторный двигатель
		digitalWrite(Pump_PIN, LOW);				//Выключаем помпу
		digitalWrite(ServioMotor_PIN, LOW);			//Открываем дверь сервопроводом
	}
		else										//если движение после 5 секундной задержки БЫЛО - открыть и выпустить животное
		{
			digitalWrite(ServioMotor_PIN, LOW);		//открываем дверь сервопроводом
			
			while ((ReadPIRSensor1 == HIGH) || (ReadPIRSensor2 == HIGH));// Ждем пока оба датчика покажут  - 0
			{
				delay(TimeToWaiting);						// -30 сек ждем
			}

			if ((ReadPIRSensor1 == LOW) || (ReadPIRSensor2 == LOW))//если движения нет
			{
				digitalWrite(ServioMotor_PIN, HIGH);		//Закрываем дверь сервопроводом
				digitalWrite(RotorMotion_PIN, HIGH);		//запускаем роторный двигатель
				digitalWrite(Pump_PIN, HIGH);				//Включаем помпу
				delay(TimeToCleaning);						//цикл длится =TimeToCleaning
				digitalWrite(AirIonizer_PIN, HIGH);			// Включаем Ионизатор
				digitalWrite(RotorMotion_PIN, LOW);			//Выключаем роторный двигатель
				digitalWrite(Pump_PIN, LOW);				//Выключаем помпу
			}
		}
	}
	
	while (!digitalRead(WaterLevelSensor_PIN) == HIGH)		// если нет сигнала от датчика уровня воды в резервуаре
	{
		digitalWrite(WaterStoper_PIN, HIGH);				// открыть кран для пополнения бака
	}

	digitalWrite(WaterStoper_PIN, LOW);						// Выключаем залив воды в резервуар
	delay(TimeToAirIonizerIsOn);							// Ждем 5 мин
	digitalWrite(AirIonizer_PIN, LOW);						// Выключаем Ионизатор
	digitalWrite(ServioMotor_PIN, LOW);						// Открываем дверь сервопроводом
}

 

jdigreze
Offline
Зарегистрирован: 14.01.2018

Awesome_T пишет:

Поковырял железки и понял, что проблема именно с этими датчиками, их "заклинило"  они постоянно отдают HIGH..

Случайно дело не в настройке?

Цитата:

Режим работы модуля задается перемычкой . Есть два режима — режим H и режим L. 

Режим H — в этом режиме при срабатывании датчика несколько раз подряд на его выходе (на OUT) остается высокий логический уровень.

Режим L — в этом режиме на выходе при каждом срабатывании датчика появляется отдельный импульс

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

Awesome_T пишет:

Что посоветуете?

1. Быть внимательнее и аккуратнее. Заявления типа

Awesome_T пишет:
сила выходного тока до 5V
Awesome_T пишет:
2 датчика HC-RS501
Показывают недопустимую для пограммиста небрежность в выражении своих мыслей.

2. Включить вывод предупреждений компилятора

и внимательно читать о чём он Вас предупреждает.

Тогда Вы смогли бы избежать очевидных ошибок в строках №№ 20 и 41, которых вполне достаточно, чтобы у Вас ничего не работало даже при идеальном всём остальном.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Awesome_T пишет:

 у которых сила выходного тока до 5V 

Это как это, а? Не находите фразу странной?

Awesome_T
Offline
Зарегистрирован: 14.10.2018

ЕвгенийП пишет:

Awesome_T пишет:

Что посоветуете?

1. Быть внимательнее и аккуратнее. Заявления типа

Awesome_T пишет:
сила выходного тока до 5V
Awesome_T пишет:
2 датчика HC-RS501
Показывают недопустимую для пограммиста небрежность в выражении своих мыслей.

Конечно, этот цифровой датчик на выходе дает 3.3V....

Однако, так и не понял, возможно ли подключить lдатчик и перед подключением к ардуине понизить до необходимых 3.3 или 5??

ЕвгенийП пишет:

2. Включить вывод предупреждений компилятора

и внимательно читать о чём он Вас предупреждает.

Тогда Вы смогли бы избежать очевидных ошибок в строках №№ 20 и 41, которых вполне достаточно, чтобы у Вас ничего не работало даже при идеальном всём остальном.

Спасибо, отладку чере VS проводил и по невнимательности пропустил... спсб!

Awesome_T
Offline
Зарегистрирован: 14.10.2018

Увы, нет...

вот простейший код для этого датчика

#define PIR_PIN 11
void setup()
{
Serial.begin(9600);
pinMode(PIR_PIN, INPUT);
}
void loop()
{
int X =digitalRead(PIR_PIN);
if (X== HIGH)
{
Serial.println("Motion");
delay(2000);
}
else
{
Serial.println("No motionя");
delay(2000);
}
}

Проблема осталась - датчик возвращает 1 при любом исходе...

Хотя на том же коде еще пару дней назад было все ОК.....

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

Awesome_T пишет:

ЕвгенийП пишет:

1. Быть внимательнее и аккуратнее. Заявления типа

Awesome_T пишет:
сила выходного тока до 5V
Awesome_T пишет:
2 датчика HC-RS501
Показывают недопустимую для пограммиста небрежность в выражении своих мыслей.

Конечно, этот цифровой датчик на выходе дает 3.3V....

Да, нет, Вы так ничего и не поняли из того, что я пытался сказать.

1. Датчик не "HC-RS501", а "HC-SR501"

2. "сила выходного тока" в вольтах не измеряется.

Это как раз небрежность в выражении своих мыслей. И программирование такой небрежности не прощает.

Awesome_T пишет:

Однако, так и не понял, возможно ли подключить lдатчик и перед подключением к ардуине понизить до необходимых 3.3 или 5??

Я же Вам писал, что

ЕвгенийП пишет:

Прикрутить-то можно всё, что угодно

чего Вы тут не поняли? Только проблема у Вас не в датчике. Чтобы что-то подключать, нужно сначала перестать измерять ток в вольтах.

Awesome_T
Offline
Зарегистрирован: 14.10.2018

На просторе интернета, наткнулся вот на такой датчик, если верить описанию - это как раз датчик присутствия

https://www.sparkfun.com/products/14349

Кто то может использовал уже такое, или может дать наводку, на датчики присуствия?

Заранее благодярен)

 

b707
Offline
Зарегистрирован: 26.05.2017

Awesome_T - кончайте фигней страдать. Или страдайте ей молча, не отвлекая форум :)

Ваши проблемы явно растут не из плохих датчиков, поэтому покупать другой вам смысла нет.

 

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

Ну, во-первых, по поводу Вашего "простейшего" кода. Вы бы посмотрели что он реально возвращает. Если нет осциллографа, то хотя бы analogRead используйте и посмотрите. Кроме того, Вы его даташит читали? Он может до 200 сек. помнить, что что-то видел и возвращать 1,хотя всё ужедавно исчезло.

А Ваш вопрос про датчик - ну Вы хотя бы как-то задачу обозначили. Вы же не написали ни расстояние обнаружения, ни возможность наличия препятствий, ни режима освещеённости места установки - ничего. И как Вам советовать что-то?

По мне так лучше бырать не инфракрасный, а микроволновый - ему и стенки пофиг и посторонние теполвые засветки. Например 1 или 2

Awesome_T
Offline
Зарегистрирован: 14.10.2018

Ну собственно, форму - это место для обсуждения=)

К тому же, я указал что после получения оба работали норм, сейчас возвращают 1 даже если движения нет....

 

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

Вы проверили что он реально выдаёт, как я Вамговорил? Если нет, то это не осбуждение, а трата времени. Если проверили - давайте результат сюда.

Awesome_T
Offline
Зарегистрирован: 14.10.2018

ЕвгенийП пишет:

А Ваш вопрос про датчик - ну Вы хотя бы как-то задачу обозначили. Вы же не написали ни расстояние обнаружения, ни возможность наличия препятствий, ни режима освещеённости места установки - ничего. И как Вам советовать что-то?

Евгений, спасибо за ответ

Теперь о сути проблемы и зачем все это......

Хочу автоматизировать процесс уборки за своими 4хлапыми ... за кошками )))

Датчик объема нужен для обнаружения кошки внутри  закрытого кошачьего туалета.

высота - 40 см длинна 50 см глубина 70см, итого общий объем 0,14м^3

внутри  освещения нет, датчик ультразвуковой, наврятли подойдет, поскольку влажность может до 70% подниматься....

у датчика PIR плата под корпусом спрятать можно и обработать специальным спреем, для защиты от влаги

как то так....

strarbit
Offline
Зарегистрирован: 12.06.2016

с чего не применяете пассивный инфракрасный детектор с сертификатом? Хорошо работает, ошибка нет.

Awesome_T
Offline
Зарегистрирован: 14.10.2018

ЕвгенийП пишет:

Ну, во-первых, по поводу Вашего "простейшего" кода. Вы бы посмотрели что он реально возвращает. Если нет осциллографа, то хотя бы analogRead используйте и посмотрите.

#define PIR_PIN A2
void setup()
{
  Serial.begin(9600);
}
void loop()
{
  int X = analogRead(PIR_PIN); 
  Serial.println(X); 
}

Вот что выдает

18:10:48.458 -> 665
18:10:48.458 -> 665
18:10:48.458 -> 665
18:10:48.458 -> 665
18:10:48.458 -> 665
18:10:48.458 -> 665
18:10:48.458 -> 665
18:10:48.458 -> 665
18:10:48.458 -> 665
18:10:48.458 -> 665
18:10:48.458 -> 665
18:10:48.458 -> 665
18:10:48.458 -> 665

665  шагов в среднем... если каждый шаг = 0.0049 Вольт, то напряжение 3.258 Вольта

поскольку на выходы при получении сигнала датчик выдает или практически 3.3 - это то же что и было при подключении через цифровой выход...... опять HIGH\1\3.3v

и это при том, что движения около него нет!(((((

 

ЕвгенийП пишет:

Кроме того, Вы его даташит читали? Он может до 200 сек. помнить, что что-то видел и возвращать 1,хотя всё ужедавно исчезло.

Awesome_T
Offline
Зарегистрирован: 14.10.2018

Спсб, а можно ссылку?)

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Awesome_T пишет:

Спсб, а можно ссылку?)

https://www.mpja.com/download/31227sc.pdf - там написано и про режимы работы, и про всё остальное ;)

Awesome_T
Offline
Зарегистрирован: 14.10.2018

Перед сном, еще раз подключил, и решил опять покрутить настройки потенциометров... и о чудо...

ЗАРАБОТАЛО!!!

Я перед этим мотрел в монитор порта и в очередной раз крутил потенциометры.... по ощущениях - все сделано крайне ....... не надежно, но главное заработало))

если движения нет - 0, проводишь около датчика - 665!!

однако работает только на порте для аналогового сигнала, однако, при подключении к цифровому - опять 1!!!

Как думаете. в чем может быть проблема?

И что посоветуете на замену этим датчикам, за которые отдал аж целый 1 USD ))))

 

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

Так не бывает. Как именно Вы подключаете к цифровому? Как его конфигурируете?

Я бы ещё понял, что всегда 0, т.к. для надёжной 1 нужно 717, а у Вас только 665. Но всегда 1 - тут ошибка или подключения или конфигурации - Показывайте и то и другое.

jdigreze
Offline
Зарегистрирован: 14.01.2018

Скетч фстудию! Порты походу неверно сконфигурированы. Да и схему включения бы глянуть, мож чего там нехорошо.

P.S. А про силу тока в 5 вольт я уж тихо промолчал. Тут летом мне показали тесты ЕГЭ по физике, так у меня волосы во всех местах зашевелились от формулировок. Такими темпами силу тока скоро будем километрами измерять.

Awesome_T
Offline
Зарегистрирован: 14.10.2018
Евгений, подключаю к аналоговому порту A0 - A5 - результат естесственно одинаков при подключении к любому из портов аналоговых
Вот код для проверки, который заливал

#define PIR_X_PIN A5
#define PIR_Y_PIN 2
void setup()
 {
  Serial.begin(9600);
  pinMode(PIR_Y_PIN, INPUT);
}
void loop()
 {
  int X = analogRead(PIR_X_PIN);
  Serial.print("Analog data= ");
  Serial.println(X);
  delay(1000);
  int Y = digitalRead(PIR_Y_PIN);
  Serial.print("Digital daata= ");
  Serial.println(Y);
  delay(1000);
}

и вот что сейчас выдает:

Digital daata= 1
Analog data= 669
Digital daata= 1
Analog data= 668
Digital daata= 1
Analog data= 669
Digital daata= 1
Analog data= 669
Digital daata= 1

 ходя должен возвращать нули от обоих датчиков(

немного 0 появляется только после корректировки чувствительности, но даже когда уменьшил ее, после переподключения - такая же история(

 

Датчики подключены к шилду и от него же запитаны, естественно запитаны

 

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

analogRead() с одного, digitalRead() c другого... Вы с одним датчиком для начала разберитесь.

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

Ну, значит надо смотреть на подключение (и на шилд, если надо).

Awesome_T
Offline
Зарегистрирован: 14.10.2018

jdigreze пишет:

Скетч фстудию! Порты походу неверно сконфигурированы. Да и схему включения бы глянуть, мож чего там нехорошо.

Схема - тут всего же 3 компонента (Ардуино, Шилд и датчик) при этом, сам подключаю только датчик, но там ошибиться невозможно) - шилд впорядке, проверял

jdigreze пишет:

P.S. А про силу тока в 5 вольт я уж тихо промолчал.

И на этом спосибо, но, самому стыдно,...... хотя если лет 15 не сталкивался с електрикой - все что знал - забыл)))

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

Ну, если всё в порядке и не работает - надо вызывать попа и освящать. Какие ещё варианты?

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

Вообще, как мне помнится, этом датчику не нужна ардуина для работы. Питание ему подал и мультиметром меряй что на выходе.

SLKH
Offline
Зарегистрирован: 17.08.2015

Awesome_T пишет:

Перед сном, еще раз подключил, и решил опять покрутить настройки потенциометров... и о чудо...

ЗАРАБОТАЛО!!!

Я перед этим мотрел в монитор порта и в очередной раз крутил потенциометры.... по ощущениях - все сделано крайне ....... не надежно, но главное заработало))

если движения нет - 0, проводишь около датчика - 665!!

однако работает только на порте для аналогового сигнала, однако, при подключении к цифровому - опять 1!!!

665 аналоговых попугаев при 5-вольтовом питании - примерно 3,25 вольта. Цифровой вход вполне законно воспринимает как логическую "1", противоречия нет.

jdigreze
Offline
Зарегистрирован: 14.01.2018

Awesome_T пишет:

#define PIR_X_PIN A5
#define PIR_Y_PIN 2
void setup()
 {
  Serial.begin(9600);
  pinMode(PIR_Y_PIN, INPUT);
}
void loop()
 {
  int X = analogRead(PIR_X_PIN);
  Serial.print("Analog data= ");
  Serial.println(X);
  delay(1000);
  int Y = digitalRead(PIR_Y_PIN);
  Serial.print("Digital daata= ");
  Serial.println(Y);
  delay(1000);
}

и вот что сейчас выдает:

Digital daata= 1
Analog data= 669
Digital daata= 1
Analog data= 668
Digital daata= 1
Analog data= 669
Digital daata= 1
Analog data= 669
Digital daata= 1

 ходя должен возвращать нули от обоих датчиков(

немного 0 появляется только после корректировки чувствительности, но даже когда уменьшил ее, после переподключения - такая же история(

Датчики подключены к шилду и от него же запитаны, естественно запитаны

Вообще, я бы оба порта конфигурировал бы на INPUT. А для надёжности ещё бы в них в сетапе записал "0", чтобы внутренняя подтяжка к "1" отключилась (PULLUP которая).

Awesome_T пишет:

Схема - тут всего же 3 компонента (Ардуино, Шилд и датчик) при этом, сам подключаю только датчик, но там ошибиться невозможно) - шилд впорядке, проверял

Что за шилд? Датчику шилд в принципе не нужен.

Есть подозрение, что шилд может вносить свои корректировки в сигнал. Попробуйте соединить датчики с ардуино без шилда. Питание брать с ардуино - 5V.
bwn
Offline
Зарегистрирован: 25.08.2014

Проверьте сперва датчик напрямую светодиодом без МК. И бытует мнение, что к МК их лучше подключать через транзисторный ключ. На аналоговом входе ему делать вообще нечего, он бистабильный.

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

Awesome_T пишет:

Схема - тут всего же 3 компонента (Ардуино, Шилд и датчик) при этом, сам подключаю только датчик, но там ошибиться невозможно

Один компонент с двумя ножками можно неправильно подключить тремя различными способами. При увеличении количества ножек количество вариантов неверного подключения растет пропорционально факториалу. Учите комбинаторику!

Awesome_T
Offline
Зарегистрирован: 14.10.2018

ну в описании он выдает 3.3, если ни чего не путаю, вот только он должен выдавать их только когда есть движение, а не в статическом положении, тем более когда движения нет в зоне его действия((

Awesome_T
Offline
Зарегистрирован: 14.10.2018

Sensor Sheld v5.0, в него включаю, самое забавное, что проблема именно с датчиком.

Как пришел к такому выводу - подцепил попловковый уровень воды, он так же возвращает всего два значения.... - датчик запитывать не нужно, только земля и сигнал......

но сигналы приходят точно...

с его помощью код проверил и циклы переписал.... теперь вроде все работае как надо, вернее в коде проблем нет 100%,

проблема в датчике осталась, сегодня возвращаюсь к нему....

попробую в сетапе дописать, как говорили....

Awesome_T
Offline
Зарегистрирован: 14.10.2018

jdigreze пишет:

Есть подозрение, что шилд может вносить свои корректировки в сигнал. Попробуйте соединить датчики с ардуино без шилда. Питание брать с ардуино - 5V.

проверил каждый выход: и аналоговые и  цифровые - везде 5V, прям как в аптеке

Awesome_T
Offline
Зарегистрирован: 14.10.2018

andriano пишет:

Один компонент с двумя ножками можно неправильно подключить тремя различными способами. При увеличении количества ножек количество вариантов неверного подключения растет пропорционально факториалу. Учите комбинаторику!

маркировка есть, к тому же с прочими датчиками такой проблемы нет......

 

jdigreze
Offline
Зарегистрирован: 14.01.2018

Awesome_T пишет:

проверил каждый выход: и аналоговые и  цифровые - везде 5V, прям как в аптеке

Наиболее самый точный тест работоспособности датчика:

1. Подключить на него питание.

2. Подключить к выходу OUT датчика осциллоскоп, и посмотреть на сигнал.

Осциллоскоп, имея входное сопротивление в районе 1 Мегаома, практически не будет вносить существенные искажения в сигнал датчика.

При отсутствии оного, делаем то же самое, только вместо осциллоскопа подключаем мультиметр, на диапазон более 3.3 Вольта. И смотрим на его показания при движении и без оного.

На практике, пироэлектрические датчики действительно могут выходить из строя, и показывать "погоду".

Если датчик окажется неработоспособным, то всегда есть вариант подключить типовой "объёмник" для типовой системы охранной сигнализации, там как раз пироэлектрические датчики примняются. Например датчики с сферической диаграммной напрвленности "Астра 7". Правда схема включения и питание будет другим. Можно подобрать и дешевле.

Awesome_T
Offline
Зарегистрирован: 14.10.2018

jdigreze пишет:

При отсутствии оного, делаем то же самое, только вместо осциллоскопа подключаем мультиметр, на диапазон более 3.3 Вольта. И смотрим на его показания при движении и без оного.

На практике, пироэлектрические датчики действительно могут выходить из строя, и показывать "погоду".

Спасибо за совет! только хотел отписаться что померил выход датчика...3,298v ПОСТОЯННО!!!!

хоть води хоть не води перед ним....

jdigreze пишет:

Если датчик окажется неработоспособным, то всегда есть вариант подключить типовой "объёмник" для типовой системы охранной сигнализации, там как раз пироэлектрические датчики примняются. Например датчики с сферической диаграммной напрвленности "Астра 7". Правда схема включения и питание будет другим. Можно подобрать и дешевле.

Благодарен за совет! Меня как раз долгое время мучил вопрос подключения других датчиков, от той же охранной системы, спасибо Евгению, сказал что возможно, и Вам, за наводку..

 

Что скажете по поводу вот этого заинтересовал, ибо это даичик Присутствия, а не движения...

 

 

SLKH
Offline
Зарегистрирован: 17.08.2015

sadman41 пишет:

Вообще, как мне помнится, этом датчику не нужна ардуина для работы. Питание ему подал и мультиметром меряй что на выходе.

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

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

Да, есть такая вероятность. С фотореле даже черные мешочки в комплект кладут для проверки. Надел ему пакет на шляпу и он ничего не видит какбэ.

bwn
Offline
Зарегистрирован: 25.08.2014

А мне чудится, что экпериментатор или уже резисторы разбил до неконтакта, либо слишком торопится, при подаче питания датчику надо время на выход из коматоза. Если рядом сидеть не дергаясь, то он ничего не почует, чуть шелохнешься - сработает.
То ТС, снимите линзу, датчик прикройте чем-нибудь, подключите вольтметр, подайте питание да погуляйте минут пять. Когда вернетесь, посмотрите вольтметр, откройте датчик и зажигалкой перед ним проведите, изменится что или нет.