Модул за гласово разпознаване
Поздрави скъпи приятели. Най-накрая успях да запиша урок за работа с гласовия модул. Виждам, че харесахте моя домашен продукт с гласово управление и мнозина вече започнаха да се чудят кога ще бъде пуснат практически урок за работа с модула за гласово управление.
За предимствата на този модул за разпознаване:
- Модулът е автономен и може да работи без външен управляващ контролер, което е много важно за радиолюбителите, които не са запознати с програмирането.
- Заедно с други модели, този модул се отличава с изгодна функционалност, цена и относителна лекота на управление и свързване.
- Има висока способност за разпознаване.
- Не е необходим смартфон.
И така да тръгваме! Това видео ще бъде насочено предимно към начинаещи, тези, които не са запознати с програмирането и интерфейсите, като цяло, за обикновените радиолюбители. Във видеото ще покажа всичко от „А” до „Я”: ще започнем с инсталиране на програми и свързване и ще завършим с конкретния резултат от автономната работа на модула.
Нека все пак да започнем с теоретични знания, за да разберем как всъщност работи това чудо на инженерството. На първо място, трябва да знаете някои характеристики на този модул за гласово разпознаване:
Консумация на ток: не повече от 40 mA, токът не е критичен, така че просто го вземете предвид. Захранващото напрежение е 5 V, ние ще захранваме USB порт модула на компютъра по време на програмиране, а след това по време на работа вие ще решите от къде да го захранвате. Точността на разпознаване на гласови команди е 99% при идеални условия. Модулът за гласово разпознаване версия V3.1 е в състояние да запомни 80 гласови команди! Което според мен е напълно достатъчно за всякакви цели. Но отново това е „НО“. Но модулът може да разпознае само седем команди за единица време и вие избирате кои команди.
Тоест можете да запишете всички 80 команди в базата данни, но да изберете само седем за разпознаване, всеки седем от осемдесет. Това е като с компютър: можете да напишете 80 команди на твърдия диск, но да работите само със 7 команди в RAM. Ако сега ви е трудно да разберете, тогава малко по-късно на практика, мисля, че ще ви стане ясно за какво говорим. Дължината на гласовата команда е 1,5 секунди (1500ms) максимална стойност. Платката на модула може да се управлява чрез интерфейса 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. Във всички команди пакетът ще започва с байта А.А. и завършва с байт 0А (Нула и А) е предпоставка. Отговорите на модула също ще започват и завършват с тези знаци.
«AA 02 00 0A" - вторият байт на тази команда означава броя на байтовете между началния и крайния байт, накратко освен А.А. И 0А. И ние броим и записваме всичко между тях във втория байт. Както виждаме в този пример, това, което е между А.А. И 0А струва два байта - 02 00, следователно – 02, тоест числото се брои само. Друг пример, "AA 03 20 01 0A„тоест между А.А. И 0А струва три байта - «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 за зареждане на три команди и т.н. вижте таблицата с данни. Е, тогава има номерата на командите, които трябва да бъдат заредени.
Това е всичко: проверихме връзката с модула, конфигурирахме портовете, записахме команди и конфигурирахме автоматично зареждане на гласови команди.
Прочетете за други команди в листа с данни. Просто обясних приблизителен начин на работа с модула.
Връзки за покупка:
Модул –
конвертор -
Преобразувател с проводници -
Връзки за изтегляне:
Датата е определена -
Терминал -