Маячок для собаки своими руками

GPS Tracker на ардуино своими руками

После нескольких экспериментов с ардуиной решил сделать простенький и не очень дорогой GPS-tracker с отправкой координат по GPRS на сервер.
Используется Arduino Mega 2560 (Arduino Uno), SIM900 — GSM/GPRS модуль (для отправки информации на сервер), GPS приёмник SKM53 GPS.

Всё закуплено на ebay.com, в сумме около 1500 р (примерно 500р ардуина, немного меньше — GSM модуль, немного больше — GPS).

GPS приемник

Для начала нужно разобраться с работой с GPS. Выбранный модуль — один из самых дешевых и простых. Тем не менее, производитель обещает наличие батарейки для сохранения данных о спутниках. По даташиту, холодный старт должен занимать 36 секунд, однако, в моих условиях (10 этаж с подоконника, вплотную зданий нет) это заняло аж 20 минут. Следующий старт, однако, уже 2 минуты.

Важный параметр устройств, подключаемых к ардуине — энергопотребление. Если перегрузить преобразователь ардуины, она может сгореть. Для используемого приемника максимальное энергопотребление — 45mA @ 3.3v. Зачем в спецификации указывать силу тока на напряжении, отличном от требуемого (5V), для меня загадка. Тем не менее, 45 mA преобразователь ардуины выдержит.

Подключение

GPS не управляемый, хотя и имеет RX пин. Для чего — неизвестно. Основное, что можно делать с этим приемником — читать данные по протоколу NMEA с TX пина. Уровни — 5V, как раз для ардуины, скорость — 9600 бод. Подключаю VIN в VCC ардуины, GND в GND, TX в RX соответствующего serial. Читаю данные сначала вручную, затем с использованием библиотеки TinyGPS. На удивление, всё читается. После перехода на Uno пришлось использовать SoftwareSerial, и тут начались проблемы — теряется часть символов сообщения. Это не очень критично, так как TinyGPS отсекает невалидные сообщения, но довольно неприятно: о частоте в 1Гц можно забыть.

Небольшое замечание относительно SoftwareSerial: на Uno нет хардверных портов (кроме соединённого с USB Serial), поэтому приходится использовать программный. Так вот, он может принимать данные только на пине, на котором плата поддерживает прерывания. В случае Uno это 2 и 3. Мало того, данные одновременно может получать только один такой порт.

Вот так выглядит «тестовый стенд».

GSM приемник/передатчик

Теперь начинается более интересная часть. GSM модуль — SIM900. Он поддерживает GSM и GPRS. Ни EDGE, ни уж тем более 3G, не поддерживаются. Для передачи данных о координатах это, вероятно, хорошо — не будет задержек и проблем при переключении между режимами, плюс GPRS сейчас есть почти везде. Однако, для каких-то более сложных приложений этого уже может не хватить.

Подключение

Модуль управляется также по последовательному порту, с тем же уровнем — 5V. И здесь нам уже понадобятся и RX, и TX. Модуль — shield, то есть, он устанавливается на ардуину. Причем совместим как с mega, так и с uno. Скорость по умолчанию — 115200.

Читайте также:  Обтяжка мебели тканью своими руками

Собираем на Mega, и тут нас ждет первый неприятный сюрприз: TX пин модуля попадает на 7й пин меги. На 7м пину меги недоступны прерывания, а значит, придется соединить 7й пин, скажем, с 6м, на котором прерывания возможны. Таким образом, потратим один пин ардуины впустую. Ну, для меги это не очень страшно — всё-таки пинов хватает. А вот для Uno это уже сложнее (напоминаю, там всего 2 пина, поддерживающих прерывания — 2 и 3). В качестве решения этой проблемы можно предложить не устанавливать модуль на ардуину, а соединить его проводами. Тогда можно использовать Serial1.

После подключения пытаемся «поговорить» с модулем (не забываем его включить). Выбираем скорость порта — 115200, при этом хорошо, если все встроенные последовательные порты (4 на меге, 1 на uno) и все программные работают на одной скорости. Так можно добиться более устойчивой передачи данных. Почему — не знаю, хотя и догадываюсь.

Итак, пишем примитивный код для проброса данных между последовательными портами, отправляем atz, в ответ тишина. Что такое? А, case sensitive. ATZ, получаем OK. Ура, модуль нас слышит. А не позвонить ли нам ради интереса? ATD +7499… Звонит городской телефон, из ардуины идет дымок, ноутбук вырубается. Сгорел преобразователь Arduino. Было плохой идеей кормить его 19 вольтами, хотя и написано, что он может работать от 6 до 20V, рекомендуют 7-12V. В даташите на GSM модуль нигде не сказано о потребляемой мощности под нагрузкой. Ну что ж, Mega отправляется в склад запчастей. С замиранием сердца включаю ноутбук, получивший +19V по +5V линии от USB. Работает, и даже USB не выгорели. Спасибо Lenovo за защиту.

После выгорания преобразователя я поискал потребляемый ток. Так вот, пиковый — 2А, типичный — 0.5А. Такое явно не под силу преобразователю ардуины. Нужно отдельное питание.

Программирование

Модуль предоставляет широкие возможности передачи данных. Начиная от голосовых вызовов и SMS и заканчивая, собственно, GPRS. Причем для последнего есть возможность выполнить HTTP запрос при помощи AT команд. Придется отправить несколько, но это того стоит: формировать запрос вручную не очень-то хочется. Есть пара нюансов с открытием канала передачи данных по GPRS — помните классические AT+CGDCONT=1,«IP»,«apn»? Так вот, тут то же самое нужно, но слегка хитрее.

Для получения страницы по определенному URL нужно послать следующие команды:

В результате, при наличии соединения, получим ответ от сервера. То есть, фактически, мы уже умеем отправлять данные о координатах, если сервер принимает их по GET.

Питание

Поскольку питать GSM модуль от преобразователя Arduino, как я выяснил, плохая идея, было решено купить преобразователь 12v->5v, 3A, на том же ebay. Однако, модулю не нравится питание в 5V. Идем на хак: подключаем 5V в пин, с которого приходит 5V от ардуины. Тогда встроенный преобразователь модуля (существенно мощнее преобразователя ардуины, MIC 29302WU) сделает из 5V то, что нужно модулю.

Сервер

Сервер написал примитивный — хранение координат и рисование на Яндекс.картах. В дальнейшем возможно добавление разных фич, включая поддержку многих пользователей, статус «на охране/не на охране», состояние систем автомобиля (зажигание, фары и пр.), возможно даже управление системами автомобиля. Конечно, с соответствующей поддержкой трекера, плавно превращающегося в полновесную сигнализацию.

Читайте также:  Красивый потолок спальни своими руками

Полевые испытания

Вот так выглядит собранный девайс, без корпуса:

После установки преобразователя питания и укладывания в корпус от дохлого DSL модема система выглядит так:

Припаивал провода, вынул несколько контактов из колодок ардуины. Выглядят так:

Подключил 12V в машине, проехался по Москве, получил трек:

Точки трека достаточно далеко друг от друга. Причина в том, что отправка данных по GPRS занимает относительно много времени, и в это время координаты не считываются. Это явная ошибка программирования. Лечится во-первых, отправкой сразу пачки координат со временем, во-вторых, асинхронной работой с GPRS модулем.

Время поиска спутников на пассажирском сидении автомобиля — пара минут.

Выводы

Создание GPS трекера на ардуино своими руками возможно, хотя и не является тривиальной задачей. Главный вопрос сейчас — как спрятать устройство в машине так, чтобы оно не подвергалось воздействиям вредных факторов (вода, температура), не было закрыто металлом (GPS и GPRS будут экранироваться) и не было особенно заметно. Пока просто лежит в салоне и подключается к гнезду прикуривателя.

Ну и ещё нужно поправить код для более плавного трека, хотя основную задачу трекер и так выполняет.

Использованные устройства

  • Arduino Mega 2560 [compatible]
  • Arduino Uno [compatible]
  • GPS SkyLab SKM53
  • SIM900 based GSM/GPRS Shield
  • DC-DC 12v->5v 3A converter

Литература

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

Для компиляции кода для ардуино нужно импортировать библиотеку tinygps.

Источник

Светящийся ошейник на светодиоде

С чего начать?
Как обустроить место
Ошейник, поводок, намордник
Что же такое «команда»?
Клички собак
Уроки
Обучение, игры и лакомство
№1 сидеть
№2 лежать
№3 место
№4 ко мне
№5 рядом
№6 фу!
№7 намордник
21 НЕ!
Уход за собакой
Кормление и рацион
Калькулятор рациона
Как стричь когти
Как чистить уши
Как мыть собаку
Как измерить температуру
Уход за шерстью
Лечение
Паразиты
Прививки
Как делать уколы
Как делать капельницу
Болезни и симптомы
Инструкции к препаратам
Узнайте больше
Коррекция поведения
Беговая дорожка для собаки
Web-камера на страже
Тест про собак
Творчество
Рассказы о животных
Стихи о животных
Своими руками
Объявления
Пропала собака!
Гостевая книга
Задать вопрос на сайт
Полезные ссылки

На главную > Своими руками > Светящийся ошейник на светодиоде

Относительно дешёвые мигающие ошейники зачастую ненадёжны и быстро выходят из строя.

Эта статья адресуется людям, которые любят мастерить своими руками для питомцев что-нибудь необычное, но в тоже время полезное.

Казалось бы, что может объединять зажигалку и пакет майонеза?! И какое отношение к собаке могут иметь эти предметы?

Оказывается, что проявив немного смекалки, из крышечки от пакета с майонезом и зажигалки со встроенным фонариком можно сконструировать светящийся ошейник для собаки, а точнее сказать — мигающий фонарик-маячок. Его можно быстро прикрепить к ошейнику и так же быстро снять, когда маячок не нужен. Например, днём или когда вы собираетесь отпустить собаку поиграть с сородичами.

Снимите с носика-дозатора пластиковое колечко от крышечки и сохраните его, оно потребуется позже.

Острым ножом отрежьте всё лишнее от носика.

В крышечке просверлите или проплавьте разогретым шилом отверстие диаметром 5 мм для светодиода.

Развинтите зажигалку и извлеките из неё блок со светодиодом и батарейками.

Теперь необходимо вставить блок в носик от пакетика.

Отрежьте кусочек кольца, что осталось от крышки, и согните его так, чтобы колечко поместилось в носик-дозатор (см. фото ниже).

Идея состоит в следующем: закрутив крышечку (с отверстием для светодиода), она прижмёт колечко, а оно, в свою очередь, надавит на контакты в блоке с батарейками и замкнёт их. Фонарик включится! Чтобы выключить фонарик достаточно немного повернуть крышку против часовой стрелки.

Теперь необходимо зафиксировать блок с батарейками и светодиодом внутри носика от пакета с майонезом. Но проблема в том, что к полиэтилену, из которого сделан носик ничего не клеится. Поэтому мы воспользуемся затвердевающим герметиком для изготовления пробки. Подойдёт любой, который есть под рукой. Это может быть клей «поксипол» (Poxipol), «холодная сварка», эпоксидная смола и т.д. Можно использовать клеевой пистолет.

«Зальём пробку» из затвердевающего герметика.

Чтобы пробка не выскочила, используем
штифт-кольцо из канцелярской скрепки.

К нему будет крепиться карабин. Для этого разогретым шилом сделайте два отверстия в носике-дозаторе.

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

Установите на место штифт-кольцо и залейте в носик-дозатор поксипол или горячий полиэтилен из клеевого пистолета. Дайте остыть или высохнуть.

Удалите кусачками торчащие части штифта.

Готово! У нас получился светодиодный фонарик, который теперь можно легко прикрепить к ошейнику при помощи карабина.

Чтобы переделать фонарик в мигающий придётся купить специальный мигающий светодиод. Внутри такого светодиода уже встроена микросхема, и он начинает мигать, как только на него подаётся напряжение. По внешнему виду и размеру диоды идентичны и взаимозаменяемы с тем, что находится в фонаре.

Мигающий светодиод можно купить на любом радиорынке или в магазине радиодеталей. Они бывают разных цветов и стоят порядка 15-20-ти рублей. Заменить диод очень просто. Никакой пайки не требуется. Просто извлеките пинцетом блок с батарейками и замените светодиод.

Светодиодный фонарик хорошо дополняет функции светоотражающего ошейника.

Для изготовления мигающего фонарика для ошейника использовались следующие материалы:

  • Крышечка и носик-дозатор от пакета с майонезом
  • Блок батареек со светодиодом из зажигалки
  • Мигающий светодиод
  • Большая канцелярская скрепка
  • Карабин от брелока
  • Клеевой пистолет или твердеющий герметик-замазка наподобие клея поксипол (poxipol), холодной сварки, эпоксидной смолы и т.п.

© При полном или частичном копировании статьи или графики прямая гиперссылка на www.CleverDog.ru — обязательна!

На главную > Cвоими руками > Светящийся ошейник на светодиоде

Источник

Читайте также:  Как сшить подушки для дивана своими руками
Оцените статью
Своими руками