В статье автор разрабатывает мобильное игровое приложение для демонстрации принципов работы литий-ионного аккумулятора.
Ключевые слова: Unity, C#, литий-ионный аккумулятор, мобильное игровое приложение, разработка.
В настоящее время в школах и институтах процесс ознакомления учащихся с основами электроники протекает с использованием традиционных методов обучения: лекций, семинаров и лабораторных работ. Такой способ может быть ненагляден и недостаточно продуктивен с практической точки зрения. Например, для практического изучения устройства и принципов работы литий-ионных аккумуляторов требуется иметь лабораторию, оснащенную изолированным боксом, поскольку на открытом воздухе происходит окисление компонентов аккумулятора. Соответственно, такие условия ограничивают возможности студентов для самостоятельного исследования аккумуляторов.
Чтобы повысить усваиваемость и мотивированность учащегося, можно использовать наглядные интерактивные приложения, позволяющие моделировать и визуализировать исследуемое явление или объект. Так, в случае с аккумуляторами, студент мог бы самостоятельно участвовать в сборке виртуальной модели аккумулятора, изменять его параметры и наблюдать за работой. Такими возможностями будет обладать приложение «Аккумулятор».
Приложение «Аккумулятор» дает возможность пользователям изучать модель литий-ионного аккумулятора, получать информацию о его компонентах и изменять их. Для реализации функций мобильного игрового приложения был использован игровой движок Unity [1].
Для разработки программы использовался язык C# [2], среда разработки JetBrains Rider [3].
Мобильное приложение реализовано и использованием компонентной модели, при которой объекты композируют в себе компоненты, наделяющие их логикой. Пользовательский интерфейс реализован с использованием архитектуры MVC (Model-View-Controler). Model отвечает за бизнес-логику приложения и управление данными, View отвечает за отображение приложение на экране пользователя, Controller является компонентом-посредником между View и Model.
При запуске приложения появляется экран с моделью аккумулятора (рис. 1). Пользователь имеет возможность управлять камерой и осматривать модель с разных сторон.
Рис. 1. Экран с моделью
При нажатии на кнопки «Визуализировать заряд» или «Визуализировать разряд» запускается анимация заряда или разряда аккумулятора (рис. 2).
Рис. 2. Визуализация заряда аккумулятора
Визуализация заряда или разряда показывает процесс переноса ионов лития между электродами литий-ионного аккумулятора в процессе его заряда и разряда.
Пользователь может подробнее ознакомиться с каждым компонентом аккумулятора, нажав на него (рис. 3), после чего откроется панель с информацией о выбранном компоненте.
Рис. 3. Экран с информацией о катоде
При нажатии на кнопку «Изменить» пользователь появляется панель с возможными компонентами аккумулятора (рис. 4). Пользователь может выбрать нужный ему компонент, и он применится к модели, при последующих кликах на него будет изображаться корректная информация о новом компоненте.
Рис. 4. Экран выбора катода
При нажатии на кнопку «Параметры аккумулятора» открывается панель с информацией о характеристиках аккумулятора (рис. 5).
Рис. 5. Экран параметров аккумулятора
Используя встроенный инструмент анализа Profiler [4], можно определить, что в среднем отрисовка одного кадра уходит примерно 7 мс (рис. 6).
Рис. 6. Информация о времени обработки кадра приложения
Приложением был использован объем оперативной памяти 313 Мб, основную часть которой заняли графические данные (рис. 7).
Рис. 7. Информация об использовании памяти
Таким образом, было разработано приложение, демонстрирующее принципы работы литий-ионных аккумуляторов.
Литература:
1. Unity [Электронный ресурс] — https://unity.com/
2. C# [Электронный ресурс] — https://learn.microsoft.com/en-us/dotnet/csharp/
3. Jetbrains Rider [Электронный ресурс] — https://www.jetbrains.com/rider/
4. Unity Profiler [Электронный ресурс] — https://docs.unity3d.com/Manual/Profiler.html