Самый простой способ распознавания речи на Arduino Uno


Существуют различные способы распознавания речи на основе платы Arduino, к примеру, ранее на нашем сайте мы рассматривали аналогичный проект на основе платы Arduino Nano 33 BLE Sense и Edge Impulse Studio. Но в данной статье мы рассмотрим, пожалуй, самый простой способ распознавания речи с помощью платы Arduino Uno. Дополнительным достоинством описанного здесь способа является то, что для распознавания речи не используется доступ к сети Интернет как во многих аналогичных проектах – здесь распознавание речи полностью выполняется с помощью локального компьютера, не обращаясь к ресурсам глобальной сети.

Распознавание речи на основе платы Arduino и локального компьютера Принцип распознавания речи в этом проекте основан на использовании библиотеки распознавания языка c# под названием system.speech. Строго говоря, плата Arduino не участвует в данном проекте в процессе распознавания речи, оно выполняется на локальном компьютере, но зато есть возможность с помощью голосовых команд управлять устройствами, подключенными к плате Arduino. Проект может быть использован в различных системах автоматизации дома.

В целях упрощения проекта мы в нем с помощью голосовых команд будем включать/выключать светодиоды, но однако вы можете изменить его по своему желанию и реализовать управление практически любыми устройствами, которыми можно управлять с помощью платы Arduino.

Автор проекта (ссылка на оригинал приведена в конце статьи) хотел реализовать распознавание речи на основе платы Arduino без использования какого либо внешнего модуля, реализующего функции распознавания речи. И при создании данного проекта он был вдохновлен идеей, реализованной в этой статье - https://www.c-sharpcorner.com/article/turning-led-off-and-on-through-voice-recognition/.

Необходимые компоненты

Аппаратное обеспечение

  1. Плата Arduino Uno (купить на AliExpress).
  2. Резистор 1 кОм (3 шт.) (купить на AliExpress).
  3. Светодиод (3 шт.) (купить на AliExpress).
  4. Наушники с микрофоном (можно использовать встроенный в компьютер/ноутбук микрофон если он там есть).
  5. Макетная плата.
  6. Соединительные провода.

Программное обеспечение

  1. Arduino IDE.
  2. Microsoft Visual Studio 2015.

Схема проекта

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

Схема проекта для распознавания речи на основе платы Arduino UnoПосле сборки схемы проекта подключите вашу плату Arduino к компьютеру с помощью USB кабеля и загрузите в нее код скетча, приведенный в конце данной статьи.

Написание кода программы

Для реализации этого проекта вам необходимо установить на свой компьютер программу Microsoft Visual Studio. Автор проекта использовал Microsoft Visual Studio 2010, однако вы можете установить любую другую версию данной программы, только убедитесь в том, что из нее вы сможете создавать формы windows используя приложение c#. Скачать Microsoft Visual Studio вы можете по следующей ссылке.

Скачивание Microsoft Visual StudioПосле того как вы загрузите скетч нашего проекта в плату Arduino запустите в Microsoft Visual Studio приложение c# при помощи нажатия иконки с зеленой стрелкой как показано на следующем рисунке.

Кнопка для запуска приложения c# в Microsoft Visual StudioПримечание 1: данный проект не будет работать если вы не подключите библиотеку using.system.speech в код c# в visual studio. Для этого в visual studio выберите пункт меню Project->Add Reference->.Net, в открывшемся окне найдите библиотеку system.speech, выберите ее и нажмите кнопку OK.

Подключение библиотеки system.speech в Microsoft Visual StudioПримечание 2. Убедитесь в том, что COM порт, который вы выбрали в Arduino IDE, тот же самый, что и в коде c# в visual studio. У автора проекта это порт COM5 – он одинаков у него в обоих кодах.

Выбор COM порта для проектаИсходные коды программ

Скетч для Arduino

Код C#

Видео, демонстрирующее работу проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
1 521 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *