Тема сегодняшнего урока — датчик движения на основе пироэлектрического эффекта (PIR, passive infrared motion sensor). Такие датчики часто используются в охранных системах и в быту для обнаружения движения в помещении. Например, на принципе детектирования движения основано автоматическое включение света в подъезде или в ванной. Пироэлектрические датчики достаточно простого устроены, недороги и неприхотливы в установке и обслуживании.
Когда вы подходите к некоторым местам, где двери автоматически открываются/закрываются, лампочки автоматически включаются/выключаются или эскалатор автоматически активируется, вы когда-нибудь задавали вопрос:
Датчик HC-SR501 PIR-это датчик, который может обнаруживать движение людей (или животных). Он широко используется для обнаружения присутствия людей во многих приложениях(автоматическое вкл/выкл лампочки, отк/закрытие двери, Активация/деактивация эскалатора, обнаружения злоумышленника…)
HC-SR481 также имеет одну перемычку и два потенциометра, которые используются для регулировки настройки датчика.
Как это работает
Датчик HC-SR501 обнаруживает движение на основе изменения инфракрасного излучения от движущегося объекта. Для обнаружения датчиком HC-SR501 объект должен соответствовать двум условиям:
Если объект движется, но НЕ излучает инфракрасный луч (например, робот или автомобильная игрушка), датчик его НЕ обнаруживает.
Если объект излучает инфракрасный луч, но НЕ движется (например, человек стоит неподвижно, не двигаясь), датчик его НЕ обнаруживает.
Люди и животные естественным образом излучают инфракрасное излучение.
https://youtu.be/up9DQxsgPhY
1)
Когда в пределах обнаруженного диапазона датчика НЕТ человека (или животного), выходной вывод датчика НАХОДИТСЯ на низком уровне
2)Когда человек (или животное) перемещается в обнаруженный диапазон датчика, выходной вывод датчика изменяется с низкого на высокий (=> движение обнаружено)
3)Когда человек (или животное) выходит за пределы обнаруженного диапазона датчика, выходной вывод датчика изменяется с Высокого на низкий (=> движение завершено )
int LED = 13; // the pin that the LED is atteched to int PIR = 2; // the pin that the sensor is atteched to void setup() { pinMode(LED, OUTPUT); // initalize LED as an output pinMode(PIR, INPUT); // initialize sensor as an input Serial.begin(9600); // initialize serial } void loop(){ if (digitalRead(PIR) == HIGH) { // check if the sensor is HIGH digitalWrite(LED, HIGH); // turn LED ON Serial.println("Motion detected!"); delay(100); // delay 100 milliseconds } else { digitalWrite(LED, LOW); // turn LED OFF Serial.println("Motion stopped!"); delay(100); // delay 100 milliseconds } }
https://create.arduino.cc/projecthub/diy-partners/how-pir-sensor-work-9f76b6?ref=tag&ref_id=motion%20sensor&offset=5
const int BLUE_LED_N1 = 12; const int BLUE_LED_N2 = 11; const int BLUE_LED_N3 = 10; const int BLUE_LED_N4 = 9; const int BLUE_LED_N5 = 8; const int PIR_MODULE = 7; const int LIGHT_SENSOR = 6; const int LEDS_NUMBER = 5; int leds [LEDS_NUMBER] = {BLUE_LED_N1, BLUE_LED_N2, BLUE_LED_N3, BLUE_LED_N4, BLUE_LED_N5}; void setup() { // put your setup code here, to run once: for(int i=0; i