Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
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