Arduino с PIR-датчиком движения
В этом проекте вы создадите простую схему с Arduino и PIR-датчиком движения, который может обнаруживать перемещение. Светодиод будет загораться при обнаружении движения.
Посмотрите видео ниже, чтобы увидеть, как это работает
Знакомство с PIR-датчиком движения
PIR-датчик движения идеально подходит для обнаружения перемещения. PIR расшифровывается как «Passive Infrared» (пассивный инфракрасный). По сути, PIR-датчик движения измеряет инфракрасное излучение от объектов в его поле зрения.
Таким образом, он может обнаруживать движение на основе изменений инфракрасного излучения в окружающей среде. Он идеально подходит для определения того, вошёл ли человек в зону действия датчика или покинул её.
Датчик на рисунке выше имеет два встроенных потенциометра для регулировки времени задержки (потенциометр слева) и чувствительности (потенциометр справа).
Распиновка
Подключение PIR-датчика движения к Arduino довольно простое — датчик имеет всего 3 вывода.
GND — подключите к земле
OUT — подключите к цифровому пину Arduino
5V — подключите к 5V
Необходимые компоненты
Вот список необходимых компонентов для этого проекта:
Arduino UNO — ознакомьтесь с лучшими стартовыми наборами Arduino
Вы можете использовать ссылки выше или перейти непосредственно на MakerAdvisor.com/tools, чтобы найти все компоненты для ваших проектов по лучшей цене!
Схема подключения
Соберите все компоненты, следуя схеме ниже.
Код
Загрузите следующий код.
/*
Arduino with PIR motion sensor
For complete project details, visit: http://RandomNerdTutorials.com/pirsensor
Modified by Rui Santos based on PIR sensor by Limor Fried
*/
int led = 13; // пин, к которому подключен светодиод
int sensor = 2; // пин, к которому подключен датчик
int state = LOW; // по умолчанию движение не обнаружено
int val = 0; // переменная для хранения состояния датчика (значение)
void setup() {
pinMode(led, OUTPUT); // инициализация светодиода как выхода
pinMode(sensor, INPUT); // инициализация датчика как входа
Serial.begin(9600); // инициализация последовательного порта
}
void loop(){
val = digitalRead(sensor); // чтение значения датчика
if (val == HIGH) { // проверка, что датчик в состоянии HIGH
digitalWrite(led, HIGH); // включение светодиода
delay(100); // задержка 100 миллисекунд
if (state == LOW) {
Serial.println("Motion detected!");
state = HIGH; // обновление переменной state на HIGH
}
}
else {
digitalWrite(led, LOW); // выключение светодиода
delay(200); // задержка 200 миллисекунд
if (state == HIGH){
Serial.println("Motion stopped!");
state = LOW; // обновление переменной state на LOW
}
}
}
Заключение
В этой статье показан простой пример использования PIR-датчика движения с Arduino. Теперь вы можете использовать PIR-датчик движения в более сложных проектах. Например, вы можете собрать проект ночного охранного освещения.
Если вы абсолютный новичок и только начинаете, мы рекомендуем пройти бесплатный мини-курс по Arduino.
Спасибо за чтение. Если вам понравилась эта статья, вероятно, вам понравятся и наши следующие публикации, поэтому, пожалуйста, поддержите нас, подписавшись на наш блог.