Миллиметровый радар C4001: тестируем режим измерения скорости и дальности

Знаете, что меня всегда восхищало в технике? Когда одна и та же железка умеет делать совершенно разные вещи. Вот, например, модуль C4001 от DFRobot. В прошлый раз я рассказывала, как он шикарно работает в качестве детектора присутствия — эдакий умный выключатель света, который видит, есть ли кто в комнате, и не реагирует на кошек или мух. Но это лишь половина его талантов. Оказывается, этот 24-гигагерцовый красавец на миллиметровых волнах может превратиться в настоящую мини-РЛС! Он способен не просто засечь факт наличия человека, но и вычислить, с какой скоростью этот человек движется и на каком расстоянии находится. Согласитесь, звучит куда интереснее, чем просто «датчик движения».

От присутствия к скорости: один клик в коде

Вся магия переключения между режимами скрывается в библиотеке производителя. Если вы, как и я, уже игрались с режимом eExitMode, то перейти в режим замера скорости (eSpeedMode) проще пареной репы. Буквально одна строка кода меняет поведение модуля кардинально. Не буду тащить сюда весь скетч из прошлой статьи — это уже было, а нам сейчас интересно новое. Скажу только, что примеры кода всегда можно найти на официальном сайте производителя, а мы с вами с головой нырнем в практические тесты.

Но тут возникает классическая инженерная проблема: как тестировать радар, если ты сам привязан к компьютеру проводом? Бегать с ноутбуком по комнате — то еще удовольствие, провода путаются, да и эстетика страдает. Мне нужна была мобильность. И тут я вспомнила о своей старой тестовой платформе, которую собирала много лет назад для управления самодельными радиоуправляемыми моделями. Она пылилась без дела, но именно сейчас настал ее звездный час.

Собираем мобильный радарный пост

Эта платформа изначально проектировалась для работы в «полевых» условиях. В ней уже был установлен радиомодуль HC12 — настоящий зверь, который на открытой местности «лупит» на расстояние до 2 километров! Проверено: он уверенно пробивает два метра воды и несколько железобетонных перекрытий. Для моих задач — передача данных с движущегося радара на пульт — это идеальный вариант.

Я доработала платформу: установила на нее модуль C4001 и добавила разъем для подключения нашего «дальнобойного» HC12. Получился автономный радарный комплекс. Далее нужно было подружить железо с кодом. Заглянув в библиотеку производителя, я с радостью обнаружила, что вся необходимая информация упаковывается в компактный пакет всего из 13 байт. Это просто сказка для беспроводной передачи — экономия эфира и энергии.

Алгоритм работы простой: микроконтроллер на платформе забирает данные с C4001 (расстояние, скорость, количество объектов), каждые 250 миллисекунд упаковывает их и отправляет через UART на радиомодуль HC12. Тот, в свою очередь, транслирует сигнал на пульт, который я держу в руках.

Пульт управления и первые замеры

На пульте происходит обратный процесс: мы побайтно разбираем входящую посылку, собираем байты обратно в переменные типа float или int и выводим на дисплей картинку в реальном времени. Получается такой себе удаленный радарный пост. Питал я свое творение от обычного PowerBank — это удобно и безопасно.

И вот он, первый запуск! Пока я стою неподвижно, экран пульта показывает: один объект (number = 1), скорость (speed) практически нулевая, а дистанция (range) около одного метра. Всё честно: я стою на месте, в метре от датчика.

Тут нужно сделать важное отступление из документации: данный модуль C4001 заточен на отслеживание перемещения только одного человека. Параметр number, соответственно, может принимать значения только 0 (никого нет) или 1 (объект обнаружен). Кстати, есть еще загадочный параметр energy. Производитель скромно молчит о его значении. Хочется пошутить, что это размер живота объекта, но на самом деле, скорее всего, это показатель уровня отраженного сигнала или уверенность обнаружения.

Испытания сквозь стены и на дистанции

Следующим этапом я решила проверить точность измерения расстояния. Отошла с пультом в дверной проем примерно на 4 метра от модуля.

Показания начали плавать в районе 3.95 — 4.05 метров. Для живого объекта это считается отличной точностью. Важный нюанс: радар засекает движение живого человека, а не неподвижную стену за ним. Если замереть как статуя, датчик, скорее всего, «потеряет» объект и обнулит данные, ведь в режиме скорости он ищет именно движущиеся цели.

А теперь самое интересное. Я вышла в коридор и спряталась за гипсокартонную стену.

Модуль C4001 продолжает меня «видеть»! Дистанция при этом увеличилась до 4.6-5 метров, что логично, учитывая путь сигнала сквозь стену туда и обратно. Гипсокартон для миллиметровых волн — не помеха. Для бетонной стены или металла, скорее всего, это уже не сработает, но для многих бытовых задач такая способность «рентгеновского зрения» — невероятно полезная фича.

Практическая польза и планы на будущее

Теперь про скорость. В условиях моей квартиры измерить её адекватно сложно — коридоры слишком короткие для разгона. Но я выяснила забавную деталь: знак скорости (speed) меняется в зависимости от направления движения. Если приближаться к датчику, то значение становится отрицательным. Если удаляться — положительным. То есть, установив такой модуль в длинном коридоре, мы сможем не просто обнаружить человека, но и безошибочно определить, в какую сторону он идет. Это открывает широчайшие возможности для систем умного дома: автоматическое включение света по ходу движения, открывание дверей, активация охранной сигнализации с четким определением вектора движения.

У меня на этот модуль большие планы. Я собираюсь использовать его в своем проекте фотоловушки на базе ESP32-CAM. Проблема обычных PIR-сенсоров в том, что они реагируют на любое тепловое движение: проехала машина, пробежала собака, качнулась ветка — и камера щелкает в пустоту. А мне нужно, чтобы фотоловушка делала четкие портретные снимки человека. Благодаря C4001 я смогу привязать срабатывание камеры не просто к факту движения, а к нахождению объекта на конкретной дистанции. Например, на расстоянии 2-3 метров. Это позволит камере фокусироваться именно на лице, а не на ногах или спине уходящего человека. Плюс возможность отсеивать ложные срабатывания на животных. Это будет идеальный охотник за портретами!

Комментарии

?
18 - 17 = ?