Лазерный датчик с GSM на ардуино(автономный)

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Предыстория такая. Наткнулся на комментарий.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Ну что же, их есть у меня. Задача вроде простая, требования не сложные. Длительная автономная работа и оповещение посредством смс о наличии чего либо в ячейке.
Решил использовать лазерные дальномеры VL6180X для детектирования человеческих конечностей внутри ящика. Ардуинка в качестве мозгов. Модуль SIM800L для отправки смс.
Нарисовал плату.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Взял кусок текстолита.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Перенес рисунок.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Вытравил.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Далее монтаж компонентов. И результат вначале поста. Вроде все  ок. Система работает, жалоб нет. Принял решение оставить датчики расстояния VL6180X.
Так как ширина ячейки 27 см - нужно больше датчиков. А именно три. Использовать мультиплексор желания не имел, да и в бюджет не вписывалось. Адрес поменять не получается. Значит нужно коммутировать по другому. Решил, что сработает управление по минусу. Включаем и выключаем по очереди и считываем показания. Гениальный план, просто оху.ительный если я правильно понял. Развел плату на три датчика.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Следующий шаг.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Магия монтажа.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Готово. Но не работает. От постоянного вкл/выкл модулей, шина i2c вешала контроллер. Решил, что следующая хорошая идея, это управление по плюсу. Ну что же, вторая попытка. Надо по новой разводить плату.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

И снова изготавливаем.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

И? опять не работает. Но на этот раз случилось страшное. От усталости затупил и вставил банку АКБ задом наперед. Дыма было много. Боже храни тантал, что принял на себя нагрузку и сгорел синим пламенем. Все модули и сам контроллер выжили. Удивительно. И здесь я окончательно понял, что электроника не мое что идея включать и выключать модули 10 раз в секунду мягко говоря глупая. Учу матчасть. Решаюсь коммутировать линию данных с постоянно подключенной линией тактирования.
Простите за такую схему.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Вот как то так, можно отключать/подключать линию данных шины i2c. Ну что же, в третий раз перерисовываю плату.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

И сразу результат.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Наконец все отлично. Датчики работают примерно так. Включается первый и отрабатывает 30 мс, опрашивается раз в 5 мс. Затем включается второй и третий. Показания датчиков записываются с свои переменные. И о чудо, этот вариант стабилен.
Так же на борту имеется простой датчик света - фоторезистор. Подключен через пин ардуино, дабы не потреблять свои микроамперы когда не надо.
Дальше запаял оставшиеся детали.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

И приклеил неодимовые магниты, угадаете откуда взял?

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Крепится крайне надежно к любой металлической поверхности.
По поводу работы алгоритм такой. После подключения батарейки, у нас есть 2 минуты, чтобы прикрепить плату на потолок ячейки. Далее происходит автоматическая калибровка. Контроллер замеряет показания на трех датчиках расстояния и датчике света и уходит в режим энергосбережения. В нем он просыпается каждую секунду, подает питание на фоторезистор и замеряет уровень освещения. Если света стало больше, то значит, пора вставать. Включаются три датчика расстояния и происходит 200 опросов в секунду. При попадании инородного предмета в ячейку - датчики снова засыпают. Контроллер переходит в режим отправки смс. Активируется модуль sim800l и через 40 секунд отправляет смс на заданный номер.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

В сообщении контроллер сообщает в том числе напряжение на АКБ для своевременной замены.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Так происходила настройка. Эту информацию можно получить посредством блютус на телефон. Если подключить в разъем платы модуль hc-05 или подобный. Реализован вотчдог. Если контроллер зависнет, то сам себя перезагрузит, откалибруется и продолжит работать.
Тестирование в почти полевых условиях..

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

Результаты отличные. Ни одного ложного срабатывания. Ни одного не отправленного смс. На днях начинаем тестировать на реальной ячейке. Такую систему можно использовать для разных целей. В качестве автономной сигнализации с GSM на борту.
Одного АКБ хватит на 2-6 месяцев. Потребление в режиме энергосбережения менее 1мА. Такое у меня хобби.
Если что, контакт телеги https://t.me/bb773301
И мой пустой сайт http://safboard.ru/ (вдруг когда нибудь перестанет быть пустым?)
p.s. спасибо сообществу за такую поддержку.

Лазерный датчик с GSM на ардуино(автономный) Электроника, Arduino, Электричество, Самоделки, Техника, Своими руками, Хобби, Радиолюбители, Автоматика, Автоматизация, Длиннопост

TECHNO BROTHER

1.7K поста12.6K подписчиков

Добавить пост

Правила сообщества

1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.

3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины

Вы смотрите срез комментариев. Показать все
7
Автор поста оценил этот комментарий
Так как ширина ячейки 27 см - нужно больше датчиков. А именно три. Использовать мультиплексор желания не имел, да и в бюджет не вписывалось. Адрес поменять не получается

Но ведь адрес VL6180X можно переназначить

Communication with the VL6180X is via the I²C bus. The default 7-bit address of the
VL6180X is 0x29. It can be changed by the user to any 7-bit addresses by writing to the
I2C_SLAVE__DEVICE_ADDRESS {0x212} register. The SCL and SDA lines should each
have a pull-up resistor on the I²C bus
раскрыть ветку (13)
5
Автор поста оценил этот комментарий

Да, можно. но не так просто ) Но на каждый датчик надо еще один пин МК. Алгоритм следующий. При включении МК, подтягиваем XSHUT всех датчиков к 0, затем по очереди, на XSHUT - 1, и пишем в регистр 0x212 новый адрес. И так при каждой перезагрузке МК (в setup поставить )

раскрыть ветку (5)
2
Автор поста оценил этот комментарий
Вот вот, а этот самый шутдаун у меня как то не так работал. Плюнул на это.
3
Автор поста оценил этот комментарий

Но так правильно, а не то что нагородил автор

раскрыть ветку (3)
2
Автор поста оценил этот комментарий

здесь не принято указывать на некорректность схемотехнических решений, для снежинок главное чтоб "работало", они это называют "работает" лол.

раскрыть ветку (2)
2
Автор поста оценил этот комментарий
Да ну, вполне себе принято указывать. Но аргументированно не у всех получается к сожалению.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

к сожалению, к счастью или еще к чему, но на развлекательных ресурсах, как правило, подобные посты у профессионалов не вызывают в голове ничего кроме слова "говно". Я не про этот пост, я вообще. Но к тебе вопрос такой: опубликуй свое творение на радиотехническом форуме, хоть на ардуино.ру, что тебе там напишут как ты думаешь?

3
Автор поста оценил этот комментарий

Почему то после перезагрузки сбрасывается адрес на стандартный. Может и я где то ошибся

раскрыть ветку (6)
1
Автор поста оценил этот комментарий

потому что после каждой перезагрузки надо, заново адреса прописывать.

ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку