Как сделать мультисенсорный датчик

Как сделать мультисенсорный датчик

Речь пойдет о беспроводном сенсоре multi-touch с 2,13-дюймовым дисплеем для e-paper. Датчик может быть оснащен датчиком температуры и влажности SHT21, HTU21D, SI7021, датчиком температуры и влажности BME280, датчиком атмосферного давления BMP280 и датчиком освещенности MAX44009. Датчик питается от батареи CR2450. Но ничто не мешает припаять на датчик держатель для батареек CR2430 или CR2477.

Данное устройство работает с микроконтроллером nRF52840, используется радиомодуль MS88SF3 от MINEW. На боковой стороне модуля нет паяльных площадок, они расположены в нижней части радиомодуля. Эта функция немного «надоедала», но глаза пугаются, а руки это делают. В итоге модуль просто припаивается феном (я нагревал плату устройства, на которую был установлен радиомодуль, снизу).

Как сделать мультисенсорный датчик

Устройство имеет две модификации платы. В модификации «А» на датчике установлен сенсор BME280 на датчик установлен светодиодный диод, в модификации «Б» датчик освещенности, датчики температуры и влажности SHT21, HTU21D, SI7021, возможность установки датчика BMP280, добавлена ​​защита от переполюсовки на транзисторе.

Как сделать мультисенсорный датчик

Как сделать мультисенсорный датчик

В варианте «В» место для пайки датчиков BME280 и BMP280 универсальное, BMP280 отлично монтируется на место BME280. Я внес это изменение в последней ревизии второй версии датчика. Причиной стал резкий рост цен на датчики BME (в среднем на 70% за последние два месяца). Теперь вы можете заменить функционал BME280, установив на плату BMP280 + SHT21 (цена на серию BMP пока не растет). Если кому-то известна причина такого роста цен на датчики BME, расскажите, пожалуйста, об этом в комментариях.

датчики BME

Корпус датчика был напечатан на 3D-принтере FDM. После печати корпус был дополнительно отшлифован и отполирован. Для светодиода в модификации «А» и светового датчика в модификации «Б» во внутренней части верхней части ящика предусмотрены выемки для последующего сверления. Я заполнил просверленные отверстия полимерной смолой для SLA-принтера.

SLA-принтера.

Программа сенсора была написана для проекта с открытым исходным кодом MySensors. Датчик отображает данные с датчиков, заряд аккумулятора, уровень сигнала и прогноз погоды на ближайшие несколько часов. Помимо данных с датчиков, направление изменения значения также указывается стрелками. Было несколько вариантов дизайна интерфейса.

кодом MySensors

кодом MySensors

кодом MySensors

Можно перевернуть экран, нажав кнопку. К кнопке добавлено простое меню со следующими пунктами: инверсия цвета, конфигурация устройства, презентация устройства, сброс датчика. В режиме настройки датчик слушает эфир в течение 20 секунд, в это время можно отправлять команды настройки датчику от контроллера UD: изменение интервала отправки данных с датчиков (от 1 минуты до 1 часа с шагом 1 минута), изменяя интервал отправки данных о состоянии батареи и мощности сигнала (с 1 часа до 24 часов). В режиме презентации устройство отправляет данные о себе (имя, версия прошивки) и датчиках на контроллер UD, делает запрос о том, в какой системе (метрической или британской) работает сеть. Он также отправляет свои параметры конфигурации.

При работе в радиосети датчик передает данные:

  • Температура,
  • Влажность,
  • Атмосферное давление,
  • Уровень освещенности,
  • Прогноз погоды,
  • Уровень сигнала,
  • Уровень заряда батарейки,
  • Причина перезагрузки

Если сеть работает в метрической системе, данные о температуре будут отправляться и отображаться на экране в градусах Цельсия, а данные атмосферного давления — в миллиметрах ртутного столба (только при составлении RU-версии), в противном случае температура будет отображаться в Faringates. . и атмосферное давление в Паскалях.

Перед компиляцией программы необходимо внести изменения в конфигурационный файл aConfig.h.

Какая языковая версия будет скомпилирована (RU или ENG):

#define LANG_RU

Вывод дебага в сериал:

#define MY_DEBUG

Мощность радиопередатчика:

#define MY_NRF5_ESB_PA_LEVEL (0x8UL)

Скорость передачи данных:

#define MY_NRF5_ESB_MODE (NRF5_1MBPS)

Потребление устройства в режиме ожидания 5 мкА, в режиме считывания сенсора и обновления экрана 2-3 мА. В режиме передачи данных 8 мА, в режиме прослушивания 5 мА. Время обновления экрана 300 мс, время передачи сообщения с данными датчика 10 мс, время передачи сообщения о заряде аккумулятора с ожиданием эха 100-300 мс. Срок службы батареи CR2450 составляет один год или более (с настройкой датчиков опроса один раз в минуту и ​​отправкой данных при изменении, опросом напряжения аккумулятора каждые 6 часов и обязательной отправкой без сравнения).

кодом MySensors

 

Click to rate this post!
[Total: 0 Average: 0]

Leave a reply:

Your email address will not be published.