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

Pin
Send
Share
Send

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

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

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

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

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

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

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

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

Струм: не більше 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 - для завантаження трьох команд і так далі, дивіться в даташит таблицю. Ну а далі йдуть номера команд, які потрібно завантажувати.

Ось і все: перевірили зв'язок з модулем, сконфигурировали порти, записали команди, налаштували автозавантаження голосових команд.

Про решту командах читайте в даташит. Я лише пояснив приблизний вигляд роботи з модулем.

Посилання для покупки:

модуль - //ali.pub/dk0gv

Перетворювач - //ali.pub/fhond

Перетворювач з проводами - //ali.pub/hlvn5

Посилання для скачування:

Дата шитий - //www.elechouse.com/elechouse/images/product/VR3/VR3_manual.pdf

термінал - //www.sudt.com/download/AccessPort137.zip

Pin
Send
Share
Send

Дивіться відео: Модуль распознавания голоса (Листопад 2024).