Для arduino умный автомобиль

Первые шаги использования Ардуино в автомобиле

Совсем недавно недорогие микроконтроллеры, такие как Arduino, открыли новые двери для тех, кто хочет сделать интересные приспособления для своих автомобилей. В этой статье мы рассмотрим популярный проект, связанный с Аrduino в автомобиле, который использует эту популярную открытую аппаратную плату.

Возможность применения Arduino в автомобиле для его улучшения

Самый распространенный проект на Ардуино для автомобиля – установка в машине ЖК-дисплея с особыми функциями и показателями.

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

Если Аrduino для автомобиля совместим с IDE Teensy 3.6, то читается анимированный растровый образ машины и резервные датчики. Каждый из четырех датчиков на своем месте, так же, как и анимационная картинка автомобиляоторая меняет цвет, исходя из того, насколько близко объект находится к машине (только зеленый означает Какие датчики можно подключить к Ардуино

В конечном итоге, пользователь получит отличное приспособление, контролирующие все возможные параметры автомобиля. Список деталей, которые понадобятся для создания этого ЖК-дисплея Ардуино для автомобиля, приведен ниже:

  1. Адаптер Freematics OBD-II.
  2. Резервные датчики.
  3. 7-дюймовый ЖК-дисплей TFT.
  4. Драйвер для дисплея LCD на базе SPI.
  5. Микропроцессор Teensy 3.6.
  6. Специальный уровень Shifter.
  7. 74HC125 Tri State Buffer IC.
  8. Карта памяти MicroSD Card.
  9. Провод, конденсаторы и резисторы.
  10. Датчик температуры DS18B20.
  11. Разделитель OBD-II.
  12. Микроконтроллер Ардуино.
Читайте также:  Траверса для поднятия автомобиля

Подключение, запуск и настройка автоустройств на Ардуино

Для загрузки эскиза проекта Ардуино для авто в виде ЖК-дисплея в 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.

  1. Загрузите эскиз display_code, если вы хотите использовать внутренний температурный датчик модуля OB2 I2C OBD-II.
  2. Загрузите эскиз display_code_with_new_temperature_sensor, если вы хотите использовать модуль DS18B20.

Необходимо исправить ошибки, всплывающие при подключении электронного устройства, включая DS18B20, выводя температуру в 185 градусов по Фаренгейту; дисплей не включается вообще в холодную погоду, а пиксели застревают в неправильном цвете, когда дисплей затемнен.

Обратите внимание, что разгон teensy до 240 МГц не позволяет адаптеру I2C OBD-II взаимодействовать с teensy. Наконец, просто нажмите кнопку «Загрузить». В представленном скетче находятся обширные комментарии, которые помогут пользователю адаптироваться при конструировании ЖК-дисплея для авто.

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

Заглянув в разводку OBD-II, электронщик обнаружит, что линия питания 12 В к разъему OBD-II всегда подключается непосредственно к батарее. Чтобы обойти это, необходимо купить разветвитель OBD-II и отрезать провод, идущий на контакт 16 на одном из двух разъемов на сплиттере, а затем подключить этот разрезаемый провод к добавлению проводки.

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

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

Кроме того, пользователь может добавить кнопку “стоп-старт” на Ардуино для своего дисплея с параметрами для автомобиля.

Источник статьи: http://arduinoplus.ru/arduino-v-avtomobile/

Полноприводная машинка на основе Ардуино и RoboRoverM1

Проект полноприводной машинки на основе микроконтроллера Arduino Uno, сенсора HC-SR04 и на базе шасси RoboRoverM1.

Комплектующие

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

  • Драйвер мотора L298N
  • Sharp GP2Y0A21YK0F Аналоговый датчик расстояния 10-80 см
  • Ультразвуковой датчик — HC-SR04 (универсальный)
  • Датчик TCRT5000 (цифровой выход)
  • Мотор DAGU DC 1:48 (вы можете использовать 2 или 4 мотора)
  • Arduino UNO
  • Сенсорный экран V5
  • Робот RoboRover M1

Вам не нужно покупать перечисленные выше аппаратные компоненты, если вы будете использовать шасси RoboRover M1. Это шасси имеет все необходимые компоненты:

  • 2 инфракрасных датчика расстояния Sharp A21,
  • 3 линейных датчика TCRT5000,
  • 1 ультразвуковой датчик расстояния HC-SR04.

А драйвером двигателя является L298N с 4 двигателями (2 двигателя с каждой стороны, соединенные параллельно). Робот поворачивается как танк, меняя скорость вращения правого и левого колес.

И, конечно, из программного обеспечения нам нужна Arduino IDE для работы с нашим кодом.

Робота

Шасси

Очень простой проект, который демонстрирует основы сборки машинки/автомобиля Arduino. По этой причине мы используем шасси RoboRoverM1, но вы можете создать свой собственный автомобиль Arduino, используя свои комплектующие, так как важна идея. Для урока мы будем использовать свое собственное роботизированное шасси RoboRover M1, полноприводное шасси из пластика 4 мм.

Робот RoboRover M1 со всей установленной электроникой ниже. Также был сделан большой зеленый корпус для робота, чтобы защитить всю электронику внутри.

В собранном виде это выглядит таким образом.

Электроника

На фото ниже вы можете увидеть все датчики этого роботизированного автомобиля. Думаю, достаточно изучить основы роботизированного автомобильного движения:

  • 3 линейных датчика, чтобы следовать за линией и изучить, как следовать за линией. Модель TCRT5000.
  • 2 инфракрасных датчика расстояния, чтобы изучить, как измерить расстояние и написать алгоритмы обхода препятствий. Модель GP2Y0A21YK0F.
  • 1 ультразвуковой датчик, который установлен на сервоприводе. Серво может вращаться, и вы можете сделать простую карту расстояний впереди робота. Модель ультразвукового датчика — HC-SR04, а модель сервопривода — MG995R.

Моторы

Чтобы заставить робота двигаться, нам нужны моторы, поэтому мы используем 4 желтых мотора DAGU 1:48 (передаточное число) 5V. Если вы делаете свою собственную машинку, вы можете использовать 2 мотора.

Для управления моторами мы используем моторный привод L298N, не самый лучший, потому что он использует много пинов ввода/вывода автомобиля Arduino, но это руководство для начинающих. Позже вы сможете обновить автомобиль с помощью I2C привода.

Питание машинки-робота

Чтобы позволить роботу двигаться, нам нужно использовать батарею. Рекомендуем использовать 7,4 В Li-Po 2S батарею, думаем, что это лучшее решение для такого типа робота. Не используйте батарейки типа АА или ААА, это плохой выбор.

Для Li-Po аккумулятора необходимо использовать специальное зарядное устройство и контроллер напряжения, но это того стоит.

Это зарядная станция, но вы можете найти разные модели. Самым дешевым является USB-зарядное устройство, но оно очень медленное.

Используйте небольшой тестер напряжения во время работы робота. Он покажет вам время, когда нужно начать заряжать аккумулятор. Эта мелочь поможет вам не разряжать батарею, потому что, если батарея Li-Po чрезмерно разряжена, она перестает правильно функционировать.

Подключение драйвера L298N

Припаиваем все двигатели через небольшой конденсатор и устанавливаем их.

Для правого двигателя один провод подключите к OUT3, а второй провод подключите к OUT4. Таким же образом подключите второй правый мотор.

Для левого двигателя один провод соединяется с OUT2, а второй провод соединяется с OUT1. Таким же образом подключите второй левый мотор.

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

Сделайте такого рода разъем. Используйте двухпозиционный переключатель (для включения и выключения двигателей и сервопривода робота). Я думаю, вы знаете как паять. Красный разъем для батареи, проверьте, какой тип разъема установлен в вашей батарее. Рекомендуем использовать T-штекер.

Схема соединения источника питания.

Т-образный разъем. Слева разъем батареи (мама), справа (папа) разъем робота.

Не соединяйте Т-образные разъемы сейчас. Сделайте это после того, как все соединения завершены, на последнем шаге.

Затем установите всё на свой автомобиль. Если вы используете другое собственное шасси, монтаж шасси может быть другим.

Красный провод подключается к крайнему левому разъему + 12В 3-контактного разъема на драйвере L298N.

Два черных провода подключаются к среднему разъему GND 3-контактного разъема на L298N.

Затем возьмите 6 длинных проводов длиной 30-40 см и подключите их к контактам ENA, IN1, IN2, IN3, IN4, ENB на автомобильном приводе L298N.

Провод № 7 подключите к среднему разъему GND 3-контактного разъема на драйвере L298N (туда же, куда вы подключали предыдущие черные провода).

В конце концов, ваше соединение должно выглядеть так.

Если вы хотите использовать сервопривод в своем автомобиле-роботе, убедитесь, что он совместим с напряжением 7,4 В. Затем вы можете извлечь красный провод из разъема сервомеханизма и подключить провод к крайнему левому разъему + 12 В 3-контактного разъема на приводе L298N (там же, куда вы ранее подключали красный провод).

Сначала проверьте напряжение сервопривода! Если это не совместимо, просто подключите сервопривод к датчику шилда без каких-либо изменений. В моем случае сервопривод MG995R (MG995) совместим с 7,4 В, к сожалению, на фото мы забыли подключить сервопривод.

Подключение сенсорного шилда к Arduino Uno

Драйвер двигателя

Используйте простой сенсорный шилд для Arduino Uno, чтобы подключить все датчики и провода моторного привода. Наша модель — Arduino Sensor Shield V5.

Провод от автомобильного привода, который необходимо подключить к цифровым контактам на шилде:

  • ENA на D5
  • IN1 на D2
  • IN2 на D8
  • ENB на D3
  • IN3 на D11
  • IN4 на D10

Линейные датчики

Линейный датчик является цифровым, но мы можем использовать аналоговые входы Arduino Uno для считывания цифровых сигналов. Мы подключаем вывод GND датчика к выводу GND на экране, вывод VCC датчика к выводу VCC на шилде 5V.

Сигналы линейных датчиков мы подключаем к аналоговым контактам на шилде:

  • Линейный датчик (слева) на A3
  • Линейный датчик (в центре) на А4
  • Линейный датчик (справа) на A5

Инфракрасные датчики

Аналоговые инфракрасные датчики расстояния Sharp мы подключаем аналогичным образом. Обратите внимание, что в этом случае средний провод датчиков Sharp (черный) — это GND, левый провод (красный) — это VCC, а правый провод (желтый) — это выходной сигнал.

Мы подключаем вывод GND датчика к выводу GND на шилде, вывод VCC датчика к выводу VCC на шилде 5V.

Сигналы инфракрасных датчиков мы подключаем к аналоговым контактам шилда:

  • Датчик слева на A0
  • Датчик справа на А1

Ультразвуковой датчик и сервопривод

Ультразвуковой датчик подключается к следующим контактам:

  • подсоедините вывод GND датчика к выводу GND на шилде,
  • вывод VCC датчика к выводу VCC на шилде 5V.

Другие контакты мы подключаем к цифровым входам шилда.

Сервопривод подключается к следующим контактам:

  • подключите провод заземления (черный или коричневый) сервопривода к выводу заземления на шилде.
  • если сервопривод совместим с 7,4 В, подключите провод VCC (красный или оранжевый) к крайнему левому разъему + 12 В 3-контактного разъема на драйвере L298N. Если сервопривод несовместим, подключите провод VCC сервопривода к выводу VCC на шилде сервопривода.

Сигнальный провод (желтый, белый или оранжевый) подключите к цифровому выводу D9.

Поздравляем! Ваш робот готов!

Вы можете подключить черный разъем к Arduino, чтобы включить его.

Подключите аккумулятор с помощью Т-образного разъема (или любого другого). Включите двигатели с помощью этого переключателя.

Код проекта

Целиком код и все библиотеки вы можете скачать ниже в ZIP-архивах. Также ниже даются некоторые объяснения по программе для робота-машинки Ардуино.

Установка библиотек

Были созданы библиотеки для этого робота, чтобы изучение программирования было легким и увлекательным. Сделаны свои пользовательские библиотеки для следующих модулей: сервопривод, драйвер, инфракрасный датчик расстояния, ультразвуковой датчик расстояния.

Всё это сделано для тех, кто не является экспертом Arduino. Вы можете смотреть комментарии в библиотеках, чтобы лучше понять, как они работают. Перед тем, как работать с кодом, установите все библиотеки. Вы можете установить их так же, как и все обычные библиотеки Arduino.

Примеры кода

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

Тест моторов

Сначала тестим ваши моторы, если они вращаются неправильно, просто поменяйте местами провода.

Загрузите программу, включите Arduino Uno и включите моторы, нажмите кнопку RESET на плате Arduino, чтобы запустить код с самого начала.

Тест инфракрасного датчики расстояния

Проверяем инфракрасные датчики, чтобы понять, правильно ли они работают. Вся информация пойдет на последовательный порт.

Загрузите программу и откройте последовательный порт в Arduino IDE, чтобы увидеть измерения расстояния.

Радар ультразвукового датчик расстояния

Этот код проверяет ультразвуковой датчик и проверяет вращение сервопривода. Это простой радар. Сервопривод вращается влево, вправо или в среднее положение, ультразвуковой датчик измеряет расстояние.

Загрузите программу, откройте последовательный порт в Arduino IDE, включите Arduino Uno и включите моторы, нажмите кнопку RESET на плате Arduino, чтобы запустить код с самого начала.

Тестируем линейные сенсоры

Уклонение робота от препятствий с помощью инфракрасных датчиков расстояния

Эта программа позволит роботу избегать препятствия с помощью инфракрасных датчиков расстояния.

Загрузите программу, включите Arduino Uno и включите моторы, нажмите кнопку RESET на плате Arduino, чтобы запустить код с самого начала. Робот начнет двигаться и избегать препятствий!

Движение робота по линии следования

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

Загрузите программу, включите Arduino Uno и включите моторы, нажмите кнопку RESET на плате Arduino, чтобы запустить код с самого начала. Робот начнет следовать за черной линией, если он обнаружен датчиками линии.

Источник статьи: http://arduinoplus.ru/4wd-mashinka-arduino-roboroverm1/

Оцените статью