В марте этого года я написал статью о датчике присутствия на сенсоре LD-2410. Он вполне себе пошел в массы и с учетом пожеланий пользователей я стал его дорабатывать.

Скрытый текст

Сразу небольшой дисклеймер. Датчиком я буду называть уже все свое устройство в сборе, а сенсором - именно LD-2410

В первую очередь все-таки захотелось получать больше данных от самого сенсора. Кроме банального присутствия в виде логической единице на пине, он умеет отдавать данные о расстоянии до "цели". Это и захотелось отдавать уже на выходе датчика. Проблема заключалась в том, что он выдавал эти данные непрерывно в UART так, что от них обалдевали даже терминальные программы в винде. А уж не сильно могучий CC2530 по моим прикидкам должен был вообще умереть. Но почитав, наконец-то мануал по 2530 я обнаружил, что можно настроить порт на работу с callback процедурой.

Сначала я просто решил переводить сенсор в режим настройки, чтобы он не флудил. Но оказалось, что лучше просто игнорировать слишком частые сообщения. В итоге родился такой алгоритм:

  1. Если на пине нет присутствия - просто игнорируем то, что идет в порт

  2. Если присутствие появилось, то мы будем читать порт с интервалом от 1 до 15 секунд. Интервал, конечно пользователь будет задавать сам.

Ну а потом я случайно заказал сотню плат под свой любимый модуль с усилителем. Забыв о том, что для усилителя используется пин 0.7, которым я использовал для чтения напряжения с фоторезистора. Чтобы их не выкидывать, пришлось доработать прошивку и брать данные об освещенности опять же с сенсора.

В результате получилась такая платка. Это вариант для "стандартного" модуля E18-MS1-PSB. Фоторезистор тут остался, как и дополнительные 5 отверстий под сенсор LA-016 на 5.8 ГГц.

Схема принципиально не изменилась

Ну и по запросам пользователей, сменил разъем microUSB на Type-C

Для желающих повторить самостоятельно я выложил исходники прошивки, герберы и бинарники

Для приобретения готового девайса можно написать мне

Комментарии (0)