Система управления автомобилем на базе Arduino

Дипломная работа

Каждый год производители изменяют многие функции автомобилей: улучшают, упрощают, минимизируют. Этот процесс не обходит стороной и мультимедийную часть автомобиля. Обычным цветным дисплеем вместо головного устройства или блока управления климат контроля уже никого не удивишь. Но эти дисплеи встроены в автомобиль стационарно, то есть их нельзя снять в любой момент. Эти факторы и навели меня на мысли о создании продукта под управлением планшета, подключаемого к автомобилю. Данный планшет можно будет использоваться как стандартный стационарный экран, даже с большим функционалом.

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

1. Аналитический обзор

1 Актуальность

Данная система — это централизованное управление такими механизмами как:

  • Система запуска и остановки двигателя.
  • Система управления стеклоподъемниками.
  • Система закрывания и открывания центрального замка дверей.

Стоимость таких систем не по карману многим потребителям, да и потребность во всех функциях системы возникает не у всех. Одной из наиболее интересных функций данной системы является «Система запуска и остановки двигателя», позволяющий заводить и глушить двигатель автомобиля используя только одну кнопку.

1.2 Обзорно-аналитическая часть

2.1 Оценка требований

Для разработчика требуется иметь в наличие компьютер или ноутбук с ОС не ниже Windows7,иметь 4 Гб ОЗУ, двухядерный процессор частотой выше 2 Ггц, видео карта, имеющая 1024 Мб видео памяти, устройство на базе Android с ОС v.4.0 и выше, минимальная разрешающая способность сенсорного экрана 640х480 и наличие Bluetooth версии 2.0

Также необходимо скачать приложение для платформы Android-RemoteXY и программное обеспечение для написания кода под микроконтроллер- Arduino IDE, которые на момент выполнения проекта бесплатны.

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

18 стр., 8942 слов

Разработка проекта системы видеонаблюдения

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

Для обмена информацией с устройством Android по Bluetooth требуется приобрести необходимый модуль.

Также для отлаженной работы необходимо использовать реле. Самым оптимальным решением будет использовать готовый блок с восьмью реле.

1.2.2 Общее представление о системе Arduino

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

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

Аппаратная часть.

Под торговой маркой Arduino несколько плат с микроконтроллером и платы. плат с микроконтроллером снабжены минимально набором обвязки для нормальной работы микроконтроллера питания, кварцевый резонатор, цепочки сброса ит.п.).

Внешний вид Arduino с платами расширения приведен в соответствии с рисунком 1.1.

 общее представление о системе  1

Рисунок 1.1 — Стандартный конструктив Ардуино с платами расширения

Существует несколько версий платформ Arduino. Последняя Leonardo базируется на микроконтроллере ATmega32u4.Uno, как предыдущая версия Duemilanove построены на микроконтроллере ATmega328 (техническое описание).

Старые версии платформы и первая рабочая Duemilanoves были разработаны основе Atmel ATmega168 (техническое описание), более версии использовали ATmega8 (техническое описание).

Arduino в свою очередь, построена на микроконтроллере (техническое описание).

Конструктив.

Ардуино и Ардуино-совместимые платы спроектированы образом, чтобы их можно было при расширять, добавляя в устройство новые компоненты. платы расширений подключаются к Ардуино посредством на них штыревых разъёмов. Существует ряд с унифицированным конструктивом, допускающим конструктивно соединение процессорной платы и плат расширения стопку через штыревые линейки. Кроме того, платы уменьшенных габаритов (например, Nano, Lilypad) специальных конструктивов для задач робототехники. Независимыми также выпускается большая гамма всевозможных датчиков исполнительных устройств, в той или иной совместимых с базовым конструктивом Ардуино [1].

Установка Arduino IDE.IDE является кроссплатформенным приложением разработанным на Java, поэтому он поддерживает такие операционные системы как Linux,Windows,Mac и другие. В данном программном продукте установка будет производиться на операционную систему Windows.

14 стр., 6893 слов

Техническое обслуживание, поиск и устранение неисправностей материнских плат

... ремонта и диагностики системных плат. Объектом нашего исследования является системная плата персонального компьютера, а предметом - техническое обслуживание, поиск и устранение неисправностей материнских плат. Научная новизна данной работы - это систематизация знаний по методам ремонта и диагностики системных плат. Курсовая работа ... использующим высокопроизводительные шины: ОЗУ, графический ...

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

1.2.3 Среда разработки Arduino

Вид основного интерфейса системы представлен ниже в соответствии с рисунком 1.2.

 среда разработки  1

Рисунок 1.2 — Встроенный текстовый редактор программного кода

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

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

Блокнот (Sketchbook).

Средой Arduino используется принцип блокнота: место для хранения программ (скетчей).

Скетчи блокнота открываются через меню File > или кнопкой Open на панели инструментов. первом запуске программы Arduino автоматически директория для блокнота. Расположение блокнота меняется диалоговое окно Preferences.

Загрузка скетча в Arduino. загрузкой скетча требуется задать необходимые параметры меню Tools > Board и Tools Serial Port. Платформы описываются далее по В ОС Mac последовательный порт может как dev/tty.usbserial-1B1 (для платы USB) или (для платы последовательной шины, подключенной через Keyspan USB-to-Serial).

В ОС Windows порты обозначаться как COM1 или COM2 (для последовательной шины) или COM4, COM5, COM7 выше (для платы USB).

Определение порта производится в поле Последовательной шины USB устройств Windows. В ОС Linux порты обозначаться как /dev/ttyUSB0, /dev/ttyUSB1.

После выбора порта платформы необходимо нажать кнопку загрузки на инструментов или выбрать пункт меню File Upload to I/O Board. Современные платформы перезагружаются автоматически перед загрузкой. На старых необходимо нажать кнопку перезагрузки. На большинстве во время процесса будут мигать светодиоды и TX. Среда разработки Arduino выведет об окончании загрузки или об ошибках.

При скетча используется Загрузчик (Bootloader) Arduino, небольшая загружаемая в микроконтроллер на плате. Она загружать программный код без использования дополнительных средств. Загрузчик (Bootloader) активен в течении секунд при перезагрузке платформы и при любого из скетчей в микроконтроллер. Работа (Bootloader) распознается по миганию светодиода (13 (напр.: при перезагрузке платы).

1.2.4 Выбор для разработки приложения

Каждая из платформ для приложений имеет интегрированную среду разработки, предоставляющую позволяющие разработчику программировать, тестировать и приложения на целевую платформу. Для сравнения мобильных приложений на Java с приложениями, написанными на других языках, сравним платформу Android с iOS и Windows Phone. Статистика продажи смартфонов за 2015 год представлен ниже в соответствии с рисунком 1.3.

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

 среда разработки  2

Рисунок 1.3 — Статистика продажи смартфонов

2.5 Общее представление о системе Android

платформы Android.

Платформа Android представляет собой стек операционной системы на основе Linux, для управления устройством (аппаратурой), памятью и Различные компоненты этого стека представляют собой уровней иерархии и, в целом, обеспечивают мобильного устройства. Одни из этих компонентов для работы непосредственно с оборудованием устройства, обеспечивают функции связанные с телефонией, позиционированием, и так далее, а третьи предоставляют фреймворк для реализации многочисленных возможностей устройства. Другими словами, платформа Android включает себя непосредственно операционную систему, программное обеспечение уровня (middleware) и набор приложений (как так и сторонних).

— набор элементов, обеспечивающих функционирование устройства. (+Drivers) — ядро операционной системы Linux набор драйверов, которые обеспечивают базовые механизмы оборудованием и распределения памяти, управления задачами, безопасности и так далее.

Библиотеки (C/C++), используемые компонентами операционной системы.Virtual Machine (DVM) виртуальная машина Dalvik, которая обеспечивает среду Android приложений и компонентов операционной системы (ОС).

Library — основные Android библиотеки, содержат функций доступных в ядре библиотеки языка (Java API), а так же специальные операционной системы Android.Framework (каркас приложений) набор java классов (API), предоставляющий приложениям к функциям операционной системы и библиотекам.

Разработка для платформы Android ведется преимущественно на Java. Для создания программ на языке необходимо специальное программное обеспечение. Самые последние этого ПО можно загрузить с сайта разработчика, Oracle Corporation. К этому комплексу относятся такие инструменты как JRE Runtime Environment) и JDK (Java Development Первый инструмент представляет собой среду выполнения минимальную реализацию виртуальной машины, в которой и выполняется программный код на Java. инструмент — это в свою очередь набор инструментов, комплект разработчика приложений на Java. На самом деле, JRE также в состав JDK, равно как и стандартные библиотеки классов Java, компилятор javac, примеры кода и разнообразные служебные утилиты. этот набор распространяется свободно и имеет для различных ОС, поэтому любой может скачать и использовать. В JDK не интегрированная среда разработки, предполагается, что её будет устанавливать отдельно.

2. Проектирование программного продукта

1 Определение функциональности программного продукта

Определяя функциональность программного продукта, первым делом выбирались функции, наиболее востребованные для управления по Bluetooth. Самая главная среди этих функций — это запуск зажигания и запуск двигателя, используя всего лишь одну кнопку, не прибегая к ключам.

2 Выбор и обоснование средств разработки

2.1 Выбор модели платы Arduino

Рассматривая оригинальные Arduino можно столкнуться с проблемой выбора. отличия между ними — используемый микроконтроллер, значит функциональность, внешние интерфейсы, а также памяти и физические размеры. Приоритетными критериями выборе платы для данного проекта становятся:

Наличие достаточного числа цифровых выходов

Габариты

Цена

Сравнительная характеристика моделей Arduino представлена ниже в таблице 1.

Таблица 1 — Модели Arduino

Модель

Цена, руб

Кол-во выходов

Габариты, мм

Микро контроллер

Флеш память, кб

Дополнительно

Mini

990

14

43×18

ATmega328

32

Является аналогом Uno в компактном варианте. Для использования нужна пайка.

Uno

1150

14

68.6 x 53.3

ATmega328

32

Самая популярная версия базовой платформы Arduino

Leonardo

1150

20

68.6 x 53.3

Atmega32u 4

32

Аналог Uno, но на микроконтроллере Atmega32u4

Micro

1190

20

48 x 17.7

Atmega32u 4

32

Является аналогом Leonardo в компактном варианте. Нет гнезда для питания.

Nano

1990

14

43 x 18

ATmega328

32

Является аналогом Uno в компактном варианте. Нет гнезда для питания.

Ethernet

2290

14

68.6 x 53.3

ATmega328

32

Uno со встроенным Ethernet адаптером

Mega 2560

2290

54

101.6 x 53.3

ATmega256

256

Due

2590

54

101.6 x 53.3

AT91SAM3 X8E

256

Мощная плата с новым процессором и большим числом контактов и входов

В ходе различных моделей Arduino была выбрана Arduino Uno, т. к. она обладает малыми приемлемой ценой и при этом тем функционалом, что и другие платы той ценовой категории, но больших габаритов.

2.2.2 среды разработки Android

Существуют многочисленные IDE для например, Android Studio, NetBeans, IDEA, Borland JBuilder и другие. Таким прежде чем приступить к разработке приложения базе ОС Android, необходимо подготовить инструментарий. разработки приложения на базе ОС Android решил использовать готовое приложение Remote XY, так как она является наиболее и удобной.

Преимущества Remote XY перед аналогами:

) Привлекательная внешность.

Благодаря встроенному интерфейсу Remote XY приложения получаются очень привлекательными. Вид основного интерфейса системы представлен ниже в соответствии с рисунком 2.1.

 среда разработки  3

Рисунок 2.1 — Интерфейс RemoteXY

) Простота использования.

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