Лазерный датчик с GSM на ардуино(автономный)
Предыстория такая. Наткнулся на комментарий.
Ну что же, их есть у меня. Задача вроде простая, требования не сложные. Длительная автономная работа и оповещение посредством смс о наличии чего либо в ячейке.
Решил использовать лазерные дальномеры VL6180X для детектирования человеческих конечностей внутри ящика. Ардуинка в качестве мозгов. Модуль SIM800L для отправки смс.
Нарисовал плату.
Взял кусок текстолита.
Перенес рисунок.
Вытравил.
Далее монтаж компонентов. И результат вначале поста. Вроде все ок. Система работает, жалоб нет. Принял решение оставить датчики расстояния VL6180X.
Так как ширина ячейки 27 см - нужно больше датчиков. А именно три. Использовать мультиплексор желания не имел, да и в бюджет не вписывалось. Адрес поменять не получается. Значит нужно коммутировать по другому. Решил, что сработает управление по минусу. Включаем и выключаем по очереди и считываем показания. Гениальный план, просто оху.ительный если я правильно понял. Развел плату на три датчика.
Следующий шаг.
Магия монтажа.
Готово. Но не работает. От постоянного вкл/выкл модулей, шина i2c вешала контроллер. Решил, что следующая хорошая идея, это управление по плюсу. Ну что же, вторая попытка. Надо по новой разводить плату.
И снова изготавливаем.
И? опять не работает. Но на этот раз случилось страшное. От усталости затупил и вставил банку АКБ задом наперед. Дыма было много. Боже храни тантал, что принял на себя нагрузку и сгорел синим пламенем. Все модули и сам контроллер выжили. Удивительно. И здесь я окончательно понял, что электроника не мое что идея включать и выключать модули 10 раз в секунду мягко говоря глупая. Учу матчасть. Решаюсь коммутировать линию данных с постоянно подключенной линией тактирования.
Простите за такую схему.
Вот как то так, можно отключать/подключать линию данных шины i2c. Ну что же, в третий раз перерисовываю плату.
И сразу результат.
Наконец все отлично. Датчики работают примерно так. Включается первый и отрабатывает 30 мс, опрашивается раз в 5 мс. Затем включается второй и третий. Показания датчиков записываются с свои переменные. И о чудо, этот вариант стабилен.
Так же на борту имеется простой датчик света - фоторезистор. Подключен через пин ардуино, дабы не потреблять свои микроамперы когда не надо.
Дальше запаял оставшиеся детали.
И приклеил неодимовые магниты, угадаете откуда взял?
Крепится крайне надежно к любой металлической поверхности.
По поводу работы алгоритм такой. После подключения батарейки, у нас есть 2 минуты, чтобы прикрепить плату на потолок ячейки. Далее происходит автоматическая калибровка. Контроллер замеряет показания на трех датчиках расстояния и датчике света и уходит в режим энергосбережения. В нем он просыпается каждую секунду, подает питание на фоторезистор и замеряет уровень освещения. Если света стало больше, то значит, пора вставать. Включаются три датчика расстояния и происходит 200 опросов в секунду. При попадании инородного предмета в ячейку - датчики снова засыпают. Контроллер переходит в режим отправки смс. Активируется модуль sim800l и через 40 секунд отправляет смс на заданный номер.
В сообщении контроллер сообщает в том числе напряжение на АКБ для своевременной замены.
Так происходила настройка. Эту информацию можно получить посредством блютус на телефон. Если подключить в разъем платы модуль hc-05 или подобный. Реализован вотчдог. Если контроллер зависнет, то сам себя перезагрузит, откалибруется и продолжит работать.
Тестирование в почти полевых условиях..
Результаты отличные. Ни одного ложного срабатывания. Ни одного не отправленного смс. На днях начинаем тестировать на реальной ячейке. Такую систему можно использовать для разных целей. В качестве автономной сигнализации с GSM на борту.
Одного АКБ хватит на 2-6 месяцев. Потребление в режиме энергосбережения менее 1мА. Такое у меня хобби.
Если что, контакт телеги https://t.me/bb773301
И мой пустой сайт http://safboard.ru/ (вдруг когда нибудь перестанет быть пустым?)
p.s. спасибо сообществу за такую поддержку.
TECHNO BROTHER
1.8K пост12.7K подписчиков
Правила сообщества
1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.
3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины