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

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    420,68 Кб
  • Опубликовано:
    2017-01-19
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Содержание

Введение

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

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

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

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

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

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

. Описание процессов

. Разработка структур данных и алгоритмов

. Используемые элементы

.1 Микропроцессор Arduino

5.2 Bluetooth модуль

5.3 Блок реле

.4 Резисторы

.5 Диоды

.6 Кнопки

.7 Макетная плата

. Разработка программного продукта

.1 Интерфейс приложения

.2 Разработка схемы

.3 Написание кода

. Тестирование программного продукта

.1 Функциональное тестирование

.2 Структурное тестирование

.3 Альфа-тестирование

Заключение

Список использованных источников

Приложение 1

Введение

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

Конечно можно приобрести дорогой автомобиль или дорогой модуль, со встроенными функциями внутри, но не всем это позволяет финансовое положение. Благодаря 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. Он позволяет подключать все элементы продукта, не прибегая к пайке.

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

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

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

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

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

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

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

Внешний вид Arduino с платами расширения приведен в соответствии с рисунком 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.

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

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

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

Рисунок 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, так как она занимает наибольший процент мобильного рынка.

Рисунок 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

43x18

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.

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

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

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

Похожие работы на - Система управления автомобилем на базе Arduino

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!