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

Основные принципы робототехники и ее актуальность

Робототехника в современном мире становится все более важной из-за следующих причин:

Обзор существующих инструментов для обучения робототехнике

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

Характеристики и возможности контроллера «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» необходимо провести анализ требований потенциальных пользователей. Вот некоторые из возможных требований, которые могут быть выявлены:

  1. Простота использования. Пользователи, вероятно, заинтересованы в удобном и интуитивно понятном интерфейсе, который позволит им легко понять основные принципы программирования и управления роботами.
  2. Наглядность и доступность. Интерфейс должен быть наглядным и доступным даже для начинающих пользователей. Графические элементы, инструкции и подсказки могут быть использованы для облегчения процесса обучения.
  3. Обратная связь и отладка. Интерфейс должен предоставлять информацию о текущем состоянии системы, возможные ошибки и способы их устранения, чтобы пользователи могли эффективно отлаживать свои программы.
  4. Интеграция с обучающим контентом. Интерфейс может предоставлять доступ к обучающим материалам, урокам и примерам программирования, чтобы пользователи могли быстро и эффективно осваивать новые навыки.
  5. Поддержка различных устройств. Интерфейс должен быть адаптирован для работы на различных устройствах чтобы пользователи могли использовать его в любое время и в любом месте.[3]

Проектирование пользовательского интерфейса

Для разработки пользовательского интерфейса программного модуля по обучению робототехнике с использованием контроллера Amperka Iskra JS было принято решение использовать технологию Windows Forms и язык программирования C#.

Преимущества Windows Forms:

Преимущества языка программирования C#:

Выбор технологии Windows Forms и языка программирования C# был обусловлен их простотой использования, интеграцией со средой разработки Visual Studio, а также широкими возможностями для быстрой и эффективной разработки графического интерфейса приложения.

Цели, которые должен решать пользовательский интерфейс:

Так как приложение состоит из нескольких окон в интерфейсе проектируется структура окон и их взаимосвязь. В приложении присутствуют следующие окна:

Структура окон приложения представлена на рисунке 1.

Структура окон приложения
Рисунок 1 – Структура окон приложения

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

  1. Интерфейс выполнен в минималистичном стиле, чтобы не отвлекать пользователей от основной задачи – обучения робототехнике. Отсутствие излишних деталей и сложных анимаций делает интерфейс интуитивно понятным для всех пользователей.
  2. Использование шрифта Comic Sans MS и светлого фона (WhiteSmoke) придает интерфейсу дружелюбный и приятный внешний вид. Этот выбор также учитывает возможных пользователей всех возрастных категорий, включая начинающих и молодых учащихся.
  3. Размещение элементов управления на форме было продумано с учетом логики пользовательского взаимодействия.
  4. Выбор цветовой палитры, в том числе фона и текста, был сделан с учетом нейтральности и универсальности. Это позволяет пользователям сосредотачиваться на содержании и функциональности интерфейса, минуя внешние отвлекающие факторы.

Таким образом, выбор стиля и дизайна интерфейса основывается на стремлении к простоте, удобству и универсальности использования. Пример внешнего вида интерфейса представлен на рисунках 2–3.

Внешний вид окон «Регистрация» и «Главное меню»
Рисунок 2 – Внешний вид окон «Регистрация» и «Главное меню»
Внешний вид окна «Урок»
Рисунок 3 – Внешний вид окна «Урок»

Интеграция пользовательского интерфейса с IDE Espruino производилась путем встраивания окна IDE в главное окно приложения. Для этого были предприняты следующие шаги:

  1. В методе InitializeIDE() происходит запуск процесса IDE Espruino с помощью класса Process. Путь к исполняемому файлу IDE определяется с помощью метода System.IO.Path.GetFullPath(). После запуска процесса приложение ждет 1 секунду (Thread.Sleep(1000)) для того, чтобы приложение IDE успело инициализироваться.
  2. После запуска процесса IDE происходит поиск его окна с помощью функции FindWindow(), указывая имя окна «Espruino Web IDE». Затем с помощью функции SetParent() окно IDE встраивается в главное окно приложения.
  3. Размеры встроенного окна IDE устанавливаются такими же, как у главного окна приложения. Это осуществляется с помощью вызова функции SetWindowPos() с параметрами для изменения размера окна IDE.

Таким образом, приложение обеспечивает взаимодействие между пользовательским интерфейсом и контроллером Amperka Iskra JS путем встраивания окна IDE Espruino и предоставляет пользователю возможность управлять контроллером и программировать его через IDE без необходимости переключения между различными приложениями.

Внешний вид окна «IDE» представлен на рисунке 4.

Внешний вид окна «IDE»
Рисунок 4 – Внешний вид окна «IDE»

Выводы

В ходе разработки программного модуля по обучению робототехнике с применением контроллера «Amperka Iskra JS» был спроектирован и разработан пользовательский интерфейс, соответствующий современным требованиям эффективного и удобного обучения. Проектирование интерфейса включало в себя анализ основных принципов робототехники, оценку требований пользователей и учет специфики контроллера.

Минималистичный и интуитивно понятный дизайн интерфейса, а также использование шрифта Comic Sans MS и светлого фона, делают процесс обучения доступным и приятным для пользователей всех возрастных категорий. Размещение элементов управления было продумано с учетом логики пользовательского взаимодействия, что способствует удобству использования.

Выбор стиля и дизайна интерфейса основан на стремлении к простоте, удобству и универсальности использования. Такой подход позволяет пользователям сосредоточиться на основной задаче обучения робототехнике, минуя внешние отвлекающие факторы.

В результате, разработанный пользовательский интерфейс обеспечивает эффективное и приятное обучение робототехнике с использованием контроллера «Amperka Iskra JS», открывая доступ к современным технологиям и инновациям в этой области.

Литература

  1. Ступина Е.Е., Ступин А.А., Чупин Д.Ю., Каменев Р.В. Основы робототехники: учебное пособие. – Новосибирск: Агентство «Сибпринт», 2019. – 160 с.
  2. База знаний Амперки / URL: http://wiki.amperka.ru/.
  3. Мандел Т. Разработка пользовательского интерфейса: Пер. с англ. – М.: ДМК Пресс. – 416 с., ил. (Серия «Для программистов»).