Каждый год производители изменяют многие функции автомобилей: улучшают, упрощают, минимизируют. Этот процесс не обходит стороной и мультимедийную часть автомобиля. Обычным цветным дисплеем вместо головного устройства или блока управления климат контроля уже никого не удивишь. Но эти дисплеи встроены в автомобиль стационарно, то есть их нельзя снять в любой момент. Эти факторы и навели меня на мысли о создании продукта под управлением планшета, подключаемого к автомобилю. Данный планшет можно будет использоваться как стандартный стационарный экран, даже с большим функционалом.
Конечно можно приобрести дорогой автомобиль или дорогой модуль, со встроенными функциями внутри, но не всем это позволяет финансовое положение. Благодаря 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 |
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.
Рисунок 2.1 — Интерфейс RemoteXY
) Простота использования.
В Remote XY можно разработать любой графический интерфейс управления, используя управления, индикации и оформления в любой комбинации.