Проекты ардуино для автомобиля
Первые шаги использования Ардуино в автомобиле
Совсем недавно недорогие микроконтроллеры, такие как Arduino, открыли новые двери для тех, кто хочет сделать интересные приспособления для своих автомобилей. В этой статье мы рассмотрим популярный проект, связанный с Аrduino в автомобиле, который использует эту популярную открытую аппаратную плату.
Возможность применения Arduino в автомобиле для его улучшения
Самый распространенный проект на Ардуино для автомобиля – установка в машине ЖК-дисплея с особыми функциями и показателями.
Когда Ардуино-дисплей в авто находится в движении, отображаются: процент нагрузки двигателя, напряжение батареи, температура в салоне и температура охлаждающей жидкости двигателя (есть несколько других статистических данных о транспортном средстве, которые могут отображаться, если нужны). Помимо дисплея и микроконтроллера, понадобятся различные датчики для создания этого Аrduino проекта для автомобиля.
Если Аrduino для автомобиля совместим с IDE Teensy 3.6, то читается анимированный растровый образ машины и резервные датчики. Каждый из четырех датчиков на своем месте, так же, как и анимационная картинка автомобиляоторая меняет цвет, исходя из того, насколько близко объект находится к машине (только зеленый означает Какие датчики можно подключить к Ардуино
В конечном итоге, пользователь получит отличное приспособление, контролирующие все возможные параметры автомобиля. Список деталей, которые понадобятся для создания этого ЖК-дисплея Ардуино для автомобиля, приведен ниже:
Подключение, запуск и настройка автоустройств на Ардуино
Для загрузки эскиза проекта Ардуино для авто в виде ЖК-дисплея в Teensy 3.6 вам необходимо установить Teensyduino. Затем вам нужно будет заменить библиотеки Adafruit_RA8875 и Adafruit_GFX в расположении библиотеки Teensy (а не на вашем типичном месте в документах). На Mac операционной системе нужно щелкнуть правой кнопкой мыши по значку приложения Arduino в приложениях, а затем перейти в:
/Содержание/Java/hardware/teensy/avr/libraries
В Windows данная папка находится под основным диском C, в файлах программ x86, Arduino, а затем в папке с аппаратным обеспечением. Как только вы это сделаете, вам нужно будет изменить расположение эскиза в приложении Arduino, отредактировав его в настройках – обычно библиотеки “Тинси” размещаются по следующему адресу:
/Applications/Arduino.app/Contents/Java/hardware/teensy/avr
Из-за проблемы с внутренним температурным датчиком пользователь устанавливает температурный датчик модуля DS18B20.
В zip-файле, который находится по ссылке выше, вы увидите 4 эскиза Аrduino.
Необходимо исправить ошибки, всплывающие при подключении электронного устройства, включая DS18B20, выводя температуру в 185 градусов по Фаренгейту; дисплей не включается вообще в холодную погоду, а пиксели застревают в неправильном цвете, когда дисплей затемнен.
Обратите внимание, что разгон teensy до 240 МГц не позволяет адаптеру I2C OBD-II взаимодействовать с teensy. Наконец, просто нажмите кнопку «Загрузить». В представленном скетче находятся обширные комментарии, которые помогут пользователю адаптироваться при конструировании ЖК-дисплея для авто.
Вскоре после установки дисплея пользователь поймет, что дисплей работает даже тогда, даже когда автомобиль выключен.
Заглянув в разводку OBD-II, электронщик обнаружит, что линия питания 12 В к разъему OBD-II всегда подключается непосредственно к батарее. Чтобы обойти это, необходимо купить разветвитель OBD-II и отрезать провод, идущий на контакт 16 на одном из двух разъемов на сплиттере, а затем подключить этот разрезаемый провод к добавлению проводки.
Затем, используя мультиметр, необходимо заглянуть в коробку предохранителей на стороне водителя и протестировать существующие предохранители, чтобы узнать, какой предохранитель получил питание после того, как ключ был включен в зажигание.
В конце пользователь подключает добавочный провод к предохранителю, который нужен для того, чтобы дисплей теперь включался только тогда, когда автомобиль работает и находится на ходу. Проведите некоторое исследование того, как правильно добавить схему к вашему автомобилю. Многие подобные проекты описаны на нашем сайте с подробными разъяснениями.
Кроме того, пользователь может добавить кнопку “стоп-старт” на Ардуино для своего дисплея с параметрами для автомобиля.
NanoComfort. Двусторонняя GSM сигнализация.
В общем началось все с модернизации китайской кнопки старт-стоп, а по итогу закончилось разработкой собственного модуля на микроконтроллерах Esp32 и Arduino, который теперь, в принципе, является полноценной двусторонней сигнализацией с управлением через Android приложение из любой точки планеты по сети интернет. Также доступен дополнительный способ связи по Bluetooth в радиусе 50 метров, на случай проблем с интернет соединением.
Спроектировал все это дело на печатной плате.
Написал Android приложение.
Пока под iOS не делал, и не факт что буду.
На самом деле, давно мечтал о такой системе в авто, но цены слишком кусачие, поэтому пришлось разрабатывать все самому :)) К сведению, самая дешёвая сигнализация такого же плана с установкой обойдётся от 250$, а по функционалу они даже проигрывают моему модулю. Так как во-первых она значительно дешевле, здесь есть и поддержка кнопки старт-стоп, и встроенная функция комфортный поворот, и естественно куча стандартных опций (типа отображения заряда акб, температуры на улице/в салоне, смс оповещения о сработках, разряде акб или не запертом авто и др.) ну и масса доп. каналов, с помощью которых, можно управлять любым бортовым оборудованием авто через реле прямо из приложения, либо доп. модулями, и самое главное не по заданному производителем алгоритму (типо «при открытии появляется сигнал, при закрытии пропадает»), а просто абсолютно в любой момент, когда тебе удобно, ведь все можно автоматизировать правкой прошивки.
К примеру, недавно устанавливал нескольким товарищам модуль, и вот одному захотелось чтобы при запуске двс включалась музыка, а выключалась уже только после закрытия авто. Другому захотелось, чтобы при сработке сигнализации, автоматически включался регистратор, и делал минуту записи, ну и т.п. :))
Второй МК на Pro Micro отвечает только за работу модема, так сказать является переходником между модемом и Esp32. Чтобы разгрузить код и в момент переподключений к сети, не занимать главный МК, который отвечает за работу всей системы.
Все выходы на плате (кроме силовых) слаботочные, то есть подключаем только к управляющим контактам реле, либо к слабой нагрузке до 500-700мА. По подключению в принципе ничего сверх сложного, как у любой системы такого плана. Сейчас составляю подробную инструкцию, может кому то будет интересно.
Для доступа в интернет вставляется Sim карта в слот на плате. Я сделал просто дубликат своей sim карты, очень удобно.
Хочу отметить что создавалась система исходя из своих желаний, и главным было избавиться от всего носимого барахла, типо ключей и брелков. А телефон всегда с собой, поэтому все управление производится из приложения. Для удобства, можно через сторонний софт привязать, к примеру браслет/часы Xiaomi и управлять авто с помощью их, не лазя в карман. Или вообще сказать «Ok, Google» и попросить открыть, либо завести машину ))) Хотя это скорее для развлечений. Реакция людей, убивает =))
Что касается энергопотребления, делал замеры на нескольких авто. В общем в режиме покоя(ожидания), модуль ест в районе 100-110мА. Да цифра немного выше стандартно допустимых, но функционал того требует. МК работает в постоянном цикле. Пока не делал большого упора в сторону спящих режимов и снижения энергопотребления, т.к. не вижу смысла, если у вас авто не простаивает неделями, то вы этого не почувствуете. Возможно, если появится необходимость, буду думать что нибудь по этому поводу. Но честно пока даже нет мыслей как сохранить мониторинг сервера, и обработку ударов/вибрации с режимом сна.
В общем штука получилась очень интересная и полезная) Ооочень много времени ушло на эту разработку, но я думаю оно того стоило 😉
Ребята, скетчем к сожалению, пока поделиться не могу. Уж очень много сил вложено, сами понимаете, и есть надежда что у данной работы есть какое-то будущее.
Но кому очень интересно, могу отправить печатную плату, и МК с инструкцией для самостоятельной сборки.
В общем, по все интересующим вопросам можете писать в личку.
Ну а ниже на видео, постараюсь показать принцип работы и функционал моего модуля (обозвал его «NanoComfort» :))
Съемка не профессиональная и на скорую руку :)) «не пинайте»…
Формирование композитного видеосигнала Ардуиной для 2DIN-магнитолы. Часть №2. Долгожданный полноцвет.
Вторая часть марлезонского балета.
Несколько лет назад мне приспичило соорудить контроллер управления для дизельного двигателя. Я до сих пор так и не приступил к этой затее вплотную, но подбираюсь к ней всё ближе и ближе.
Как я уже писал в предыдущей статье — мне нужно свести в единую кучу информацию с довольно большого количества различных датчиков и механизмов. Пока такой информации было немного — я собирался примостить несколько показометров где придётся. Как-то это было не принципиально. Но вал количества необходимой информации нарастал стремительно и в определённый момент я понял, что отображение всего этого безобразия переросло в отдельную проблему. Увешивать весь салон автомобиля циферблатами я не имел ни малейшего желания. Такого счастия мне не надо:
Именно тогда я начал эксперименты с дисплеями.
Идея была простая — модифицировать штатную приборную панель автомобиля, врезать в неё два трёх дюймовых жк-дисплея и выводить всю информацию туда… На своей предыдущей машине я даже воплотил это в жизнь, но ту машинёшку я поменял на другую и процесс опять начался фактически с нуля.
По опыту эксплуатации предыдущей машины я уже понял, что вся эта цифирь в повседневной жизни мне перед носом нафиг не нужна и потому концепция строительства развернулась на 180 градусов. Настолько, что сейчас я собираюсь переделать штатный показометр температуры двигателя на отображение количества газового топлива в баллонах. Всю техническую и сервисную информацию я буду отображать на экране китайской андроидной магнитолы с RCA-видеовходом — причём только тогда, когда это будет действительно необходимо:
1). В случае манипуляций с климат-контролем, управление которого тоже переселяется в самодельный блок управления. Нажал любую из клавиш климат-контроля — на экране СРАЗУ отображается раздел с информацией по этой теме.
2). В случае возникновения нештатных ситуаций. Температура двигателя повысилась выше нормы — получай голосовое сообщение и экран с полной раскладкой по двигателю и АКПП.
3). В случае ручного переключения на соответствующий режим для наблюдения за происходящим или для просмотра накопленной информации.
4). Естественно, в случае включения заднего хода переключаемся на камеру заднего вида.
Все остальное время магнитола выполняет свои штатные функции.
Для более тесной интеграции в автомобиль формирование картинки будет осуществляться непосредственно разрабатываемым компьютером — никаких программ под Андроид я писать не собираюсь…
Только такой подход обеспечивает мгновенную реакцию и надёжную работу экрана.
Именно потому так много времени у меня заняла тема формирования качественного низкочастотного композитного видеосигнала для подачи на RCA-вход камеры заднего вида 2DIN-магнитолы.
На пике коронобесия я снял с автомобиля магнитолу, снял со стены телевизор, поскрёб по сусекам в поисках кой-какого электронного барахла и устроил себе недельную самоизоляцию на своём домашнем рабочем месте…
Самое забавное — я так и не сумел вывести монохромное изображение на экран магнитолы. Чего я только не пробовал… На экране жк-телевизора картинка отображалась без особых танцев с бубнами, а на экране магнитолы в лучшем случае мелькали куски изображения. Вероятно чип магнитолы слишком требователен к качеству формируемого видеосигнала…
Даже тяжёлая артиллерия в виде Arduino DUE с библиотекой от stimmer`а ничего не изменила в итоге — изображение всё также еле угадывалось по отрывочным всполохам.
На экране телевизора картинка была устойчивая и даже цветная, но гадкая до неприличия именно из-за своей цветности. Кто видел расфокусированный кинескопный цветной телевизор — тот поймёт.
Когда руки у меня опустились, я в полном расстройстве чуфств перелопатил свое творение под формирование VGA-сигнала буквально тремя резисторами. По всем прикидкам изображение должно быть намного лучше — так оно и вышло. Картинка на компьютерном мониторе получилась просто зашибись:
На экране жк-телевизора она смотрелась несколько хуже, но не принципиально.
Такое качество изображения меня вполне устраивало, но всё портило одно обстоятельство — на моей автомагнитоле нет ни VGA-входа, ни HDMI.
Деваться было не куда — я решил не терять более своего драгоценного времени и в вопросе формирования композитного видеосигнала отдался на откуп профессионалов.
Нормальные герои всегда идут в обход?
Благо поиск фабричного конвертера из VGA в RCA долго времени не занял:
Не знаю, сколько такое устройство стОит на самом деле — мне оно обошлось в пределах 20уе.
Поиск в интернэте дал только один вариант в Алма-Ате и я поскакал быстрее покупать агрегат, пока он не исчез из наличия.
Сама коробочка небольшая, греется при работе прилично… Я её не вскрывал, но судя по всему слепить подобное из говна и палок будет несколько проблематично даже при сильном желании.
Функционал устройства приятно впечатлил, картинка с компьютера на экране телевизора отображалась очень даже прилично — для кыно вариант в самый раз. Молодцы китайцы. А вот надписи на экране были практически нечитаемы — реальное разрешение у композитного сигнала некудышнее. Увы…
На экране магнитолы картинка меня качеством не впечатлила — изображение было слегка замыленное и мерзко дрожащее. Ситуацию заметно улучшило переключение видеокодека на формат NTSC-J. Даже NTSC-M слегка хуже, а PAL в своём многообразии так весь отстой полный. Понятно, что это уже определяется уровнем качества видеовхода магнитолы(на телевизоре такой заметной разницы нет), но настроение мне это слегка попортило.
После всех ковыряний итог получился такой:
Фотографии неудачные — смартфон очень плохо берёт прямые источники света.
В реальности изображение довольно качественное. Так выглядят чистые цвета:
Что мне и требовалось.
Картинка низкого(320*240) разрешения, сформированная всё той же связкой Arduino DUE с библиотекой stimmer`а в версии VGA, пропущенная через конвертор с расстояния вытянутой руки смотрится чуть хуже, но тоже вполне достойно:
Проект можно посмотреть здесь — stimmer.github.io/DueVGA/
Проблема только одна — библиотека stimmer`а написана 7 лет назад и фактически брошена автором на призвол судьбы — не фиксится и не развивается более.
Для формирования ПРИМИТИВНОГО цветного VGA-сигнала могу ещё порекомендовать библиотеку — github.com/RoCorbera/BlueVGA. Она написана для дешёвого и распространённого клона Ардуины на чипе STM32F103C8T6, про которого я писал в прошлой статье, который тоже позволяет выводить неплохую цветную VGA-картинку разрешением 28 на 30 символов(224*240 пикселей) и 8 цветов — этого вполне достаточно для многих проектов, не требующих реальной графики:
Мне же нужна приличная графика, чтобы формировать подобные вещи:
Потому мне необходим инструмент помощней.
А раз уж я переключился с формирования композитного сигнала на формирование VGA — то и выбор мой расширился на порядки.
Формирование VGA намного проще — потому готовых проектов для повторения просто море.
Потому я в ближайшее время собираюсь таки заказать себе ESP32 и поиграться с ним — он должен формировать в разы лучшее изображение(от 640*480 и выше при 64 цветах) при меньшей вероятности затыков от выполнения параллельных задач, которых у меня будет много.
Определюсь с окончательной платформой и начну уже наконец реальное строительство своего газодизеля.
Проекты от Ардуино для автомобилей
Плата Arduino является одним из самых популярных аппаратных модулей для модификации машин. Она не занимает большое количество свободного пространства в салоне и обладает высокой мощностью. Для реализации Ардуино-проектов для автомобиля не требуются знания микроэлектроники и программирования.
Особенности применения Ардуино в автомобиле для его улучшения
Для улучшения периферийных деталей авто рекомендуется использовать микроконтроллер Arduino Pro Mini.
С помощью этого устройства можно создать следующие приборы:
Во время движения транспортного средства на нем отображаются следующие показатели:
Если плата Arduino совместима с платформой IDE Teensy 3.6, то можно установить в салоне датчики движения. Они рассчитывают расстояние между машинами, что позволит снизить риск возникновения дорожно-транспортного происшествия.
Дистанция рассчитывается с помощью микропроцессора. Если расстояние между объектами меньше 1,5 м, то светодиоды на датчиках становятся зелеными. При меньшей дистанции диоды меняют цветовой оттенок.
При использовании микроконтроллера Ардуино нужно знать основные свойства проприетарного протокола связи. С его помощью осуществляется передача данных между устройствами. Работа самодельных устройств осуществляется при помощи скетча, написанного в программной среде Arduino IDE. Вывод данных производится через портативную консоль. Для стабильной работы платы рекомендуется приобрести SD-карту, где будут храниться скетчи и дополнительное программное обеспечение.
Какие датчики можно подключить
Для создания основных проектов на базе Ардуино требуются следующие датчики:
Комплектующие необходимо приобретать на официальном сайте производителя или в сертифицированных магазинах. В противном случае можно приобрести неисправное устройство, способное вызвать короткое замыкание.
Инструкция по подключению, запуску и настройке автоустройств на Arduino
Перед настройкой платы Ардуино рекомендуется установить расширение Teensyduino для программной среды Arduino IDE. Оно поддерживает большую часть электронных библиотек, необходимых для корректного написания скетчей. В папке с аппаратным обеспечением Ардуино нужно изменить местоположение эскизов и отредактировать их в настройках Arduino IDE.
При подключении платы к основным комплектующим могут возникнуть ошибки, связанные с некорректной работой приборов при недостаточном освещении или низкой температуре. Для устранения неполадок необходимо вставить скетч display_code_with_new_temperature_sensor и загрузить его на микроконтроллер. Для включения платы требуется подать на нее питание с помощью кабеля 12 В, подключаемого к порту OBD-II.
68 car projects
The project was initially designed to acquire real-time race car data for BAJA-SAE competitions.
Race Car Dashboard (Online Connectivity)
Project showcase by Team Jatayu
MeArm mounted on smart robot car controlled by 2 Arduino UNOs
MAX009
Project showcase by benoitdr
NodeMCU ESP8266 in access point mode: the simplest way to make Wi-Fi controlled Robot Car from Bluetooth Arduino Robot Car + Android App.
From BT To WiFi: Creating WiFi Controlled Arduino Robot Car
This project shows how you can build a car which can be controlled by your smartphone using an android application via Bluetooth.
Bluetooth Controlled Car
Project tutorial by JANAK13
An Arduino controlled car that avoids obstacles (ie. walls or objects in front of it).
Obstacle Avoiding Car
Project showcase by Team Adam
Track ME is a «small» GPS, SD Card, and GSM Shield controlled by an Arduino Mega. Call me and get my location.
Track ME
Project tutorial by Hugo Gomes
How to make an Arduino 4WD RC Car with Joystick Controller (Arduino Uno | Joystick Shield | nRF24L01+PA+LNA).
Arduino 4WD RC Car
Project tutorial by Andriy Baranov
A system that tells you about the parking slots of an area.
Smart Parking
Monitor Oil Temp and Pressure, Water Temp, Voltage, Fuel level. Display on Nextion display or Nokia LCD
Car Sensor monitoring & Alarm
Project showcase by petemnz
Why are even the modern day cars are not equipped with biometric entry system? Here is an attempt on a Toyota C-HR.
Project showcase by Rajeev Velikkal
CAN bus hack for reading the battery diagnostics form an electric car.
ED BMSdiag
Project tutorial by MyLab-odyssey
Use three HC-SR04 ultrasound sensors and two battery displays to show you how close the obstacles are and from which side.
Parking Radar Sensor
Project tutorial by SurtrTech
A versatile & easy to use vehicle platform for hobby-grade projects: You focus on application logic and the library takes care of the rest.
Getting Started with the Smartcar Platform
An Arduino car project based on the RoboRoverM1 chassis.
Arduino 4WD Car
Project tutorial by Maksim
A small car based on Arduino platform which can be controlled using Bluetooth and a Android app.
Bluetooth Controlled Car
Project tutorial by Aniket Mindhe
MKR WiFi 1000 talks to a car through OBD-II interface, and uploads the data to IoT cloud for real-time monitoring and post-processing.
IoT4Car
Project tutorial by zhaoshentech