УДК 004.514
ПРОЕКТИРОВАНИЕ ИНТЕРФЕЙСА ДЛЯ ПРОГРАММНОГО МОДУЛЯ ПО ОБУЧЕНИЮ РОБОТОТЕХНИКЕ С ПРИМЕНЕНИЕМ КОНТРОЛЛЕРА «AMPERKA ISKRA JS»
Первоисточник: Сидорика М. Д., Радевич Е. В. Проектирование интерфейса для программного модуля по обучению робототехнике с применением контроллера «Amperka Iskra JS» // Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ-2024): сб. материалов XV Междунар. науч.-техн. конф. в рамках X Междунар. науч. форума ДНР. – Донецк: ДонНТУ, 2024. – URL: https://drive.google.com/file/d/13t09rz5Bodvg5MQAkDqB3L2_FTsmUTYg/edit .
Сидорика М.Д. Радевич Е.В.
Донецкий национальный технический университет
кафедра прикладной математики и искусственного интеллекта
E-mail: sidorika.maks@gmail.com
Аннотация: Сидорика М.Д. Радевич Е.В. Проектирование интерфейса для программного модуля по обучению робототехнике с применением контроллера «Amperka Iskra JS». Рассмотрены основные принципы робототехники и ее актуальность, и существующие программные модули и инструменты для обучения. Описаны характеристики контроллера «Amperka Iskra JS», а также проведён анализ требований пользователей к пользовательскому интерфейсу. Спроектирован пользовательский интерфейс.
Annotation: Sidorika M.D., Radevich E.V. Designing an interface for a software module on robotics education using the «Amperka Iskra JS» controller. The basic principles of robotics and its relevance, as well as existing software modules and tools for education, are considered. The characteristics of the «Amperka Iskra JS» controller are described, and an analysis of user requirements for the user interface is conducted. The user interface has been designed.
Ключевые слова: образование в области робототехники, контроллер «Amperka Iskra JS»,
образовательные программные модули, пользовательский интерфейс.
Keywords: education in robotics, «Amperka Iskra JS» controller, educational software modules,
user interface.
Общая постановка проблемы
Развитие современных технологий и повышенный интерес к робототехнике предъявляют новые требования к образовательному процессу в этой области. Несмотря на значительный прогресс в разработке робототехнических систем, существующие программные решения для обучения робототехнике часто являются ограниченными в функциональности и доступности.
Проблема заключается в том, что многие существующие образовательные программы по робототехнике требуют значительных временных и финансовых затрат на приобретение дорогостоящего оборудования и специализированных средств разработки. Это создает барьеры для широкого распространения обучения робототехнике и ограничивает доступ к этой области знаний.
Цель настоящей работы состоит в разработке программного модуля по обучению робототехнике с использованием контроллера «Amperka Iskra JS», который позволит студентам и любителям робототехники получить доступ к современной среде разработки и обучения без необходимости приобретения дорогостоящего оборудования. Разработанный программный модуль должен предоставлять возможность проведения теоритических занятий, выполнения экспериментов и изучения основных принципов робототехники в удобной и доступной форме.
Основные принципы робототехники и ее актуальность
Робототехника в современном мире становится все более важной из-за следующих причин:
- применение в промышленности для монотонных и опасных операций, повышая производительность и безопасность;
- роботы обладают аналитическими и обучающими способностями, что позволяет им эффективно взаимодействовать с окружающей средой и людьми;
- использование в медицине для хирургических операций, реабилитации и помощи людям с ограниченными возможностями;
- автономность роботов в областях, таких как автономное вождение и исследование космоса;
- снижение затрат на рабочую силу и повышение производственной эффективности, способствующие экономическому росту;
- экологическая устойчивость производства через более эффективное использование ресурсов и снижение отходов;
- доступ к новым технологиям и инновациям в различных сферах жизни;
- стимулирование научных исследований и разработок в области искусственного интеллекта, мехатроники и материаловедения.[1]
Обзор существующих инструментов для обучения робототехнике
Существуют различные программные модули и инструменты, которые предназначены для обучения робототехнике на различных уровнях сложности.
- LEGO Mindstorms – это популярная платформа для обучения робототехнике, основанная на конструкторе LEGO и программном обеспечении, которое позволяет создавать и программировать различных роботов.
- Arduino – представляет собой открытую платформу для создания интерактивных проектов, включая робототехнику. С его помощью можно создавать и программировать различные устройства, включая роботов.
- Raspberry Pi – это еще одна популярная платформа для создания роботов и других устройств. Она обладает большой вычислительной мощностью и широким спектром возможностей.
- VEX Robotics – это платформа для обучения робототехнике, которая включает в себя различные компоненты и датчики, а также программное обеспечение для программирования и управления роботами.
- Scratch – это визуальный язык программирования, который широко используется для обучения детей основам программирования и робототехнике.
Характеристики и возможности контроллера «Amperka Iskra JS»
Контроллер «Amperka Iskra JS» представляет собой флагманскую плату, разработанную компанией Амперка для широкого спектра электронных проектов.
Оснащенный интерпретатором JavaScript и обладающий мощными вычислительными возможностями, Iskra JS представляет собой оптимальное решение для проектов, где важны скорость разработки, максимальная совместимость с периферией и высокая производительность. Iskra JS использует язык программирования JavaScript, что обеспечивает удобство и гибкость в разработке.
С микроконтроллером STM32F405RG, работающим на частоте 168 МГц, и обладая 1 МБ флеш-памяти и 192 КБ оперативной памяти, Iskra JS способен эффективно обрабатывать JavaScript-код и выполнять различные задачи, включая управление роботами, системами умного дома и промышленной автоматикой.
С совместимыми с Arduino контактными колодками и логическим напряжением 3,3 вольта Iskra JS обеспечивает широкую совместимость с Arduino-периферией и позволяет легко использовать различные платы расширения.
Iskra JS предоставляет разнообразные порты ввода-вывода для взаимодействия с различными устройствами, включая аналоговые и цифровые сигналы, а также последовательные порты и шины SPI и I²C для подключения дисплеев, гироскопов, акселерометров и других модулей.
Питание Iskra JS можно осуществлять через различные источники, включая порт micro-USB, контакт Vin или внешний разъем.
Для прошивки и взаимодействия с компьютером Iskra JS использует кабель micro-USB, обеспечивая простоту и удобство в использовании. Возможность программирования платформы как HID-устройства расширяет ее функциональность.[2]
Анализ требований пользователей к пользовательскому интерфейсу
Для эффективного проектирования пользовательского интерфейса для программного модуля по обучению робототехнике с применением контроллера «Amperka Iskra JS» необходимо провести анализ требований потенциальных пользователей. Вот некоторые из возможных требований, которые могут быть выявлены:
- Простота использования. Пользователи, вероятно, заинтересованы в удобном и интуитивно понятном интерфейсе, который позволит им легко понять основные принципы программирования и управления роботами.
- Наглядность и доступность. Интерфейс должен быть наглядным и доступным даже для начинающих пользователей. Графические элементы, инструкции и подсказки могут быть использованы для облегчения процесса обучения.
- Обратная связь и отладка. Интерфейс должен предоставлять информацию о текущем состоянии системы, возможные ошибки и способы их устранения, чтобы пользователи могли эффективно отлаживать свои программы.
- Интеграция с обучающим контентом. Интерфейс может предоставлять доступ к обучающим материалам, урокам и примерам программирования, чтобы пользователи могли быстро и эффективно осваивать новые навыки.
- Поддержка различных устройств. Интерфейс должен быть адаптирован для работы на различных устройствах чтобы пользователи могли использовать его в любое время и в любом месте.[3]
Проектирование пользовательского интерфейса
Для разработки пользовательского интерфейса программного модуля по обучению робототехнике с использованием контроллера Amperka Iskra JS было принято решение использовать технологию Windows Forms и язык программирования C#.
Преимущества Windows Forms:
- предоставляет простой и удобный способ создания графического интерфейса в среде разработки Visual Studio. Интеграция с Visual Studio позволяет использовать множество инструментов для разработки, отладки и тестирования приложений;
- предоставляет широкий набор предварительно разработанных элементов управления, что позволяет быстро создавать интерфейс с минимальными затратами времени и усилий;
- предоставляет простой и интуитивно понятный подход к созданию интерфейса. Разработчики могут легко настраивать внешний вид и поведение элементов интерфейса с помощью свойств и событий.
Преимущества языка программирования C#:
- язык программирования C# тесно интегрируется с Windows Forms, обеспечивая простоту и эффективность написания кода для управления элементами интерфейса и обработки событий;
- C# обладает богатым набором библиотек и инструментов для работы с графическим интерфейсом, что позволяет реализовать разнообразные функциональные возможности и обеспечить высокую производительность приложения;
- C# работает на платформе .NET Framework, что обеспечивает высокую степень совместимости с другими технологиями и библиотеками, а также упрощает разработку и сопровождение приложений.
Выбор технологии Windows Forms и языка программирования C# был обусловлен их простотой использования, интеграцией со средой разработки Visual Studio, а также широкими возможностями для быстрой и эффективной разработки графического интерфейса приложения.
Цели, которые должен решать пользовательский интерфейс:
- обеспечение простоты и удобства использования приложения для обучения робототехнике;
- предоставление широкого набора функций для обучения управлению робототехническими устройствами;
- обеспечение интерактивности и обратной связи с пользователем в процессе работы приложения;
- создание гибкого и расширяемого интерфейса, способного адаптироваться к различным потребностям пользователей;
- разработка строгого дизайна интерфейса, лёгкого для восприятия и не перегруженного лишними деталями.
Так как приложение состоит из нескольких окон в интерфейсе проектируется структура окон и их взаимосвязь. В приложении присутствуют следующие окна:
- окно авторизации;
- окно регистрации;
- главное меню;
- профиль пользователя;
- редактор профиля;
- IDE;
- учебный модуль;
- окно урока;
- тестовые задания.
Структура окон приложения представлена на рисунке 1.
Основная цель при выборе стиля и дизайна интерфейса была обеспечить максимальную простоту и удобство использования для пользователей всех уровней. Для этого были приняты следующие решения:
- Интерфейс выполнен в минималистичном стиле, чтобы не отвлекать пользователей от основной задачи – обучения робототехнике. Отсутствие излишних деталей и сложных анимаций делает интерфейс интуитивно понятным для всех пользователей.
- Использование шрифта Comic Sans MS и светлого фона (
WhiteSmoke) придает интерфейсу дружелюбный и приятный внешний вид. Этот выбор также учитывает возможных пользователей всех возрастных категорий, включая начинающих и молодых учащихся. - Размещение элементов управления на форме было продумано с учетом логики пользовательского взаимодействия.
- Выбор цветовой палитры, в том числе фона и текста, был сделан с учетом нейтральности и универсальности. Это позволяет пользователям сосредотачиваться на содержании и функциональности интерфейса, минуя внешние отвлекающие факторы.
Таким образом, выбор стиля и дизайна интерфейса основывается на стремлении к простоте, удобству и универсальности использования. Пример внешнего вида интерфейса представлен на рисунках 2–3.
Интеграция пользовательского интерфейса с IDE Espruino производилась путем встраивания окна IDE в главное окно приложения. Для этого были предприняты следующие шаги:
- В методе
InitializeIDE()происходит запуск процесса IDE Espruino с помощью классаProcess. Путь к исполняемому файлу IDE определяется с помощью методаSystem.IO.Path.GetFullPath(). После запуска процесса приложение ждет 1 секунду (Thread.Sleep(1000)) для того, чтобы приложение IDE успело инициализироваться. - После запуска процесса IDE происходит поиск его окна с помощью функции
FindWindow(), указывая имя окна «Espruino Web IDE». Затем с помощью функцииSetParent()окно IDE встраивается в главное окно приложения. - Размеры встроенного окна IDE устанавливаются такими же, как у главного окна приложения. Это
осуществляется с помощью вызова функции
SetWindowPos()с параметрами для изменения размера окна IDE.
Таким образом, приложение обеспечивает взаимодействие между пользовательским интерфейсом и контроллером Amperka Iskra JS путем встраивания окна IDE Espruino и предоставляет пользователю возможность управлять контроллером и программировать его через IDE без необходимости переключения между различными приложениями.
Внешний вид окна «IDE» представлен на рисунке 4.
Выводы
В ходе разработки программного модуля по обучению робототехнике с применением контроллера «Amperka Iskra JS» был спроектирован и разработан пользовательский интерфейс, соответствующий современным требованиям эффективного и удобного обучения. Проектирование интерфейса включало в себя анализ основных принципов робототехники, оценку требований пользователей и учет специфики контроллера.
Минималистичный и интуитивно понятный дизайн интерфейса, а также использование шрифта Comic Sans MS и светлого фона, делают процесс обучения доступным и приятным для пользователей всех возрастных категорий. Размещение элементов управления было продумано с учетом логики пользовательского взаимодействия, что способствует удобству использования.
Выбор стиля и дизайна интерфейса основан на стремлении к простоте, удобству и универсальности использования. Такой подход позволяет пользователям сосредоточиться на основной задаче обучения робототехнике, минуя внешние отвлекающие факторы.
В результате, разработанный пользовательский интерфейс обеспечивает эффективное и приятное обучение робототехнике с использованием контроллера «Amperka Iskra JS», открывая доступ к современным технологиям и инновациям в этой области.
Литература
- Ступина Е.Е., Ступин А.А., Чупин Д.Ю., Каменев Р.В. Основы робототехники: учебное пособие. – Новосибирск: Агентство «Сибпринт», 2019. – 160 с.
- База знаний Амперки / URL: http://wiki.amperka.ru/.
- Мандел Т. Разработка пользовательского интерфейса: Пер. с англ. – М.: ДМК Пресс. – 416 с., ил. (Серия «Для программистов»).