Разработка программного продукта для системы запуска и остановки двигателя
Проектирование и разработка приложения для взаимодействия с микропроцессором Arduino. Факторы, влияющие на правильную работу, как приложения, так и автомобиля. Разработка и сбор принципиальной схемы запуска двигателя и написание необходимого кода для нее.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.11.2017 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
- Введение
- 1. Аналитический обзор
- 1.1 Актуальность
- 1.2 Обзорно-аналитическая часть
- 1.2.1 Оценка требований
- 1.2.2 Общее представление о системе Arduino
- 1.2.3 Среда разработки Arduino
- 1.2.4 Выбор для разработки приложения
- 1.2.5 Общее представление о системе Android
- 2. Проектирование программного продукта
- 2.1 Определение функциональности программного продукта
- 2.2 Выбор и обоснование средств разработки
- 2.2.1 Выбор модели платы Arduino
- 2.2.2 среды разработки Android
- 3. Описание процессов
- 4. Разработка структур данных и алгоритмов
- 5. Используемые элементы
- 5.1 Микропроцессор Arduino
- 5.2 Bluetooth-модуль
- 5.3 Блок реле
- 5.4 Резисторы
- 5.5 Диоды
- 5.6 Кнопки
- 5.7 Макетная плата
- 6. Разработка программного продукта
- 6.1 Интерфейс приложения
- 6.2 Разработка схемы
- 6.3 Написание кода
- 7. Тестирование программного продукта
- 7.1 Функциональное тестирование
- 7.2 Структурное тестирование
- 7.3 Альфа-тестирование
- Заключение
- Список использованных источников
- Приложение 1
- Приложение 2
Введение
Каждый год производители изменяют многие функции автомобилей: улучшают, упрощают, минимизируют. Этот процесс не обходит стороной и мультимедийную часть автомобиля. Обычным цветным дисплеем вместо головного устройства или блока управления климат контроля уже никого не удивишь. Но эти дисплеи встроены в автомобиль стационарно, то есть их нельзя снять в любой момент. Эти факторы и навели меня на мысли о создании продукта под управлением планшета, подключаемого к автомобилю. Данный планшет можно будет использоваться как стандартный стационарный экран, даже с большим функционалом.
Конечно, можно приобрести дорогой автомобиль или дорогой модуль, со встроенными функциями внутри, но не всем это позволяет финансовое положение. Благодаря Arduino можно собрать недорогой, но в то же время функциональный продукт, конкурирующий с дорогими аналогами.
1. Аналитический обзор
1.1 Актуальность
Данная система - это централизованное управление такими механизмами как:
1. Система запуска и остановки двигателя.
2. Система управления стеклоподъемниками.
3. Система закрывания и открывания центрального замка дверей.
Стоимость таких систем не по карману многим потребителям, да и потребность во всех функциях системы возникает не у всех. Одной из наиболее интересных функций данной системы является «Система запуска и остановки двигателя», позволяющая заводить и глушить двигатель автомобиля, используя только одну кнопку.
1.2 Обзорно-аналитическая часть
1.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 может использоваться как для создания автономных объектов автоматики, так и подключаться к программному обеспечению на компьютере через стандартные проводные и беспроводные интерфейсы.
В концепцию Arduino не входит корпуснои? или монтажныи? конструктив. Разработчик выбирает метод установки и механической защиты плат самостоятельно. Сторонними производителями выпускаются наборы робототехнической электромеханики, ориентированнои? на работу совместно с платами Arduino .
Аппаратная часть.
Под торговой маркой Arduino несколько плат с микроконтроллером и платы. плат с микроконтроллером снабжены минимально набором обвязки для нормальнои? работы микроконтроллера питания, кварцевыи? резонатор, цепочки сброса и т. п.).
Внешний вид Arduino с платами расширения приведен в соответствии с рисунком 1.1.
Рисунок 1.1 - Стандартный конструктив Arduino с платами расширения
Существует несколько версий платформ Arduino. Последняя Leonardo базируется на микроконтроллере ATmega32u4. Uno, как предыдущая версия Duemilanove построены на микроконтроллере ATmega328 (техническое описание). Старые версии платформы и первая рабочая Duemilanoves были разработаны основе Atmel ATmega168 (техническое описание), более версии использовали ATmega8 (техническое описание). Arduino в свою очередь, построена на микроконтроллере (техническое описание).
Конструктив.
Arduino и Arduino -совместимые платы спроектированы образом, чтобы их можно было при расширять, добавляя в устройство новые компоненты. платы расширений подключаются к Arduino посредством на них штыревых разъёмов. Существует ряд с унифицированным конструктивом, допускающим конструктивно соединение процессорнои? платы и плат расширения стопку через штыревые линейки. Кроме того, платы уменьшенных габаритов (например, Nano, Lilypad) специальных конструктивов для задач робототехники. Независимыми также выпускается большая гамма всевозможных датчиков исполнительных устройств, в той или инои? совместимых с базовым конструктивом Arduino [1].
Установка Arduino IDE.
Arduino 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.
Рисунок 1.3 - Статистика продажи смартфонов
Исходя из данной статистики, оптимальной платформой для разработки управляющего приложения является Android, так как она занимает наибольший процент мобильного рынка.
1.2.5 Общее представление о системе Android
платформы Android.
Платформа Android представляет собой стек операционнои? системы на основе Linux, для управления устройством (аппаратурой), памятью и Различные компоненты этого стека представляют собой уровней иерархии и, в целом, обеспечивают мобильного устройства. Одни из этих компонентов для работы непосредственно с оборудованием устройства, обеспечивают функции связанные с телефонией, позиционированием, и так далее, а третьи предоставляют фреймворк для реализации многочисленных возможностей устройства. Другими словами, платформа Android включает себя непосредственно операционную систему, программное обеспечение уровня (middleware) и набор приложений (как так и сторонних).
Как мы уже выяснили, - это программныи? стек, то есть набор различных программных компонентов. другой стороны, устройство на платформе Android собой набор аппаратных средств, таких как клавиши, батарея, процессор, память всевозможные датчики сенсоры и так далее. Все это нам говорить о платформе Android как едином аппаратно-программном комплексе, которыи? имеет следующую структуру:
- набор элементов, обеспечивающих функционирование устройства.
Linux (+Drivers) - ядро операционнои? системы Linux набор драйверов, которые обеспечивают базовые механизмы оборудованием и распределения памяти, управления задачами, безопасности и так далее.
Библиотеки (C/C++), используемые компонентами операционнои? системы.
Dalvik Virtual Machine (DVM) виртуальная машина Dalvik, которая обеспечивает среду Android приложений и компонентов операционнои? системы (ОС).
Library - основные Android библиотеки, содержат функций доступных в ядре библиотеки языка (Java API), а так же специальные операционнои? системы Android.
Application Framework (каркас приложений) набор Java классов (API), предоставляющий приложениям к функциям операционнои? системы и библиотекам.
Разработка для платформы Android ведется преимущественно на Java. Для создания программ на языке необходимо специальное программное обеспечение. Самые последние этого ПО можно загрузить с сайта разработчика, Oracle Corporation. К этому комплексу относятся такие инструменты как JRE Runtime Environment) и JDK (Java Development Первыи? инструмент представляет собой среду выполнения минимальную реализацию виртуальнои? машины, в которой и выполняется программныи? код на Java. инструмент - это в свою очередь набор инструментов, комплект разработчика приложений на Java. На самом деле, JRE также в состав JDK, равно как и стандартные библиотеки классов Java, компилятор javac, примеры кода и разнообразные служебные утилиты. этот набор распространяется свободно и имеет для различных ОС, поэтому любой может скачать и использовать. В JDK не интегрированная среда разработки, предполагается, что её будет устанавливать отдельно.
2. Проектирование программного продукта
2.1 Определение функциональности программного продукта
Определяя функциональность программного продукта, первым делом выбирались функции, наиболее востребованные для управления по Bluetooth. Самая главная среди этих функций - это запуск зажигания и запуск двигателя, используя всего лишь одну кнопку, не прибегая к ключам.
2.2 Выбор и обоснование средств разработки
2.2.1 Выбор модели платы Arduino
Рассматривая оригинальные Arduino можно столкнуться с проблемой выбора. отличия между ними - используемыи? микроконтроллер, значит функциональность, внешние интерфейсы, а также памяти и физические размеры. Приоритетными критериями выборе платы для данного проекта становятся:
1) Наличие достаточного числа цифровых выходов
2) Габариты
3) Цена
Сравнительная характеристика моделей 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 |
Расширенная версия Arduino Uno. Больше контактов и аппаратных serial- портов. |
|
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 перед аналогами:
1) Привлекательная внешность.
Благодаря встроенному интерфейсу Remote XY приложения получаются очень привлекательными. Вид основного интерфейса системы представлен ниже в соответствии с рисунком 2.1.
Рисунок 2.1 - Интерфейс RemoteXY
2) Простота использования.
В Remote XY можно разработать любой графический интерфейс управления, используя управления, индикации и оформления в любой комбинации. Размещая элементы на экране при онлайн-редактора можно разработать интерфейс под любую Вид основного рабочего стола системы представлен ниже в соответствии с рисунком 2.2.
Рисунок 2.2 - Рабочий стол RemoteXY
3) Отсутствие необходимости установки дополнительных сред разработки
При помощи одного мобильного приложения можно управлять большой гаммой устройств с разными графическими интерфейсами управления. Так как описание интерфейса хранится на борту микроконтроллерного устройства.
4) Собственная библиотека.
У приложения RemoteXY есть собственная библиотека, упрощающая создание приложения. При написании кода программы, необходимо скачать и подключить библиотеку. Далее в коде программы просто пишем определенные команды, которые приложение будет распознавать. Например проверка нажатия кнопки в приложение:
if (RemoteXY.button_1!=0){
/*кнопка нажата*/
}
else{
/*кнопка не нажата*/
} [2]
3. Описание процессов
Перед тем, как программа Arduino (скетч) попадет в память микроконтроллера платы и начнет работать, должно произойти несколько скрытых от глаз пользователя процессов. Сначала среда разработки Arduino IDE выполняет небольшие преобразования кода скетча, чтобы он стал текстом, полностью совместимым со стандартом языка C или C++ (это два наиболее известных языка программирования в мире микроконтроллеров). Затем полученный текст программы передается компилятору avr-gcc, который переводит человеко-читаемый код программы в объектные машинные коды, пригодные (после дальнейшего преобразования - линковки) для выполнения ядром используемого микроконтроллера (обычно это Atmel AVR ATmega328). Затем объектный машинный код скетча комбинируется (этот процесс называется линковкой) с кодом функций из стандартных библиотек Arduino (эти библиотеки предоставляют множество функций, таких как базовые digitalWrite() или Serial.print()). В результате получается один файл в формате Intel HEX , который должен быть записан в память микроконтроллера макетной платы Arduino. Обычно функцию программирования кода в память микроконтроллера берет на себя стандартный UART-загрузчик Arduino: код передается загрузчику через USB-соединение с компьютером (через специальную микросхему USB-UART, обычно компании FTDI). UART-загрузчик Arduino был изначально записан в память микроконтроллера платы специальным ISP-программатором.
Для обмена информации между платой Arduino и Android устройством необходимо использовать Bluetooth модуль. В данной работе применен модуль HC-06. Обмен информацией происходи по цифровым выводам RX и TX. Для подключения к приложению существует два метода подключения: через Software Serial и через Hardware Serial.
Software Serial позволяет подключить модуль к произвольным контактам микроконтроллера. Какие контакты использовать, необходимо указать в панели настроек подключения модуля. Так же в панели настроек указывается скорость передачи данных для порта. Модуль HC-05(06) по умолчанию настроен на скорость 9600 бит/сек. Скорость работы модуля может быть изменена при помощи AT команд (требует специальных знаний), но если вы не изменяли скорость, установите значение по умолчанию, т.е. 9600 бит/сек.
Есть некоторые ограничения на использование контакта RX для плат Arduino. Ограничения связаны с поддержкой прерываний на соответствующих контактах микроконтроллера.
Arduino UNO и Nano для RX нельзя использовать контакт 13(LED);
Arduino Mega и Mega2560 для RX можно использовать только следующие контакты: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8(62), A9(63), A10(64), A11(65), A12(66), A13(67), A14(68), A15(69);
Arduino Leonardo и Micro для RX можно использовать только следующие контакты: 8, 9, 10, 11, 14, 15, 16;
Так же при использовании SoftwareSerial вы должны принять следующие ограничения:
Нет возможности работы на больших скоростях передачи данных. Не рекомендуем использовать скорость соединения более 38400 бит/сек.
Некоторые библиотеки, которые так же используют прерывания, могут работать не корректно, или же их использование может сделать неработоспособным данный способ подключения. Например библиотека Servo будет подергивать сервоприводы.
Пример подключения модуля HC-06 для SoftwareSerial к контактам 2(RX) и 3(TX) на рисунке. Обратите внимание, что необходимо контакты подключить перекрестием, т.е. контакт Arduino 2(RX) к контакту TX модуля, и контакт 3(TX) к контакту RX модуля.
Подключение через Hardware Serial позволяет подключить модуль к контактам микроконтроллера, поддерживающим один из аппаратных портов последовательного интерфейса. Для разных плат Arduino это разные порты и контакты.
Arduino UNO и Nano: Serial (RX-0, TX-1);
Arduino MEGA и MEGA2560: Serial (RX-0, TX-1), Serial1 (RX-19 и TX-18), Serial2 (RX-17 и TX-16), Serial3 (RX-15 и TX-14);
Какой порт использовать, а следовательно к каким контактам следует подключать модуль, необходимо указать в панели настроек подключения модуля. Следует так же иметь в виду, что для плат Arduino порт Serial задействован для программирования микроконтроллера, и если вы приняли решение использовать этот порт, при программировании необходимо отсоединять модуль HC-05(06). Хорошим решением будет использовать на платах Arduino MEGA любой порт, отличный от Serial.
Так же в панели настроек указывается скорость передачи данных для порта. Модуль HC-05(06) по умолчанию настроен на скорость 9600 бит/сек. Скорость работы модуля может быть изменена при помощи AT команд (требует специальных знаний), но если вы не изменяли скорость, установите значение по умолчанию, т.е. 9600 бит/сек.
Пример подключения модуля HC-05(06) для аппаратного Serial к контактам 0(RX) и 1(TX) показан в соответствии с рисунком 3.1.
Рисунок 3.1 - Подключение HC-06
Обратите внимание, что необходимо контакты подключить перекрестием, т.е. контакт Arduino 0(RX) к контакту TX модуля, и контакт 1(TX) к контакту RX модуля.
4. Разработка структур данных и алгоритмов
При разработке алгоритма запуска двигателя необходимо учесть ряд факторов, влияющих на правильную работу, как приложения, так и автомобиля. Блок-схема алгоритма кнопки старт/стоп приведена в соответствии с рисунком в приложении 1. В алгоритме учтены многие обязательные факторы, например, нажата ли педаль тормоза. Главным образом это необходимо для безопасности, а так же, чтобы не происходило случайного запуска двигателя. Так же в алгоритме учтено время накачки бензонасоса и автоматическое отключение стартера, при заведении двигателя. Автоматическое отключение стартера необходимо для того, чтобы стартер не крутил впустую, тем самым мы продлеваем ему время работоспособности.
Алгоритм работы кнопки старт/стоп. При запуске программы в самом начале идет проверка, а не запущен ли двигатель? Если двигатель не запущен, то идет следующая проверка-нажата ли кнопка старт/стоп, если она не нажата, то мы переходим в режим ожидания и ждем нажатия. В том случае если сигнал пришел, то запускаем первое положение ключа и зажигание, а так же смотрим первый ли это у нас запуск. Если это не первый запуск и время между двумя нажатиями меньше 1,5 секунды, то глушим питание. Это означает, что мы не хотим запускать двигатель. Допустим у нас это первый запуск, тогда надо проверить нажата ли кнопка тормоза и горит ли индикатор заряда аккумулятора, дабы убедиться, что мы все-таки хотим завести двигатель. Если кнопка тормоза не нажата, то ничего не происходит. Убедились, что тормоз нажат, тогда переходим к режиму запуска двигатель. Мы отключаем первое положение ключа, чтобы не потреблять большой ток, и запускаем стартер, до момента, когда погаснет индикатор заряда аккумулятора, означающий, что двигатель завелся. Если после трех секунд индикатор не погас, то отключается все питание в качестве защиты. Допустим наш индикатор погас, тогда включаем первое положение ключа обратно и переходим в режим ожидания, где мы проверяем, работает ли двигатель, и ждем когда придет очередное нажатие с кнопки или загорится индикатор заряда аккумулятора. Когда, приходит нажатие, то глушим всю систему.
arduino автомобиль запуск двигатель
5. Используемые элементы
5.1 Микропроцессор Arduino
Существует большое количество вариантов микропроцессора Arduino и у каждого есть свои плюсы и минусы. В качестве оптимального микропроцессора для разработки программного продукта была выбрана плата Arduino UNO. Она обладает малыми размерами, приемлемой ценой и при этом тем же функционалом, что и другие платы той же ценовой категории, но больших габаритов.
Основной вид микропроцессора представлен ниже в соответствии с рисунком 5.1.
Рисунок 5.1 -Микропроцессор Arduino UNO
5.2 Bluetooth-модуль
С помощью Bluetooth модуля можно осуществлять радиосвязь между смартфонами или смартфоном и адаптером, встроенном в ноутбук или компьютер. Bluetooth-модули часто применяются для передачи данных в принтеры, считывания сигналов с GPS и для работы прочей высокотехнологичной фигни. Для нас же, электронщиков, особый интерес вызывает возможность обеспечения связи двух микроконтроллеров по воздуху, когда один подключается к Bluetooth-мастеру, а другой соединяется с ведомым устройством. Такая связь по Bluetooth соответствует обычному последовательному интерфейсу UART с RXD и TXD линиями данных. Или же интересна возможность контролирования чего-нибудь, получая информацию об этом на терминальную программу своего карманного гаджета.
Существует некоторое количество типов модулей:
HC-03, HC-04(HC-04-M, HC-04-S) на чипе BC417143 - для промышленного применения;
- HC-05, HC-06(HC-06-M, HC-06-S) на чипе BC417143 - для коммерческого применения;
- HC-05-D, HC-06-D (с отладочной платой для оценки и тестирования);
- HC-07 - модуль с чипом CSR 41C6, предназначен для замены HC-06 (полностью с ним совместимый);
- HC-08 - модуль с ультранизким энергопотреблением и протоколом Bluetooth 4.0;
- HC-09 - самый новый модуль, предназначенный для замены HC-06 и HC-07.
Краткие характеристики модулей HC-03, HC-04, HC-05, HC-06
- чип Bluetooth - BC417143 производства CSR company (Cambridge Silicon Radio);
- протокол связи - Bluetooth Specification v2.0+EDR;
- радиус действия - до 10 метров (уровень мощности 2);
- совместимость со всеми Bluetooth-адаптерами, которые поддерживают SPP;
- объем flash-памяти (для хранения прошивки и настроек) - 8 Мбит;
- частота радиосигнала - 2.40 .. 2.48 ГГц;
- хост-интерфейс - USB 1.1/2.0 или UART;
- энергопотребление - ток в течение связи составляет 30-40 мА. Среднее значение тока около 25 мА. После установки связи потребляемый ток 8 мА Режим сна отсутствует.
Все модули HC-03, HC-04, HC-05, HC-06 выполнены на базе одного микроконтроллера BC417143, поэтому их (модулей) функционал отличается только его прошивкой.
Bluetooth -модули могут иметь два режима работы - master (ведущий) и slave (ведомый), причём для модулей HC-04 и HC-06 определённый режим уже установлен на заводе-изготовителе и меняться не может, разве что перепрошивкой (например HC-04-M - master или HC-06-S - slave). А вот модули HC-03 и HC-05 позволяют выбрать нужный режим работы с помощью АТ-команд, причём изначально в этих модулях установлен режим slave. Bluetooth-модули HC-04 и HC-06, и, соответственно, HC-03 и HC-05 взаимно совместимы между собой по функциям. HC-04 и HC-06 - это ранние версии модулей, в которых, помимо невозможности изменения режима работы, имеются всего несколько рабочих AT-команд: установка имени Bluetooth-модуля (только для slave), пароля, скорости передачи данных и проверка номера версии. Набор команд в HC-03 и HC-05 является более широким, поэтому они более предпочтительны для радиолюбительского применения.
HC-07.
Модуль HC-07 предназначен для замены (правда, уже устарел и сам) модуля HC-06 и практически полностью совместим с ним по функционалу и характеристикам, но всё же из-за небольшого отличия в AT-командах (они ещё более урезаны) я решил описать его отдельно, а не объединять с HC-04/HC-06. Характеристики модулей практически идентичны, за исключением того, что в HC-07 применён другой чип Bluetooth - CSR BC04 производства CSRcompany.
Назначение и работа выводов модуля HC-07 соответствует модулям HC-03…HC-06, поэтому повторно приводить их описание не буду.
Модуль может иметь как режим - master (ведущий) так и slave (ведомый), изначально запрограммированный на заводе-изготовителе. Модули HC-07 изначально имеют такие настройки: скорость UART - 9600 (8 бит данных, без бита чётности, стоп бит (8N1)); пароль - 1234 или 0000.
Модуль HC-07, как и HC-04/HC-06, в режиме АТ-команд находится до установки связи с другим Bluetooth-устройством (о чём свидетельствует мигающий LED). Непрерывное горение LED будет свидетельствовать о входе в режим передачи данных. Аналогично, команды в модулях HC-07 не имеют окончания CRLF, и в течение секунды позволяется отправка только одной АТ-команды.
HC-08.
Краткая характеристика модуля:
- чип Bluetooth - CC2540 производства Texas Instruments;
- протокол связи - Bluetooth v4.0 BLE;
- радиус действия - до 80 метров;
- совместимость со всеми Bluetooth-адаптерами, которые поддерживают SPP;
- частота радиосигнала 2.40 .. 2.48 ГГц;
- хост-интерфейс - USB 1.1/2.0 или UART;
- энергопотребление - в зависимости от режима работы и энергопотребления - от 0,4 мкA до 21 мА.
Это вообще очень хитрый модуль, т.к. за особенность ультранизкого потребления энергии при использовании нового протокола связи - Bluetooth v4.0 BLE (Bluetooth Low Energy), приходится расплачиваться и особым алгоритмом работы. Как сообщает Педивикия, передатчик с таким протоколом включается только на время отправки данных, что обеспечивает возможность работы от одной батарейки типа CR2032 в течение нескольких лет, что позволяет его активно применять для датчиков с батарейным питанием, домашних медицинских приборов, спортивных тренажеров.
Распиновка и назначение выводов модуля HC-08 совпадает с модулями HC-04/HC-06:
HC-09.
Данный модуль полностью совместим с HC-06 и HC-07, однако, заводом-изготовителем он поставляется только в режиме slave-устройства. Модули HC-09 изначально имеют такие настройки: скорость UART - 9600 (8 бит данных, без бита чётности, стоп бит (8N1)); пароль - 1234. Список АТ-команд незначительно отличается от модулей HC-06 и HC-07.
Для данного программного продукта был выбран модуль HC-06, так как он является оптимальным и удовлетворяем всем желаемым условиям для разработки.
Основной вид модуля представлен ниже в соответствии с рисунком 5.2.
Рисунок 5.2 -Модуль HC-06
5.3 Блок реле
Для управления электроприборами, которые питаются от бытовой электросети, люди пользуются различными клавишными выключателями и тумблерами. Чтобы управлять такими электроприборами с помощью микроконтроллера существует специальный тип выключателей -- электромеханические реле. Relay Shield содержит четыре таких реле и позволяет Arduino управлять четырьмя электроприборами.
На Relay Shield устанавливается разное количество электромеханических реле, имеющих нормально замкнутый (normal closed, NC) и нормально разомкнутый (normal open, NO) контакты. Если на управляющей обмотке реле отсутствует напряжение, то между нормально замкнутым и коммутируемым контактами есть электрическая связь, а между нормально разомкнутым и коммутируемым -- нет. При подаче напряжения на управляющую обмотку нормально разомкнутый контакт замыкается, а нормально замкнутый -- размыкается.
Характеристики используемых реле:
Ток обмотки: 80 мА.
Максимальное коммутируемое напряжение: 30 В постоянного тока; 250 В переменного тока.
Максимальный коммутируемый ток: 5 А (NO), 3 А (NC).
Рекомендованная частота переключения: до 1 Гц.
Время жизни: не менее 50000 переключений.
Нагрузка к реле подключается через колодки под винт. Контакт от источника напряжения подключается к выводу COM, а нагрузка -- к контакту NO или NC, в зависимости от задачи которую должно выполнять реле. Чаще всего реле используется для замыкания внешней цепи при подаче напряжения на управляющую обмотку. При таком способе даже если напряжение на Arduino по какой-то причине пропадёт, управляемая нагрузка будет автоматически отключена.
Для данного программного продукта был выбран Relay Shield с восьмью реле, так как это количество полностью удовлетворяет необходимые условия, для подключения.
Основной вид блока реле представлен ниже в соответствии с рисунком 5.3.
Рисунок 5.3 - Relay Shield с восьмью реле
5.4 Резисторы
Резисторы позволяют значения токов и напряжений в электрической Резисторы, например, обеспечивают режим смещения транзистора усилителе электрических сигналов. Измеряя напряжение на можно регулировать токи эмиттера и коллектора С помощью резисторов выполняются делители токов напряжений в измерительных приборах.
Электрические характеристики резистора значительнои? мере определяются материалом, из которого изготовлен, и его конструкцией.
При выборе типа для конкретного применения обычно учитываются следующие параметры:
требуемое значение сопротивления (Ом, кОм, МОм),
б) (возможное отклонение, %, сопротивления от значения, на резисторе),
в) мощность, которую может рассеять резистор,
г) коэффициент сопротивления резистора
Rт = R20 [1 + б (Т -- 20о
где б -- температурныи? коэффициент сопротивления.
Высокостабильные, малошумящие и резисторы требуются лишь в специальных случаях. они используются во входных каскадах измерительных малых сигналов. Широкое их применение ограничивается высокой стоимостью этих приборов. Резисторы на угольного композита используются только в источниках и усилителях мощности.
Резисторы в керамических корпусах только в источниках электропитания и усилителях Резисторы в остеклованных корпусах находят широкие применения, а резисторы в алюминиевой оболочке лишь в малосигнальных усилителях и измерительных приборах.
значение сопротивления и точность резистора. На корпусе всегда наносится ориентировочное значение его сопротивления. резистор с маркировкой 100 Ом 10% может иметь любое сопротивление в от 90 до 110 Ом. Сопротивление имеющего маркировку 100 Ом ± 1%, в интервале от 99 до 101 Ом.
правило, все выпускаемые промышленностью резисторы объединяются серии. Количество номинальных значений сопротивлений в однои? серии определяется принятой точностью. Например, того чтобы перекрыть весь возможныи? диапазон сопротивлений от 1 до 10 с резисторов, имеющих точность ±20%, достаточно иметь из шести базовых значений (серия Е6).
Серия содержит 12 базовых значений сопротивлений с ±10%. Серия Е24 содержит 24 базовых сопротивлений резисторов с точностью ±5%.
В пределах серии содержится 6 или 7 групп сопротивления которых различаются в 10 раз. означает, что соответствующая группа сопротивлений получается базового значения на 1, 10, 100, кОм, 10 кОм, 100 кОм, 1 [2].
В данном программном продукте используются резисторы с сопротивлением 1кОм и 10кОм. Резисторы с сопротивление 1кОм необходимы для корректной работы диодов, предотвращая их перегорание. А резисторы с сопротивлением 10кОм подключаются к ноге кнопки и используются в качестве стягивающего резистора, создавая при этом нагрузку на цепи, которое необходимо для предотвращения короткого замыкания.
5.5 Диоды
Светодиод - - «СИД» (светоизлучающий диод), представляет собой прибор, которыи? при определенных условиях начинает Никакой связи с лампой накаливания он имеет, в нем нет нити накаливания, вакуумнои? колбы. СИД устроен так: два друг к другу кристалла с определенными к ним приделаны две контактные и все это залито оргстеклом. При напряжения на ножки, частицы из двух устремляются друг к другу и при выделяют фотоны, т.е. выделяют свет. У ярких СИД место вокруг кристалла покрывают веществом, которое тоже добавляет яркости. СИД, всего, является диодом (главное свойство диода пропускать ток только в одном направлении), зажигается он только при правильном подключении При ошибке СИД просто не включится на его здоровье это не отразится. не перепутать полярность, необходимо знать, что у него разнои? длины. Это сделано - самая длинная ножка является плюсом. вы вдруг обрезали ножки, то если вглядеться внутрь конструкции, можно увидеть, что однои? ножке сделано подобие кроватки для а от второй ножки к кристаллу лишь тончайший проводок. Так вот, ножка кроваткой является минусом. Еще один признак - у минусовой ножки немного спилена юбочка.
почти во всех случаях выгодно заменяет накаливания. Основные плюсы - ничтожное потребление более 60.000 часов гарантированнои? работы, не тепла, нечувствителен к вибрации, выдерживает небольшие повреждения, отсутствует излучение в инфракрасном и спектре (за исключением специальных).
Цвета светодиодов.
Светодиоды бывают почти всех цветов: оранжевыи?, желтыи?, желтыи?, зеленыи?, синий и белый. Синего и белого светодиода немного дороже, другие цвета.
Цвет светодиодов определяется типом материала, из которого он сделан, а цветом пластика его корпуса. Светодиоды любых бывают в бесцветном корпусе, в таком цвет можно узнать только включив его.
вид светодиодов представлен ниже в с рисунком 5.4.
Рисунок 5.4 -Светодиоды
светодиоды.
Устроен многоцветныи? светодиод просто, как это красныи? и зеленыи? объединенные в корпус с тремя ножками. Путём изменения или количества импульсов на каждом из можно добиваться разных цветов свечения.
Основнои? вид светодиода представлен ниже в соответствии рисунком 5.5.
Рисунок 5.5 - Многоцветныи? светодиод
Светодиод должен иметь резистор последовательно соединенныи? его цепи, для ограничения тока, проходящего светодиод, иначе он сгорит практически мгновенно
Схема светодиода представлена ниже в соответствии рисунком 5.6.
Рисунок 5.6 - Схема светодиода
Если размер сопротивления не получается подобрать тогда возьмите резистор большего номинала. На деле разница не заметна. Яркость уменьшится совсем незначительно.
В данном программном продукте используется восемь светодиодов, разных цветов. Они являются своего рода индикаторами того, что сигнал пришел в данную область схемы и служат лишь для тестирования работоспособности программного продукта. При дальнейшей установке программного продукта в автомобиль, светодиоды использоваться не будут, а будут заменены реальными электрическими механизмами.
5.6 Кнопки
Тактовая кнопка -- простой, всем известный механизм, замыкающий цепь пока есть давление на толкатель.
Основной вид кнопки представлен ниже в соответствии с рисунком 5.7.
Рисунок 5.7 - Кнопка
Кнопки с 4 контактами стоит рассматривать, как 2 пары рельс, которые соединяются при нажатии.
Эффект дребезга.
Эффект дребезга представлен ниже в соответствии с рисунком 5.8.
Рисунок 5.8 - Эффект дребезга
При замыкании и размыкании между пластинами кнопки возникают микроискры, провоцирующие до десятка переключений за несколько миллисекунд. Явление называется дребезгом (англ. bounce). Это нужно учитывать, если необходимо фиксировать «клики».
Схема подключения.
Напрашивается подключение напрямую. Но это наивный, неверный способ.
Неправильная схема подключения кнопки представлен ниже в соответствии с рисунком 5.9.
Рисунок 5.9 - Неправильная схема подключения кнопки
Пока кнопка нажата, выходное напряжение
Vout = Vcc,
но пока она отпущена,
Vout ? 0.
Кнопка и провода в этом случае работают как антенна, и Vout будет «шуметь», принимая случайные значения «из воздуха».
Пока соединения нет, необходимо дать резервный, слабый путь, делающий напряжение определённым. Для этого используют один из двух вариантов.
Схема со стягивающим резистором.
Схема со стягивающим резистором представлена ниже в соответствии с рисунком 5.10.
Рисунок 5.10 - Схема со стягивающим резистором
Есть нажатие: Vout = Vcc.
Нет нажатия: Vout = 0.
Схема с подтягивающим резистором.
Схема с подтягивающим резистором представлена ниже в соответствии с рисунком 5.11.
Рисунок 5.11 - Схема с подтягивающим резистором
Есть нажатие: Vout = 0.
Нет нажатия: Vout = Vcc.
5.7 Макетная плата
Доска для прототипирования (так называемая breadboard или макетная плата) -- незаменимая вещь для экспериментов с электроникой. Она позволяет быстро, удобно, без паяльника собирать электрические схемы.
При создании чего-то нового, в процессе проб и ошибок почти всегда приходится несколько раз корректировать схему. Если все детали сразу соединять пайкой, изменения становятся проблемой. Breadboard позволяет не думать об этом и вносить сколько угодно изменений.
На этой доске доступно 830 контактов. Четыре пары рельс по бокам предназначены для подключения питания и земли. Между ними -- 126 групп соединённых между собой контактов.
Макетная плата представлена ниже в соответствии с рисунком 5.12.
Рисунок 5.12 - Макетная плата
Контакты можно соединять проводами с зачищенными концами, но значительно удобнее воспользоваться подготовленным набором перемычек или соединительными проводами.
По бокам breadboard'а расположены пазы, которые позволяют сцепить несколько макетных досок для увеличения рабочей площади. Основание доски сделано из самоклеящегося материала: если оторвать защитную плёнку, breadboard можно таким образом закрепить в устройстве.
Так же существует другие версии макетной платы такие как Breadboard mini или Proto Shield. Breadboard Mini представлена ниже в соответствии с рисунком 5.13, а Proto Shield представлена ниже в соответствии с рисунком 5.14
Рисунок 5.13 -Breadboard Mini
Рисунок 5.14 Proto Shield
Для данного программного продукта используется стандартная макетная плата. Ее достаточно хватает для построения данной схемы [4].
6. Разработка программного продукта
6.1 Интерфейс приложения
Графический интерфейс приложения создается на официальном сайте приложения. Он позволяет разработать любой графический интерфейс управления, используя элементы управления, индикации и оформления в любой их комбинации. Размещая элементы на экране при помощи онлайн-редактора можно разработать интерфейс под любую задачу. Онлайн редактор размещен на сайте remotexy.com.
Попав на страницу редактора первым делом необходимо настроить конфигурацию соединения. На момент разработки программного продукта были возможны три варианта соединения микропроцессора и аппарата на базе Android, предоставленные в соответствии с рисунком 6.1: соединение по Bluetooth, через Wi-Fi и через Ethernet. В данном программном продукте используется метод соединения через Bluetooth.
Рисунок 6.1 - Методы соединения
Следующим необходимым условием является выбор микропроцессора, под который будет написан код приложения. Весь возможный список поддерживаемых устройств предоставлен в соответствии с рисунком 6.2. В данном программном продукте используется микропроцессор Arduino UNO.
Рисунок 6.2 - Выбор микропроцессора
Также во вкладке «Модуль» необходимо выбрать используемый модуль выбранного ранее способа соединения. Возможные модули предоставлены в соответствии с рисунком 6.3. Для данного программного продукта используется модуль HC-06.
Рисунок 6.3 - Выбор модуля соединения
Завершающим этапом настройки конфигурации для разработки интерфейса приложения является выбор среды, под которую будет написан код программного продукта. На момент разработки были возможны два варианта Arduino IDE и FLProg IDE. Arduino IDE является стандартным официальным программным продуктом, предназначенным для разработки кода под микропроцессоры Arduino. FLProg представляет собой Arduino IDE для визуального программирования одноименных плат Arduino. Основной целью проекта является включение в круг пользователей плат Arduino людей незнакомых с программированием. Программа FLProg позволяет создавать прошивки для плат Arduino с помощью графичес-ких языков FBD и LAD, которые являются стандартом в области программирования промыш-ленных контроллеров. При создании программы я постарался максимально использовать наработки программистов Siemens, ABB, Schneider Electric в их средах программирования.
Данный программный продукт написан используя только Arduino IDE.
Вид основного интерфейса выбора среды разработки системы представлен ниже в соответствии с рисунком 6.4
Рисунок 6.4 -Выбор среды разработки
После настройки конфигурации необходимо настроить подключение по Bluetooth. Определить через какой интерфейс Hardware Serial или Software Serial и через какие порты будет осуществляться обмен информацией. В данной работе используется Hardware Serial интерфейс и стандартные порты RX и TX.
Также необходимо настроить цвет фона экрана и его ориентация: горизонтальная, вертикальная или оба варианта.
Вид основного интерфейса настройки подключения модуля представлен ниже в соответствии с рисунком 6.5.
Рисунок 6.5 - Настройка подключения модуля и экрана
Когда вся настройка будет закончена, необходимо приступить к самому интерфейсу приложения, и определить какие элементы будут использоваться. Все доступные элементы на момент написания проекта предоставлены в соответствии с рисунком 6.6.
Рисунок 6.6 - Элементы интерфейса
Из левого окна выбираем желаемые элементы и переносим их на основной экран. В данной работе используются пять кнопок, один индикатор, один выключатель и два лейбла. Также необходимо перенести все эти элементы на другую ориентацию экрана. Получившиеся интерфейсы можно наблюдать в соответствии с рисунком 6.7.
Рисунок 6.7 - Интерфейс приложения
Завершив все операции с интерфейсом необходимо нажать кнопку «Получить исходный код», чтобы получить код, который необходимо вставить в основную программу Arduino.
6.2 Разработка схемы
Первым делом необходимо подключить Bluetooth модуль к микропроцессору Arduino. Выходы VCC и GND являются плюсом и минусом, соответственно их подключаем к основной плюсовой и минусовой шине. Выход TX на модуле подключаем к входу RX микропроцессора, а выход RX модуля к TX входу микропроцессора. На этом подключение модуля завершено и можно проверить, происходит ли подключение.
Следующим шагом необходимо подключить блок реле. У него так же есть порты VCC и GND. Их также подключаем к основным плюсовой и минусовой шинам соответственно. На блоке еще находятся порты IN1-IN8. Каждый порт связан со своим реле. Если на него приходит 1, то реле замыкается, а если 0, то размыкается. Все эти каналы модуля необходимо подключить к цифровым выходам микропроцессора. В данном программном продукте порты IN1-IN8 блока реле подключены к портам D11-D4 соответственно. Подключение к самим реле может происходить в двух вариантах. Нормально замкнуто и нормально разомкнуто. Нормально замкнутый контакт соединен с общим контактом, когда на реле не подается управляющее напряжение. А нормально разомкнутый контакт в этот момент не соединен с общим контактом. В данном проекте все реле подключения нормально разомкнуты. Далее к выходному каналу реле должен быть подключен соответствующий потребитель, но для проверки того, что сигнал пришел, в данной работе служат светодиоды. Их подключение происходит обязательно через резистор с номинальным значением 1кОм. Подключаем резистор к выходу реле, к резистору в свою очередь подключаем анод (обычно длинная ножка) светодиода. Катод подсоединяем к земле (Grd). И так необходимо повторить для всех восьми резисторов.
Следующий шаг это подключение кнопок. Вставляем в центре макетной платы кнопку таким образом, чтобы между парными ножками проходил желоб макетной платы. Далее соединяем цифровой вывод на Arduino с одной ножкой кнопки на плате. В данном проекте две кнопки подключены к пинам 3 и 12 на микропроцессоре. Эту же ножку кнопки, но с другой стороны соединяем с резистором 10кОм. После чего сам резистор соединяем с землей. Третью ножку кнопки соединяем к плюсовой шине. При таком подключении, когда кнопка отключена, пин будет подключен к земле через резистор, сопротивление которого заведомо меньше внутреннего сопротивления пина.
Поэтому наводка, попавшая на пин, стечет в землю. Если же подключен полезный сигнал (+5в) то он будет стекать в пин (незначительная часть сигнала стечет в землю через подтяжку).
Принципиальная схема подключения представлена в соответствии с рисунком 6.8.
Рисунок 6.8 - Принципиальная схема
6.3 Написание кода
Собрав всю схему и настроив интерфейс необходимо переходить к написанию самого кода приложения. Весь код приложения предоставлен в Приложении 2.
Первым делом нам необходимо скачать и подключить библиотеку RemoteXY так как без не будет происходить обмен информацией между микропроцессором и аппаратом на базе Android. Потом скопировать и вставить уже готовый код с сайта приложения RemoteXY. В этом коде в начале идет определения режима подключения модуля и микропроцессора, а также настройка соединения. Сам интерфейс приложения, который будет отображаться при подключении к модулю Bluetooth, описан в переменной unsigned char RemoteXY_CONF[]. Эта часть содержит массив байтов, который расскажет мобильному приложению о том, как необходимо построить графический интерфейс. Она содержит описание всех элементов, размещенных на интерфейсе, их позицию, цвет, другие настройки. Эти данные имеют шифрованный вид, который трогать не рекомендуется. Все элементы интерфейса управления, предназначенные для взаимодействия с интерфейсом описаны в struct{}.Структура содержит определение данных каждого элемента интерфейса.
Функция setup() запускается один раз, после каждого включения питания или сброса платы Arduino. В теле данной функции пишется код для инициализации переменных, установки режима работы цифровых портов, и т.д. Функция setup() обязательно должна содержать код для запуска инициализации библиотеки RemoteXY. Это вызов конструктора RemoteXY_Init (). В функции setup() можно произвести начальную инициализацию всех элементов управления, в том числе установить начальные положения переключателей, выключателей, слайдеров, джойстиков, и элементов отображения, если это необходимо.
Функция loop() в бесконечном цикле последовательно раз за разом исполняет команды, которые описаны в её теле. Т.е. после завершения функции снова произойдет её вызов. Функция loop() имеет вызов обработчика RemoteXY_Handler (). Обработчик RemoteXY_Handler должен вызываться в каждом цикле программы. Вызов необходим для того, что бы библиотека RemoteXY могла обработать очередную порцию данных об элементах управления, переданных со смартфона и предать на смартфон новые данные о состоянии элементов индикации.
После основного кода в данной работе созданы вспомогательные функции:
...Подобные документы
Спецификация требований к разрабатываемому приложению. Разработка структурной схемы интерфейса. Описание алгоритма шифрования DES. Разработка программного кода приложения "DES". Проведение исследования основных шагов для генерации ключей и шифрования.
курсовая работа [398,4 K], добавлен 13.12.2022Разработка приложения с помощью среды Microsoft Visual Studio 2010 Express. Интерфейс приложения. Разработка конечного программного продукта, демонстрирующего работу многопоточного приложения, использующего взаимоисключение на основе критической секции.
лабораторная работа [300,4 K], добавлен 21.07.2012Анализ целевой аудитории. Функциональные характеристики пользовательского приложения. Разработка алгоритмов и интерфейса программного продукта, функций рабочей области. Написание скриптов на языке C#. Тестирование программы методом чёрного ящика.
дипломная работа [1,5 M], добавлен 09.11.2016Разработка приложения, которое будет выполнять функции показа точного времени и точной даты. Определение дополнительных функций разработанного приложения. Рассмотрение основных этапов создания программного продукта. Результаты тестирования приложения.
курсовая работа [2,2 M], добавлен 14.04.2019Представление о системе Arduino. Структура платформы Android. Выбор средств разработки. Разработка структур данных и алгоритмов. Характеристика Bluetooth модуля, блок реле, резисторов, диодов. Графический интерфейс приложения. Написание кода программы.
дипломная работа [4,0 M], добавлен 19.01.2017Общее определение JavaScript-библиотеки, виды библиотек. Создание клиентского приложения с использованием одного из существующий JS-фреймворков. Значение, виды и выбор фреймворка. Выбор приложения и его тематики. Написание программного кода, итоги работы.
курсовая работа [545,8 K], добавлен 21.12.2013Изучение языков программирования PHP, SQL, C++, HTML. Рассмотрение правил запуска и использования локального сервера Denwer. Составление технического задания по разработке программного продукта. Описание создаваемого мобильного и веб-приложения.
курсовая работа [212,4 K], добавлен 07.04.2015Разработка программного кода и алгоритма действий приложения "калькулятор". Использование функций в программе Matlab. Разработка кнопок, опций, интерфейса, оформление. Части кода Matlab и тестовый набор. Инструкция пользователя по работе программы.
курсовая работа [527,1 K], добавлен 27.09.2014Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.
дипломная работа [1008,9 K], добавлен 13.10.2013Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Разработка спецификации программного обеспечения и на ее основе кода программного продукта. Отладка программы "трассировкой", ее тестирование и оптимизация.
курсовая работа [501,4 K], добавлен 07.12.2016Проектирование программного продукта "Корпоративный портал", решающего коммуникационные, организационные и HR-задачи компании. Разработка эскизного и технического проектов Web-приложения, его тестирование. Определение затрат на создание программы.
дипломная работа [4,1 M], добавлен 13.05.2012Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Разработка программного кода. Анализ набора функций, необходимых для реализации приложения. Создание компонента Timer. Получение списка имен процессов запущенных на локальном компьютере. Проверка правильности работы программы и соответствия требованиям.
курсовая работа [2,3 M], добавлен 05.01.2013Создание программного приложения для осуществления основных функций по заказу мебели, регистрации клиентов, сотрудничеству с поставщиками. Разработка интерфейса прикладной программы. Логическое проектирование базы данных и SQL-скрипт генерации таблиц.
курсовая работа [2,4 M], добавлен 11.02.2013Описание приложения в виде пользовательского сценария. Проектирование обмена сообщениями между модулями. Разработка общей структуры приложения. Обзор структуры файлов. Разработка получения данных со страницы. Характеристика результата работы программы.
дипломная работа [1,5 M], добавлен 22.03.2018Разработка программного продукта - приложения, позволяющего заносить данные анкетирования в базу данных MS SQL. Описание логики работы приложения, особенности пользовательского интерфейса. Формы просмотра анкет, описание процедур и функций программы.
курсовая работа [1,2 M], добавлен 16.08.2012Создание многоуровневого приложения с Web-интерфейсом выставления оценки фильму и просмотра оценок других пользователей. Клиентская часть приложения. Разработка многопользовательского веб-приложения на ASP.NET MVC 3 с разграничением доступа к данным.
курсовая работа [949,7 K], добавлен 22.02.2015Понятие, законодательное регулирование и виды электронных подписей. Разработка структурной схемы приложения и базы данных. Создание диаграммы прецедентов и классов. Проектирование интерфейса программы. Анализ руководства пользователя web-приложения.
дипломная работа [869,8 K], добавлен 12.08.2017Общее определение и история создания JavaScript библиотек, их назначение и использование. Виды и особенности JS фреймворков. Создание клиентского приложения (каталога комплектующих компьютера), написание кода страницы с использованием фреймворка Jquery.
курсовая работа [544,5 K], добавлен 17.12.2013Разработка базы данных для информационной системы "Библиотека". Системный анализ, инфологическое, даталогическое и физическое проектирование. Программирование бизнес-логики, разработка клиентского приложения. Создание web-приложения, web-доступ.
курсовая работа [3,3 M], добавлен 15.09.2014