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




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

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

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

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

— На ряду з іншими моделями даний модуль вигідно відрізняється функціональністю, ціною і відносною простотою в управлінні і підключенні.

— Має високу розпізнавати здатність.

— Ніякого смартфона не потрібно.

І так поїхали! Дане відео буде направлено в першу чергу на новачків, тих, хто не знайомий з програмування і інтерфейсами, в загальному для звичайних радіо любителів. У відео я покажу все від «А» до «Я»: почнемо з установки програм і підключення і закінчимо конкретним результатом автономної роботи модуля.

Почнемо ж ми все одно з теоретичних знань, щоб розуміти, як же все-таки працює це чудо інженерної думки. Насамперед вам потрібно знати деякі характеристики даного модуля розпізнавання голосу:

Струм: не більше 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 і закінчуватися байтом 0A (Нуль і 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


Понравилась статья? Поделиться с друзьями:
Ремонт домов и квартир своими руками