В марте этого года я написал статью о датчике присутствия на сенсоре LD-2410. Он вполне себе пошел в массы и с учетом пожеланий пользователей я стал его дорабатывать.
Скрытый текст
Сразу небольшой дисклеймер. Датчиком я буду называть уже все свое устройство в сборе, а сенсором - именно LD-2410
В первую очередь все-таки захотелось получать больше данных от самого сенсора. Кроме банального присутствия в виде логической единице на пине, он умеет отдавать данные о расстоянии до "цели". Это и захотелось отдавать уже на выходе датчика. Проблема заключалась в том, что он выдавал эти данные непрерывно в UART так, что от них обалдевали даже терминальные программы в винде. А уж не сильно могучий CC2530 по моим прикидкам должен был вообще умереть. Но почитав, наконец-то мануал по 2530 я обнаружил, что можно настроить порт на работу с callback процедурой.
Сначала я просто решил переводить сенсор в режим настройки, чтобы он не флудил. Но оказалось, что лучше просто игнорировать слишком частые сообщения. В итоге родился такой алгоритм:
Если на пине нет присутствия - просто игнорируем то, что идет в порт
Если присутствие появилось, то мы будем читать порт с интервалом от 1 до 15 секунд. Интервал, конечно пользователь будет задавать сам.
Ну а потом я случайно заказал сотню плат под свой любимый модуль с усилителем. Забыв о том, что для усилителя используется пин 0.7, которым я использовал для чтения напряжения с фоторезистора. Чтобы их не выкидывать, пришлось доработать прошивку и брать данные об освещенности опять же с сенсора.
В результате получилась такая платка. Это вариант для "стандартного" модуля E18-MS1-PSB. Фоторезистор тут остался, как и дополнительные 5 отверстий под сенсор LA-016 на 5.8 ГГц.
Схема принципиально не изменилась
Ну и по запросам пользователей, сменил разъем microUSB на Type-C
Для желающих повторить самостоятельно я выложил исходники прошивки, герберы и бинарники
Для приобретения готового девайса можно написать мне