Модуль пироэлектрического инфракрасного датчика движения HC-SR501 представляет собой электронный датчик, который запускает цифровой сигнал при обнаружении движения. В этой статье будет показано, как подключить этот датчик к Arduino Nano, а также будет предоставлена программа (скетч) для запуска встроенного светодиода на плате Ардуино при обнаружении движения.
При обнаружении движения модуль пироэлектрического инфракрасного датчика движения HC-SR501 записывает цифровой сигнал (от НИЗКОГО до ВЫСОКОГО). Этот сигнал может быть прочитан одним из цифровых выводов Arduino Nano, который можно использовать для включения встроенного светодиода (пин 13).
Исходя из требований к питанию пироэлектрического инфракрасного датчика движения HC-SR501 (3,3 ~ 20 В постоянного тока), контакты Arduino 5 В постоянного тока и GND могут быть подключены без каких-либо дополнительных компонентов. Для получения дополнительной информации о настройке Arduino Nano с помощью Arduino IDE прочтите этот пост.
Шаг 1 — подключение
Arduino Nano и модуль пироэлектрического инфракрасного датчика движения (PIR) HC-SR501 можно соединить с помощью макетной платы или напрямую с помощью перемычек. На плате, где контакты не отмечены, контакт Gnd (-) будет справа, а контакт Pwr (+) слева, когда плата перевернута вверх дном.
Красный провод соединяет контакт 5V Arduino с контактом Pwr PIR, а черный провод соединяет два контакта Gnd. В этом случае, желтый провод соединяет сигнальный контакт (расположенный между Pwr и Gnd) PIR с цифровым контактом чтения (в этом примере будет использоваться D8) Arduino Nano. К датчику, на показанном изображении, уже были подключены провода.
Шаг 2 – загрузка скетча
После подключения Arduino Nano к ПК с помощью Arduino IDE можно загружать представленный скетч:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
/* Включаем встроенный светодиод (пин 13) при обнаружении движения с помощью модуля пироэлектрического инфракрасного датчика движения (PIR) HC-SR501 с использованием напряжения 5 В и цифрового пина 8. */ int val; // считывание целого значения // функция настройки запускается один раз, при нажатии кнопки сброс или запуска питания платы void setup() { pinMode(13, OUTPUT); // цифровой пин 13 как выход pinMode(8, INPUT); // цифровой пин 8 как вход } void loop() { // цикл выполняется постоянно val = digitalRead(8); // считывание состояния PIR на D8 if (val == LOW) { digitalWrite(13, LOW); // выключение светодиода при НИЗКИОМ уровне напряжения } else { digitalWrite(13, HIGH); // включение светодиода при ВЫСОКОМ напряжении } delay(200); // ожидание 200 мс } |
Теперь каждый раз, когда модуль пироэлектрического инфракрасного датчика движения (PIR) HC-SR501 обнаруживает движение, встроенный светодиод Arduino Nano будет мигать.
С Уважением, МониторБанк