ДатчикиДвижение

HC-SR501

Joy-IT / SIMAC; для указанного исполнения · SEN-HC-SR501

Пассивный ИК-датчик движения с удержанием выхода. Пример для Joy-IT SEN-HC-SR501 и Arduino UNO R3.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьЛегко
Проекты с компонентом

О МОДУЛЕ

Что делает SEN-HC-SR501

HC-SR501 реагирует на изменение инфракрасного излучения в секторах линзы. При движении тёплого объекта выдаёт цифровой активный сигнал и удерживает его в соответствии с настройкой платы. Его используют для подсветки и простых индикаторов движения.

В примере выбрано документированное исполнение Joy-IT SEN-HC-SR501. Потенциометры меняют чувствительность и удержание, перемычка — повторное срабатывание. Смотрите расположение регуляторов именно своей платы.

Низкий выход не доказывает, что людей в комнате нет: неподвижный человек может перестать вызывать срабатывания. При включении дайте узлу стабилизироваться. Нагреватели, солнечные блики и изменение температуры могут создавать ложные события. Это не сертифицированная охранная или противопожарная система.

Фото: tecnoloxia.org, CC BY-SA 4.0. Исходный фон и внешние поясняющие надписи удалены; модуль пропорционально масштабирован и размещён на фоне SLDV LAB, физические детали не перерисованы. Адаптация фотографии — CC BY-SA 4.0. Пример исполнения HC-SR501; производитель платы на фото не подтверждён. Подключение в карточке проверено для Joy-IT SEN-HC-SR501.

Схема распиновки

Авторская схема SLDV LAB для Joy-IT SEN-HC-SR501, вид со стороны регуляторов, потенциометры сверху. Фото в карточке показывает пример HC-SR501 неизвестного изготовителя; его электрические характеристики не подтверждены этой схемой.

Сверка схемы и подключения выполнена по руководству Joy-IT SEN-HC-SR501 от 16.04.2024, с. 3 и 5–6 и официальной спецификации модели. Физическое испытание показанного на фотографии экземпляра не выполнялось.

Характеристики

Питание исполнения Joy-IT
5 В
Номинальный активный выход Joy-IT
3 В
Заявленная максимальная дальность
7 м
Угол обзора по спецификации
Менее 120°
Настройки платы
Чувствительность, удержание, однократное/повторное срабатывание
Выход
Цифровой DATA / OUT
Питание модуля
Joy-IT SEN-HC-SR501: питание 5 В DC, уровень активного выхода около 3 В по спецификации. В примере VCC → 5V UNO R3, DATA → D7, GND общая. DATA является выходом: не подавайте на него питание и не включайте INPUT_PULLUP. Диапазоны питания одноимённых плат других поставщиков проверяются отдельно.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
VCC5VArduino UNO R3; маркировка и ориентация по руководству Joy-IT.
GNDGNDОбщая земля.
DATA / OUTD7INPUT, без внутренней подтяжки; внешний LED не требуется.

Подходит для Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги подключить HC-SR501. Уточни изготовителя платы, контроллер и сценарий. Основа: Joy-IT SEN-HC-SR501, UNO R3, VCC 5V, DATA D7, INPUT без подтяжки. Дай полный скетч с начальной стабилизацией, выводом изменений состояния и пояснением регулировок. Не трактуй LOW как доказательство отсутствия человека; добавь порядок проверки питания и ложных срабатываний. Библиотека датчика не нужна.

Библиотеки

Ссылки на библиотеки для этой модели ещё не добавлены.

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Пакет плат
Arduino AVR Boards 1.8.6

UNO R3; стандартные digitalRead и millis.

Вход
D7, INPUT

DATA подключается к D7, без INPUT_PULLUP.

Начальная пауза примера
60000

Миллисекунды; это выбранный интервал ожидания стабилизации, а не гарантированная спецификация времени готовности.

Режим платы
Однократный или повторный, по перемычке

Удержание и чувствительность задаются потенциометрами на модуле.

Arduino UNO R3 · полный скетч

cpp
const uint8_t PIR_PIN = 7;
const unsigned long SETTLE_MS = 60000UL;
unsigned long started;
bool ready = false;
int lastState = -1;

void setup() {
  Serial.begin(115200);
  pinMode(PIR_PIN, INPUT);
  started = millis();
  Serial.println(F("PIR settling: keep the scene still for 60 seconds"));
}

void loop() {
  if (!ready) {
    if (millis() - started < SETTLE_MS) return;
    ready = true;
    Serial.println(F("Reading PIR output"));
  }
  int state = digitalRead(PIR_PIN);
  if (state != lastState) {
    Serial.println(state == HIGH ? F("OUT_HIGH: motion/hold") : F("OUT_LOW"));
    lastState = state;
  }
  delay(50);
}

Полный скетч UNO R3 и Arduino AVR Boards 1.8.6; объявления API проверены, компиляция и аппаратный тест не выполнялись. Serial Monitor: 115200 бод. После стартовой минуты пройдите поперёк поля зрения, затем дождитесь завершения удержания. Постоянный LOW не позволяет программно отличить отсутствие движения от обрыва или потери питания. Проверяйте источник и проводку отдельно. Если стартовые ложные события продолжаются, увеличьте время стабилизации и исключите тепловые помехи; код не скрывает их автоматически.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты