Спидометр моей рабочей машины стал барахлить: временами значение скорости падает на ноль и после некоторого времени он снова начинает работать.
Если ты хорошо водишь, то это не вызывает проблем. Но если ты новичок, то постоянно должен смотреть на спидометр. Всё нормально, если ты придерживаешься примерной нужной скорости, но что делать, если тебе нужно понизить её до значений, допущенных на данном участке дороги, а твой спидометр неожиданно падает на ноль?
Эта проблема была переосмыслена мной в неплохую возможность создать новый девайс — GPS-спидометр. Конечно же, идеальным решением было бы просто отвезти машину в сервис, или использовать навигатор, или пользоваться программой на смартфоне с нужными функциями, но в этом нет никакого веселья!
Содержание статьи
Шаг 1: Компоненты
Микроконтроллер
Я выбрал DFRobot Dreamer Nano V4.1, ведь у него есть порт USB для питания, а также совместимая распиновка.
GPS
Я использовал UBX-G7020-KT, он поставляется со встроенной антенной. Также можно повысить скорость его обновления до 10Hz (для данного проекта эта функция будет очень полезной)
Дисплей
Я хотел подобрать хороший дисплей, но при этом не раздувать бюджет, и мой выбор пал на OLED 2828 Display Module.
Питание
Питание для девайса будет подаваться от прикуривателя автомобиля.
Футляр
Для этого проекта я создал дизайн для 3D принтера.
Файлы
Шаг 2: Соедините компоненты
Дизайн с использованием светодиодов я придумал позже, так что на приложенной схеме они отсутствуют, но в процессе сборки я добавил 10 светодиодов (7 зеленых и 3 красных).
Я забыл сделать фотографии процесса сборки, так что просто опишу на словах, что всё было собрано на макетной плате — на одной стороне поместились светодиоды, а на другой — микроконтроллер и все соединения. Чтобы сборка проходила легче, оставьте светодиоды на потом, так как некоторые соединения будут проходить по их задней части.
Шаг 3: Код
Чтобы код работал правильно, вам нужно будет установить эти библиотеки в папку библиотек Ардуино.
Код отправляет на экран информацию о скорости, направлении, числе спутников, широте и долготе. При желании, можно отобразить на дисплее гораздо больше информации: время, дату, расстояние до нужной точки и т.д. Проверьте полную версию библиотеки TinyGps++, чтобы узнать о всех её возможностях.
Еще одной особенностью моего джипиэс спидометра стала светодиодная полоса. Я настроил её на максимальную скорость в 190 км/час. Если ваша максимальная скорость вождения превышает мою, то просто поменяйте лимит в функции «map» на тот, который подходит вам.
Файлы
Шаг 4: Заключение
Я новичок в деле 3D-печати, поэтому мои заготовки не слишком хороши. Опытный человек сможет легко спроектировать более интересный корпус. Также, я разместил антенну на задней стенке корпуса и хотел бы в следующей версии спидометра убрать её. Отображение направления движения работает не слишком хорошо, но это мелочь — в будущем я хочу заменить его на более полезные данные, например время прибытия на место назначения.
В целом же у меня получился хороший функционирующий GPS датчик скорости, который можно использовать не только в машине, а, например, пристроить его на велосипед.