Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Embedded-разработка

Разработка VR-джойстика с поддержкой голосового управления

Добавлено 09 дек 2023 в 16:22
Проект разработки VR-джойстика с поддержкой голосового управления выполнен с применением следующих устройств:
- плата STM32F3 Discovery с гироскопом L3GD20 и акселерометром LSM303DLHC на борту;
- микрофон MAX9814;
- микроконтроллер ESP32;
- ЖК-дисплей LCD1602.

Принцип работы устройства можно разделить на 2 этапа:
1. Определение положения углов пространственного положения;
2. Реализация голосового управления.

Алгоритм определения положения углов пространственного положения следующий:
1. Микроконтроллер STM32F303VCT6 опрашивает гироскоп и акселерометр;
2. По полученным данным с акселерометра и гироскопа выполняется фильтрация данных и расчет углов положения платы в пространстве;
3. Полученные значения углов передаются на ПК с помощью интерфейса USB-HID и на ЖК дисплей LCD1602.

Алгоритм реализации голосового управления следующий:
1. Аналоговый сигнал с микрофона MAX9814 преобразуется в цифровой с помощью АЦП
микроконтроллера STM32F303VCT6;
2. Полученный с помощью АЦП цифровой сигнал передается по интерфейсу UART в микроконтроллер ESP32;
3. Микроконтроллер ESP32 выполняет https запрос на сервис yandex-speech. Сервис yandex-speech преобразует голосовую команду в текстовый вид и возвращает текстовую строку обратно в микроконтроллер ESP32;
4. ESP32 передает текстовую строку (распознанную голосовую команду) обратно в STM32 по интерфейсу UART.


Проект для STM32F3VCT6 написан в среде CooCox на языке C с использованием библиотеки SPL и ОС FreeRTOS.
Проект для ESP32 написан в среде ESP-IDE на языке C.

Ссылка с проектом на github:
https://github.com/trifonov-yuriy/VR-Joystick-with-voice-control-support/tree/main

Ab7267b250 314c06b382 24cbbf44d4 32c3c77eb6