Сделать из навигатора спидометр
Спидометры используются для измерения скорости движения транспортного средства. Ранее на нашем сайте мы уже рассматривали создание аналогового спидометра на основе платы Arduino и цифрового спидометра на Arduino и смартфоне на Android. В аналоговом спидометре для измерения скорости мы использовали инфракрасный датчик, а в цифровом – датчик Холла. В этой же статье для измерения скорости мы будем использовать технологию GPS. В большинстве случаев GPS спидометры более точно измеряют скорость чем обычные спидометры. Также технология GPS в настоящее время широко используется в смартфонах и транспортных средствах для навигации и предупреждения о различных дорожных ситуациях.
В данной статье мы рассмотрим создание GPS спидометра на основе платы Arduino, GPS модуля NEO6M и OLED дисплея.
Необходимые компоненты
- Плата Arduino Nano (купить на AliExpress).
- GPS-модуль GY-NEO6M (купить на AliExpress).
- OLED дисплей с интерфейсом I2C и диагональю экрана 1.3 дюйма (1.3 inch I2C OLED display) (купить на AliExpress - для данного проекта выбирайте вариант дисплея с 4 контактами).
- Макетная плата.
- Соединительные провода.
GPS модуль NEO6M
NEO-6M является популярным GPS приемником со встроенной керамической антенной, которая обеспечивает хороший прием сигнала с GPS спутников. Данный приемник способен отслеживать до 22 спутников и обеспечивает определение местоположения в любой точке земного шара. Модуль имеет аккумулятор для автономной подпитки (backup battery), что позволяет ему сохранять данные когда основное питание схемы отключено.
Ядром модуля является GPS чип NEO-6M от компании u-blox. Он может отслеживать до 22 спутников по 50 каналам и обладает чрезвычайно хорошей чувствительностью (-161 dBm). Модуль поддерживает скорости передачи данных 4800-230400 бод. По умолчанию он настроен на скорость 9600 бод.
Технические характеристики модуля:
- рабочее напряжение: 2.7-3.6V DC (постоянного тока);
- рабочий ток: 67 mA;
- бодовая скорость передачи: 4800-230400 (9600 по умолчанию);
- протокол связи: NEMA;
- интерфейс: UART;
- внешняя антенна и встроенная энергонезависимая память (EEPROM).
Назначение контактов (распиновка) GPS модуля NEO6M:
• VCC : входное питающее напряжение;
• GND : общий контакт (земля);
• RX, TX : контакты для UART (последовательной) связи с микроконтроллером.
На нашем сайте мы уже достаточно часто рассматривали проекты с использованием GPS модулей, список данных проектов можно посмотреть по следующей ссылке.
OLED дисплей
Термин OLED расшифровывается как “Organic Light emitting diode” (органический светоизлучающий диод) и в используемом нами OLED дисплее используется та же самая технология, что и в привычных нам современных телевизорах, только разрешение экрана нашего дисплея существенно меньше чем у телевизоров. С подобными дисплеями проекты на Arduino сразу начинают "сверкать новыми красками" поскольку они обеспечивают значительно более презентабельную картинку чем обычные монохромные ЖК дисплеи. В нашем проекте мы будем использовать монохромный OLED дисплей SH1106 1.28” с 4-мя контактами, подключаемый по интерфейсу I2C.
Технические характеристики дисплея:
- микросхема драйвера: SH1106;
- входное напряжение: 3.3V-5V DC;
- разрешение: 128x64;
- интерфейс: I2C;
- потребление тока: 8 mA;
- цвет пикселов: синий (Blue);
- угол обзора: >160 градусов.
Назначение контактов (распиновка) дисплея:
VCC : питающее напряжение 3.3-5V DC;
GND : общий провод (земля);
SCL : контакт синхронизации интерфейса I2C;
SDA : контакт передачи данных интерфейса I2C.
Сообществом Arduino разработано уже достаточно много библиотек для работы с OLED дисплеями, нам среди них понравилась библиотека Adafruit_SH1106.h – она проста в использовании и позволяет работать с графикой.
Подобный дисплей мы ранее уже использовали в следующих проектах:
Схема проекта
Схема GPS спидометра на Arduino и OLED дисплее представлена на следующем рисунке.
Внешний вид собранной на макетной плате конструкции проекта выглядит следующим образом:
Объяснение программы для Arduino
Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.
Первым делом в программе необходимо подключить все используемые библиотеки. В нашем проекте мы будем использовать библиотеку TinyGPS++.h для считывания GPS координат с GPS модуля и библиотеку Adafruit_SH1106.h для работы с OLED дисплеем.
Gps-спидометр – это удобная программа, преимущественно для Андроид и iOS, которая позволяет фиксировать скорость движения при ходьбе, беге, езде на автомобиле, велосипеде, лодке и т.п. Для того, чтобы начать пользоваться программой, необходимо установить ее на смартфон, запустить и установить GPS-подключение со спутником.
Gps-спидометры выполняют следующие функции:
- Информируют водителя о параметрах движения: скорости, перепадах высоты и пр.
- С помощью счетчика фиксируют пробег.
- Дают возможность контролировать время, пройденный путь, среднюю и максимальную скорость, расход топлива.
- Отслеживают местоположение.
- Оповещают о превышении скорости при помощи светового или звукового сигнала.
В обзоре мы собрали популярные приложения-спидометры, выделив их основные функции:
DigiHUD Speedometer
DigiHUD Speedometer фиксирует и отображает на экране смартфона следующие данные:
- текущая, средняя и максимальная скорость;
- пройденное расстояние;
- местоположение по компасу;
- текущее время;
- уровень заряда аккумулятора.
В программе доступны такие настройки, как:
- обычный и фоновый режим работы;
- нормальное и зеркальное отображение элементов на экране;
- изменение единиц скорости (км/ч, мили/час, узлы);
- включение звукового сигнала о превышении скорости;
- настройка яркости;
- блокировка поворота экрана;
- изменение параметров дисплея;
- отображение одометра.
В Pro версии спидометра ($ 1.31) доступны дополнительные функции:
- создание профилей для разных видов транспорта;
- установка отметок на карте;
- запись и экспорт маршрутов;
- включение дневного и ночного режима;
- запуск/выход при подключении/отключении зарядного устройства.
Реклама в приложении DigiHUD Speedometer отсутствует.
GPS Speedometer
Возможности приложения GPS Speedometer:
- Фиксирует пробег, текущую, среднюю и максимальную скорость.
- Сохраняет историю данных.
- Показывает местоположение на карте.
- Оповещает о погодных условиях в регионе нахождения.
Также gps-спидометр позволяет использовать следующие настройки:
- переключать режимы измерения скорости;
- включать аналоговый либо цифровой спидометр;
- устанавливать ландшафтный режим экрана;
- отключать отслеживание передвижения;
- сбрасывать историю данных;
- слушать музыку в фоновом режиме.
Версия Pro расширяет диапазон функций GPS Speedometer. В ней имеются:
- весы;
- коррекция скорости;
- 5 тем оформления;
- 2 стиля спидометра;
- отображение адреса;
- звуковая сигнализация;
- ограничитель скорости.
Pro-версия позволяет пользоваться приложением без рекламных объявлений.
GPS Speedometer - Trip Meter - Odometer
Приложение с высокой точностью измеряет все ключевые показатели движения:
- текущую, среднюю и максимальную скорость;
- время в пути и пробег;
- количество оборотов колеса (одометр).
В бесплатной версии GPS Speedometer есть реклама.
Предоставляет также следующие возможности:
- запись данных в память устройства;
- установление ограничений скорости (при превышении программа подает сигнал);
- приостановка и возобновление gps-отслеживания.
Pro-версия программы позволяет:
- пользоваться приложением без рекламы;
- включать альтиметр и метр высоты.
GPS Speedometer and Odometer (Unreleased)
- получать данные о текущей, средней и максимальной скорости движения;
- отслеживать местоположение на карте;
- использовать его для велосипедов, легковых и грузовых машин;
- работать с одометром;
- получать уведомление о превышении скорости.
Благодаря настройкам можно:
- переключать цифровой и аналоговый режимы;
- использовать несколько профилей для различного транспорта;
- изменять единицы скорости и масштаб в любое время пути.
В бесплатной версии GPS Speedometer имеется реклама.
Использование версии Pro делает доступным:
- отключение рекламы;
- получение высокой точности данных;
- использование высотометра;
- работу в приложении в режиме оффлайн;
- возможность записи поездки;
- отключение и включение отслеживания в режиме gps.
GPS Speedometer, Distance Meter (измеритель расстояния)
Приложение позволяет измерять скорость движения при ходьбе, беге или езде на велосипеде, автомобиле, а также пройденное расстояние. Если скорость выше предельно допустимой, GPS Speedometer подает вибрационный или звуковой сигнал.
При помощи настроек можно:
- изменить единицы расстояния или скорости – мили или км;
- настроить значение допустимой скорости для уведомления;
- включить или отключить вибрацию и/или звонок;
- поменять мелодию и громкость оповещения;
- включить режим День / Ночь;
- работать с программой в фоновом режиме;
- изменить язык интерфейса.
В приложении имеется реклама.
Pro-версия приложения отсутствует.
Speedometer GPS
Помогает отслеживать скорость движения, высоту над уровнем моря (альтитуду), пройденное расстояние, фиксировать местоположение, получать данные о начале и времени пути, средней скорости.
Настройки программы включают:
- переключение между спидометром и одометром;
- изменение единиц скорости/расстояния;
- отображение спутников;
- сохранение данных;
- использование графиков и диаграмм.
Версия Pro данного приложения позволяет работать без рекламы и offline.
SpeedView: GPS Speedometer
Приложение для измерения скорости с большой точностью. Его можно использовать при беге, пешей прогулке, езде на велосипеде и автомобиле.
SpeedView отображает:
- скорость и направление движения;
- график скорости за последнее время;
- ограничение скорости в зависимости от типа дороги.
Функционал приложения включает в себя следующие возможности:
- HUD-режим;
- изменение единиц скорости и расстояния;
- сохранение трека движения в памяти телефона;
- работа в фоновом режиме;
- использование гироскопов, акселерометров и др. датчиков.
Приложение поддерживает рекламу. Доступна версия Pro ($ 1.41) без рекламы и с дополнительным функционалом:
- отображение спутников;
- диаграмма скорости;
- получение данных о местоположении и отображение координат на карте.
Ulysse Speedometer
Данное приложение позволяет:
- измерять скорость в широком диапазоне;
- отображать одновременно компас и среднюю скорость движения;
- получать информацию о направлении движения;
- фиксировать высоту и пройденное расстояние.
При помощи настроек вы можете:
- сохранять данные скорости;
- изменять профили;
- переключать единицы скорости;
- задавать скоростные коридоры;
- получать зеркальное отображение скорости при установке на лобовое стекло;
- вести журнал путешествий;
- включать и выключать фоновый режим.
Платная версия Ulysse Speedometer позволяет отключить рекламу, а также звонить во время работы приложения.
Развитие технологий XXI века принесло новшества в самые разные части быта и уклада жизни человека. Одним из них стали изменения, которые коснулись транспорта. В классическом автомобиле, все оборудование было или целиком механическим, или использовало аналого-электрические схемы. Все перечисленное, давало плюс к надежности, но имело и свой минус — точность и корректность измерений. Кроме того, функционал конечных устройств был беден. Современные детекторы из другого ряда. Если не брать во внимание сопутствующую логическую обработку показаний, еще до демонстрации их водителю, можно вспомнить смену физических принципов получения данных.
Некоторые из автомобильных датчиков предоставляют информацию, знание которой нужно только человеку, управляющему автомобилем. К сфере контроля работы двигателя получаемые данные не относятся. Среди них спидометр и одометр. Развитие электронных коммуникаций позволило сменить устоявшиеся принципы работы настоящих устройств, убрав их прямое соединение с механизмами машины. Теперь, для отсчета пройденного расстояния и скорости движения транспорта используется GPS-спидометр, работающий за счет спутниковой навигации. Причем в современных автомобилях, он может быть интегрирован к общей цифровой сети транспортного средства через интерфейс OBD-2. Зачастую, выпускаемые модели автомобилей уже оборудованы измерителем аналогичного плана, особенно если речь идет о грузовых машинах или автобусах с троллейбусами. Некоторые из устанавливаемых или приобретаемых раздельно GPS-спидометров, оснащены трекером, помогающим определить текущее местонахождение транспортного средства. Последний функционал становится важен при угоне машины или в деле логистики.
Возможности GPS-спидометра, практически в том же объеме, предоставляют современные смартфоны, автонавигаторы и некоторые модели видеорегистраторов.
Преимущества и недостатки
Как и у любого современного оборудования, у GPS-спидометра есть свои положительные стороны и отрицательные. Существенные плюсы:
- Устройство не зависит от механической связки с агрегатами машины.
- Работает за счет спутниковой навигации.
- Достаточно надежен.
- Компактен.
- Питание может получать от комбинации тока бортовой сети и аккумулятора.
- Устанавливаться на любую передвижную технику вне зависимости от ее вида, включая велосипед, мотороллер, скутер, мопед, мотоцикл, водные суда и летающий транспорт.
- Чувствительность к холоду. Об этом мало говорят, но иностранная электроника в наши морозы промерзает. GPS-спидометр не исключение. Зимой, после того как холодная машина простояла на улице и салон выстыл, могут быть проблемы с его работоспособностью. Пока прибор не прогреется, включать GPS-спидометр вообще не рекомендуется.
- Потеря связи со спутником. Проезжая крытые эстакады, мосты или туннели можно столкнуться с тем, что прибор теряет спутники, а соответственно не считает скорость или пройденное расстояние.
- В случае выхода электронной части из строя — будут утеряны сохраненные данные одометра.
- Измерения производятся с задержкой. Последнее создает определенное неудобство водителю. Показания все время резко «скачут», без прямой зависимости от нажатия акселератора.
- Всегда есть погрешность в сторону увеличения.
GPS-спидометр, как отдельное устройство
Существует много моделей GPS-спидометров на рынке. Основные различия между ними в методах информирования водителя о текущих показаниях, корпусе, питании и чувствительности приемника сигнала. Немаловажной характеристикой служит и класс защиты. Встречаются модели прибора с выносной антенной или возможностью ее подключения. Интересной особенностью может быть наличие разъема связи ODB-2. Последний позволяет интегрировать датчик к бортовому компьютеру.
Индикация
Распространены GPS-спидометры, индикаторы которых выполнены на основе ЖК-дисплея, сегментных панелей или классической аналоговой стрелки. Если необходимо, производитель устанавливает подсветку экрана устройства. Интересным новшеством, сравнительно к аналоговым датчикам, можно назвать проецирование показаний на лобовое стекло автомобиля. Подобной функцией обладают некоторые модели GPS-спидометров. Одометр (счетчик расстояния), зачастую представлен в виде отдельного, маленького ЖК-экрана, рядом с основным индикатором.
При включении аппарата, на одном из дисплеев будут высвечиваться время поиска спутника, до момента установки связи. Если, по какой-либо причине сигнал недоступен или потерян, индикатор продемонстрирует соответствующий код ошибки.
Кроме основной информации, устройство может демонстрировать текущие значения CoG — скорости над землей и CoS — курса. Есть модели, дополнительно измеряющие температуру двигателя или ее же в салоне\на улице и характеристики сети питания.
Основной нюанс, на который стоит обращать внимание при выборе аппарата «для себя» — единицы измерения. Одометр и\или спидометр могут отображать информацию не в привычных нам км\ч, а в милях, лигах, узлах или даже лье (английские и французские единицы измерения). Правда, отсутствие универсальности встречается редко — на большинстве аппаратов характеристику можно изменить нажатием на соответствующую кнопку.
Чувствительность приемника
От настоящего параметра зависит количество подключаемых спутников для определения текущей скорости. Именно она обеспечивает точность позиционирования. Кроме того, мощный приемник способен лучше работать с радиосигналом, когда между ним и передатчиком находиться корпус автомобиля, своды зданий, крыша гаража, а также иные препятствия мешающие связи. Не лишним дополнением к увеличению чувствительности GPS-спидометра станет внешняя антенна. Последняя часто идет в комплекте с самим измерительным прибором. При ее отсутствии, стоит проверить наличие разъема для подключения. Если и его нет, — нужно учесть в деле приобретения спидометра, что качество приема только на встроенную антенну будет далеко от идеала.
Питание и ODB-2
Основная масса продаваемых устройств рассчитана на питание от 12 или 24 В. Есть и универсальные модели, позволяющие подключать к ним любой из перечисленных токов по вольтажу. Характеристика важна тем, что должна соответствовать бортовой сети транспорта. В противном случае энергии для питания GPS-спидометра может или не хватать, или будет слишком много, что приведет к его поломке. Хорошим дополнением станут встроенные аккумуляторные батареи, запасающие энергию в моменты работы мотора, и отдающие ее при простое самому измерителю скорости. Поможет индивидуальный источник питания и в случаях применения GPS-спидометра на транспорте, не оснащенном генератором. К примеру, для классического велосипеда, планера или яхты.
Разъем подключения бортовой сети обычно различен в зависимости от модели и производителя аппарата. Но, информацию о конкретной распиновке можно свободно найти в сопутствующей инструкции или на сайте изготовителя.
Интерес представляет и наличие ODBII (ODB-2). Изначально интерфейс разработан для диагностики автомобиля. Сейчас он позволяет объединять внешние устройства (к примеру, GPS-спидометр) с внутренней бортовой вычислительной сетью через специальный разъем. Его наличие, хоть и не критично, но в некоторых случаях может пригодиться. К примеру, если бортовой компьютер оборудован навигатором.
Класс защиты и корпус
Не последними характеристиками для устройств измерения скорости будет корпус и класс защиты. Первый, кроме внешнего вида, еще и придает прочность внешней оболочке, защищающей сами компоненты GPS-спидометра. В идеале, если корпус выполнен из немагнитных металлов, а стекло индикатора (при наличии) из кварца. Подобная конструкция прослужит долго, мало подвержена царапинам и не разрушается со временем. Кроме самого материала и вида корпуса стоит обратить внимание на его класс защиты. Если для внутреннего использования в салоне автомобиля последний и не столь существенен, — в отношении наружного монтажа — критичен. Речь идет про установку GPS-спидометра на мотоциклы, мопеды, велосипеды и прочие открытые средства передвижения.
Класс защиты, которому соответствует автомобильный спидометр можно узнать из маркировки корпуса, меток упаковки или сведений, указанных в эксплуатационных документах. Для обозначения характеристики используется аббревиатура IP с последующим номером. Первая цифра из кода указывает противодействие попаданию пыли или мелких предметов, вторая проницаемость влаги. Чем выше значения, тем сильнее защищена оболочка. При IP69 аппарат полностью герметичен и способен работать и во время пылевой бури, и под водой.
Модели, представленные на рынке
Чтобы создать представление о моделях GPS-спидометров, распространенных на торговых площадках в 2021 году, сведем верхние строчки топа продаж в единую таблицу:
GPS-спидометр в смартфоне
Для тех случаев, когда GPS-спидометр купить нет возможности или смысла, в его качестве подойдет большая часть смартфонов Android. Установив на него из Play Market Google или F-Droid одно из следующих приложений:
- WonderTech Studio спидометр HUD;
- DigiZone Technology GPS-спидометр;
- Quality App Zone GPS-спидометр и одометр;
или любой другой найденный в магазине приложений, по ключевым словам: «GPS спидометр», пользователь получит те же возможности, как и при применении стационарного аппарата.
Обозреваемое устройство, скорее всего, будет бесполезно для большинства автомобилистов, владеющих автомобилями не совсем «лохматого» года выпуска, так как существует множество вариантов с гораздо более интересным функционалом, подключаемых посредством интерфейса OBD-2. Так же, вряд ли понадобится, если в автомобиле нормально работает штатный спидометр. Еще, выполнять аналогичные функции способен практически любой смартфон с GPS и большинство видео регистраторов.
Полагаю, что оно в принципе может быть востребовано только в ситуациях очень схожих с моей.
Предыстория и сама история под катом.
Зачем мне это надо
Итак, имеется некий автомобиль «A», хотя к чему интриги — «Audi», произведенный в те далекие времена, когда машины еще не были умнее своих владельцев, не имели полноценных «мозгов» в современном понимании, и интерфейса OBD-2 соответственно…
В семье он появился очень давно, еще в период своей юности. Автомобиль находится в неплохом техническом состоянии и дорог, как память и на сегодняшний день стоит совсем дешево, что исключает мысли о целесообразности его продажи. Живет в гараже на даче и изредка используется в качестве запасного.
Так вот, однажды старик закапризничал и отказался показывать кому-либо скорость своего передвижения. О том, что не стоит игнорировать этот каприз, вскоре напомнили добрые люди, проводившие время в кустах неподалеку от знака с числом 40 в красном кружочке. Обменяв какую-то сумму белорусских рублей на «Всего хорошего!», я задумался о ремонте спидометра. Диагностика, не вдаваясь в подробности, выявила проблему на стороне КПП, которая в остальном работала исправно, а потому абсолютно не располагала к её разборке. Попробовав использовать смартфон для измерения скорости, понял, что мне это неудобно. Да и не все члены семьи, время от времени использующие данный автомобиль, используют смартфоны (представьте себе, такое бывает). Сформировалась концепция необходимого устройства: Plug & Play, максимальная простота в использовании и минимальная стоимость.
Вот, собственно, основные предпосылки, которые сподвигли меня к приобретению именно этого спидометра.
Непосредственно о покупке
Цена у продавца, на момент приобретения, составляла 25.5$. Плюс раздавались купоны 2$ на покупку от 15$. Аналогов дешевле 23.5$ я не нашел.
2016-01-14 user_event_added
Посылка добавлена
2016-01-14 Finn post. Posti.
The item is not yet in Posti, VANTAA
2016-01-14 Finn post. Posti.
Item has been registered, VANTAA
2016-01-16 Finn post. Posti.
Item has arrived to warehouse, HONG KONG
2016-01-17 Finn post. Posti.
Item has departed from the warehouse, HONG KONG
2016-01-19 Finn post. Posti.
The item is on its way to the destination country, LUXEMBOURG
2016-01-26 Finn post. Posti.
The item is in transport, HKI VANTAA, ULKOMAANTERMINAALI
2016-01-26 Belarus Post;RU: БелПочта
Отправка отправления из учреждения обмена, HELSINKI
2016-01-30 Finn post. Posti.
The item has been submitted to customs clearance in the destination country, Ulkomaa/Foreign country
2016-01-30 Finn post. Posti.
Item arrived in the destination country, Ulkomaa/Foreign country
2016-01-30 Belarus Post;RU: БелПочта
Поступило в участок обработки почты, MINSK PI 2
2016-01-30 Belarus Post;RU: БелПочта
Прохождение по таможенной зоне, MINSK PI 2
2016-01-31 Belarus Post;RU: БелПочта
Отправка отправления в местное учреждение, MINSK PI 3
2016-01-31 Belarus Post;RU: БелПочта
08. Передано из (200400) в (220006) Минск — 6
2016-01-31 Finn post. Posti.
In transit, Ulkomaa/Foreign country
2016-02-01 Belarus Post;RU: БелПочта
06. Поступило в участок обработки почты (220006) Минск — 6
2016-02-01 Belarus Post;RU: БелПочта
09. Попытка доставки (220006) Минск — 6
2016-02-01 Finn post. Posti.
Delivery attempt made, addressee not reached, Ulkomaa/Foreign country
2016-02-01 Belarus Post;RU: БелПочта
Вручено, MINSK — 6
2016-02-01 Belarus Post;RU: БелПочта
10. Доставлено, вручено (220006) Минск — 6
В комлекте двухпозиционная резиновая подставка для удержания спидометра на панели стоя либо лёжа, довольно адекватная инструкция по переключению режимов на английском и кабель с micro-Usb для питания, длинный 182см.
В описании магазина в комплекте должна быть еще затемняющая плёнка на стекло под названием Reflection Film. Мне ее почему-то не положили, но т.к. ничего клеить на стекло я всё равно не собирался, это меня не расстроило. Если использовать спидометр в режиме проекции на лобовое стекло, в солнечный день была бы не лишней.
Размеры
Корпус спидометра аккуратно запаян, а потому перебороть соблазн препарирования было легко. Внутри должно быть как-то так
В работе
После подачи питания (включения зажигания) около минуты идет поиск спутников, затем спидометр начинает работать в соответствии с ранее установленными настройками. При отключении питания все настройки сохраняются.
Кратковременные нажатия на правую кнопку — выбор одного из трех режимов отображения скорости. Цифры на экране означают:
111 — нормальное отображение
222 — зеркальное перевернутое (для проекции на переднее стекло)
333 — зеркальное не перевернутое (для проекции на заднее стекло)
Длительное нажатие на правую кнопку — выбор мили или километры.
Кнопками «вверх» и «вниз» осуществляется установка лимита скорости, при превышении которого будет раздаваться пронзительный и противный писк.
При прекращении движения без выключения двигателя, например на светофоре, на экране поочередно отображается пройденное расстояние и время в пути.
Вышеупомянутый писк, так же через каждый час непрерывного движения напоминает водителю о том, что неплохо было бы остановиться и размять булки.
Показания спидометра при постоянной скорости корректны и в милях и в километрах в час. Есть некоторая инертность при наборе скорости и торможении, отстает от штатного спидометра примерно на 2 секунды, но чуть позже заметил что так же происходит и в Navitel в смартфоне.
На видео сравнение показаний GPS спидометра с показаниями исправного штатного спидометра MB из США (стрелка в милях, цифры в км/ч)
Вывод:
Устройство отлично работает и полностью оправдало мои надежды. Отсутсвие необходимости в каких-либо манипуляциях в процессе использования заслужило величайшее одобрение со стороны моего пожилого Родителя.
Ну а нужно ли оно вам — решать конечно же вам.
Как я уже писал, после установки в машину бортового компьютера Multitronics VC731, у меня возникла необходимость откалибровать его. Для этого нужно было проехать некоторое, точно известное расстояние, и ввести его в бортовик, после чего он произведет нужные расчеты и калибровку пробега и мгновенной скорости.
Для точного измерения пройденного пути я сразу подумал использовать GPS. Наивно полагая, что все получится, я установил в свой смартфон HTC Desire HD программу-логгер маршрута GPS и поехал.
После поездки, скинув информацию со смарта на комп, я был удивлен, насколько некачественно встроенный GPS приемник определяет свое местоположение. Маленькая частота обновлений координат и слабая антенна привели к тому, что даже в местах, где я двигался прямолинейно, со скоростью около 50 км/час, записанный трек выглядел как ломаная линия, а порой попадались восьмерки (вроде как я разворачивался и вдруг ехал назад, после чего снова разворот). В целом, конечно маршрут и измеренный пробег были примерно похожи на правду, но для калибровки бортовика такие измерения использовать я не мог.
Поразмышляв немного на эту тему, я пришел к выводу, что соберу-ка я сам GPS спидометр-одометр (далее девайс).
Это позволит убить массу зайцев одним выстрелом: откалибровать бортовик, познать азы работы с GPS приемниками, координатами и сопутствующими расчетами, ну и наконец, пощупать вживую известную платформу Arduino – именно на ней планировалось построить девайс.
По поводу Arduino – платформа известная, раскрученная, доступная, дешевая и удобная для использования. При этом обладает одним недостатком – среда разработки просто отвратительна. Она годится для детей и подростков, желающих познакомиться с программированием микропроцессоров, но никак для серьезной работы. К отсутствию массы, привычных в нормальных средах разработки, возможностей, можно добавить еще и омерзительный внешний вид нативной среды разработки для Arduino. Тем не менее, на момент постройки устройства я всего этого не знал, и потому программа писалась именно в этой среде.
Забегая вперед скажу, что я стал часто использовать борды Arduino в своих проектах, но программы стал писать в своем любимом компиляторе CodeVisionAVR, и заливаю ее в Arduino с помощью разработанной мной утилиты, встраиваемой в интерфейс компилятора. Я напишу отдельную статью касательно этого вопроса в ближайшем будущем.
Ну, вернемся к нашим баранам. Сердцем прибора стал борт Arduino Uno:
В качестве приемника GPS я использовал борд SparkFun основанный на чипе Venus638FLPx:
Приемник замечательный. Из основных достоинств могу отметить его 65 канальную архитектуру, широкий диапазон напряжений питания, возможность подключения резервного питания (что обеспечить быстрый старт при возобновлении основного питания), высокую частоту обновлений координат (до 20 Гц) и т.д.
Кроме того, приемник поддерживает подключение внешнего супер-конденсатора, который позволяет поддерживать напряжение в памяти приемника в течение многих часов. В результате, при повторном включении определение местоположения занимает считаные секунды.
Кроме того, раз уж пошла такая пьянка, в систему был добавлен Bluetooth передатчик HC-05 (pinout):
По нему, всю информацию, полученную от GPS приемника, планировалось переправлять как есть, что позволило бы использовать девайс в качестве внешнего GPS приемника для смартфона или ноутбука.
Сам модуль HC-05 доступен по цене 5-7 долларов за штуку и продается везде. К сожалению, работа с ним полна геморроя, потому как выпускает эти модули нынче каждый третий китаец, и делают они их все немного по разному, так, что найти 100%-но соответствующий даташит нереально. В итоге Bluetooth передатчик получается нормально запустить и настроить после нескольких циклов проб и ошибок.
Важно отметить, что для работы передатчика важно подтянуть к питанию ноги reset и wake-up, а также подсоединить к земле все GND.
Ну и наконец – антенна, первая, что попалась под руку:
Все вышеназванные детали были соединены вот таким образом (надеюсь, я не ошибся – девайс строился на лету, так что схему я рисовал по памяти):
В итоге из рассыпухи break-up бордов получилась вот такая лапша:
После того, как девайс был готов, была написана прошивка, последнюю версию которой можно сказать здесь.
Кратенько о прошивке.
При включении, после заставки, на экране высвечивается сообщение No fix detected. Оно будет продолжать высвечиваться, пока девайс не сможет определить собственные координаты.
Как только это произойдет, они тут же высветятся на экране, вместе с текущей скоростью и азимутом движения.
Левой кнопкой можно менять режим отображения данных на экране. Возможности:
Длительным нажатием на правую кнопку можно обнулить одометр.
Девайс постоянно мониторит напряжение батареи, и как только оно упадет ниже 3.2 вольт, девайс перейдет в режим отображения напряжения на экране. При этом перейти на другой экран станет невозможно.
В этот момент крайне рекомендуется выключить девайс или подключить его к зарядке. Никаких дополнительных средств защиты не предусмотрено, поэтому, если проигнорировать сообщение о низком напряжении, есть большой шанс безвозвратно угробить как минимум батарею.
Кроме того, если в процессе работы ухудшится прием GPS и девайс начнет терять сигнал, высветиться сообщение DATA LOSS.
Подсчет пройденного расстояния производится по методу Great Circle distance calculation – HAVERSINE. В силу специфики гражданского GPS, измерения пробега получаются наиболее точными при движении по трассе. Хотя с хорошей антенной и в городе точность получается довольно точными. При контрольной проверке по карте, погрешность соста
вила пару сотен метров на 50 километров пути.
Передача данных по Bluetooth осуществляется параллельно основной работе девайса, и может быть полезна, к примеру, пользователям смартфонов на Android. Точность и чувствительность девайса в разы лучше оных на встроенном в смартфон GPS модуле, и потому, при помощи бесплатной программы Bluetooth GPS можно заставить все остальные программы, пользующиеся GPS для работы использовать данные приходящие по Bluetooth, вместо данных со встроенной антенны.
Кроме того, вместо телефона к Bluetooth можно подключить компьютер и пользоваться им в качестве инструмента для записи и анализа маршрута, в том числе в реальном времени.
После окончательной сборки и проверка девайса, я смог, наконец, с большой точностью откалибровать свой Multitronics.
Теперь активно пользую девайс при путешествиях на джипах по бездорожью – удобно измерять пройденные расстояния, чтобы не сбиться с маршрута.
Читайте также: