Главная Новости

Модуль распознавания голоса

Опубликовано: 05.09.2018

видео Модуль распознавания голоса

Распознавание голоса и выполнение команды

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



О плюсах данного модуля распознавания:

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

- На ряду с другими моделями данный модуль выгодно отличается функциональностью, ценой и относительной простотой в управлении и подключении.


Модуль распознавания речи

- Имеет высокую распознавающую способность.

- Никакого смартфона не требуется.

И так поехали! Данное видео будет направлено в первую очередь на новичков, тех, кто не знаком с программирование и интерфейсами, в общем для обычных радио любителей. В видео я покажу всё от «А» до «Я»: начнем с установки программ и подключения и закончим конкретным результатом автономной работы модуля.


Обзор голосового модуля на чипе ISD1820

Начнем же мы все равно с теоретических знаний, дабы понимать, как же все-таки работает это чудо инженерной мысли. Перво-наперво вам нужно знать некоторые характеристики данного модуля распознавания голоса:

Потребляемый ток: не более 40 мА, ток не критичный, так что просто учтите. Напряжение питания – 5 В, мы будем питать модуль USB порта компьютера при программировании, а дальше при работе вы сами решите от чего запитывать. Точность распознавания голосовой команды – 99% при идеальных условиях. Модуль распознавания голоса версии V3.1 способен запомнить 80 голосовых команд! Что на мой взгляд вполне достаточно для любых целей. Но опять же это «НО». Но модуль в единицу времени может распознавать только семь любых команд, а каких сень команд – выбирать вам.

То есть, вы можете записать в базу все 80 команд, но для распознавания выбрать только семь, любых семь из восьмидесяти. Это как с компьютером: на жестки диск можно записать 80 команд, а в оперативной памяти работать только с 7-ю командами. Если вам трудно это сейчас понять, то чуть позже на практике, я думаю, вам станет ясно о чём идет речь. Длинна голосовой команды – 1,5 секунды (1500мс) максимальное значение. Управлять платой модуля можно по интерфейсу UART, а вот снимать информацию можно как UART, так с портов GPIO, расположенных на плате. Собственно говоря, чем мы и займемся: будем снимать сигнал с выхода порта.

Переходим к практической части.

Что же нам понадобиться для работы?

- Сам модуль распознавания голоса версии V3 (V3.1) Версия не так важна – принцип работы у всех одинаков. Модуль идет с микрофоном.

- Руководство по модулю, то есть дата шит.

- Программу терминала.

- Преобразователь интерфейсам USB-UART.

Все ссылки на покупку и скачивание софта под видео, в конце статьи.

Вот и всё. Как говорил Гагарин – «Поехали».

Скачиваем руководство и терминал. Терминал устанавливаем. Подключаем модуль к преобразователю интерфейса.

Будьте очень внимательны при подключении. Не страшно, если вы перепутаете TXD и RXD, ничего страшного не произойдёт. А вот если вы перепутаете плюс питания с общим проводом – это будет катастрофа! Как случилось у меня – сразу сгорел модуль и порт компьютера! Будьте очень внимательны и не повторяйте моих ошибок. Не суетитесь, не спешите, проверьте цепь несколько раз перед включением, и только после этого подключайте к USB.

После подключения к USB ваша система начнет поиск драйверов к преобразователю, в 90% случаев система сама находит драйвер и устанавливает его, но если этого по каким-то причинам не произошло, то вам буден нужно самим найти драйвер в сети и установить его. Для этого в поисковой строке напишите «CP2102 драйвер скачать» или типа того, модуль распространенный, вариантов драйверов полно.

Далее, после успешной установки оборудования идем в диспетчер устройств и смотрим порты. Нас интересует присвоенный номер нашего преобразователя. Когда узнали номер порта запускаем терминал. Идем в настройки и устанавливаем значения как у меня на рисунке.

Пишем в окне терминала команду – «AA 02 00 0A» (из даташита | AA | 02 | 00 | 0A |). Во всех командах всегда буквы заглавные и латинские.

Поле отправки вам должен последовать ответ, типа: «AA 08 00 STA BR IOM IOPW AL GRP 0A» (или из даташита | AA | 08 | 00 | STA | BR | IOM | IOPW | AL | GRP | 0A |). Если ответ пришел, то все отлично, пол дела сделано. Если нет, играемся с настройками настройками скорости передачи в терминале, просто возможно модуль настроен на другую скорость.

Я не буду останавливаться на том что означает данный ответ модуля, это вы сами сможете посмотреть в инструкции. А команда — это запрос установленных настроек.

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

Поясню саму команду « AA 02 00 0A » - это пакет состоящий из 4 байт, байты - это попарные символы в шестнадцатеричной системе – AA,02,00,0A. Во всех командах пакет будет начинаться байтом AA и заканчиваться байтом 0 A (Ноль и A ) – это обязательное условие. Ответы модуля будут так же начинаться и заканчиваться этими символами.

« AA 02 00 0A » - второй байт этой команды означает количество байт между байтами начала и конца, короче кроме AA и 0A. А все что между ними считаем и пишем во второй байт. Как видим в этом примере, что между AA и 0A стоят два байта - 02 00 , следовательно – 02, то есть число считает само себя. Еще пример, « AA 03 20 01 0A » то есть между AA и 0A стоят три байта - « 03 20 01 », следовательно, второй байт – 03. Думаю, Вам будет понятно.

Команда «12» - настройка портов модуля.

На плате модуля расположены порты, с которых мы будем снимать сигнал, прежде чем это делать, необходимо настроить эти порты. Настроить порты можно это командой

«AA 03 12 01 0A» - третий байт — это команда, а четвертый значение команды. Четвертый байт может принимать следующие значения и задавать следующие опции: если «00» - режим импульса, то есть при распознавании голосовой команды, на нужный нам порт подается короткий импульс. Если «01» - режим инверсии, то есть при распознавании голосовой команды, на нужный нам порт сменит состояние на противоположное, если был 0 – станет 1 и наоборот. Если «02» - режим при котором порт переходит в ноль. Если «03» - режим при котором порт переходит в единицу.

Команда «20» - настройка портов модуля.

«AA 03 20 01 0A» - третий байт - это номер команды, которую мы будем записывать. Пример записи двух команд 1 и 2: «AA 04 20 01 02 0A». Пример записи двух команд 1, 2, 3: «AA 05 20 01 02 03 0A».

Команда «30» - загрузка записи в «распознаватель» модуля.

«AA 03 30 01 0A» - третий байт команда загрузки в память распознавателя записи 01. Если нужно записать две команды - «AA 04 30 01 02 0A» , если нужно записать все семь команд - «AA 09 30 01 02 03 04 05 06 07 0A».

Команда «15» - Автозагрузка голосовых команд в распознаватель при включении питания – автономный режим работы без внешнего контроллера.

«AA 03 15 07 01 02 03 0A» - третий байт команда, четвертый байт метка команд, то есть своеобразный идентификатор, и равен 01 для загрузки одной команды, 03 – для загрузки двух команд, 07 – для загрузки трех команд и так далее, смотрите в даташит таблицу. Ну а дальше идут номера команд, которые нужно загружать.

Вот и всё: проверили связь с модулем, сконфигурировали порты, записали команды, настроили автозагрузки голосовых команд.

Об остальных командах читайте в даташит. Я лишь объяснил примерный вид работы с модулем.

 

 

Ссылки для покупки:

Модуль – http://ali.pub/dk0gv

Преобразователь - http://ali.pub/fhond

Преобразователь с проводами - http://ali.pub/hlvn5

 

Ссылки для скачивания:

Дата шит – http://www.elechouse.com/elechouse/images/product/VR3/VR3_manual.pdf

Терминал - http://www.sudt.com/download/AccessPort137.zip

© 2008 — 2012 offroad.net.ua . All rights reserved. by nucleart.net 2008
rss