Voice recognition module

Greetings, dear friends. Finally, I got to record a lesson on working with the voice module. I see you liked my home-made with voice control and many have already begun to wonder when the practical lesson on working with the voice control module will be released.

Voice recognition module

About the advantages of this recognition module:

- The module is autonomous and can work without an external control controller, which is very important for amateurs not familiar with programming.

- Together with other models, this module is advantageous for its functionality, price and relative simplicity in control and connection.

- Has a high recognition ability.

- No smartphone required.

And so go! This video will be directed primarily to beginners, those who are not familiar with programming and interfaces, in general, for ordinary radio fans.In the video, I'll show everything from «A»before«I»: Start by installing the programs and connecting and finish with the specific result of the module’s autonomous operation.

We will start all the same with theoretical knowledge, in order to understand how this engineering engineering miracle still works. First of all, you need to know some characteristics of this voice recognition module:

Current consumption: not more than 40 mA, the current is not critical, so just keep in mind. Power Supply –5V,wewillpowertheUSBportofthecomputerwhenprogramming,andthenyoudecidewhattopoweronwhenyouwork.Accuracyofvoicecommandrecognition–99%underidealconditions.VoicerecognitionmoduleversionV3.1isabletomemorize80voicecommands!Whatinmyopinionisenoughforanypurpose.Butthenagainthisis"butBUT".Butthemoduleperunitoftimecanrecognizeonlysevenanycommands,andwhichcommandscanvas– you choose.

Voice recognition module

That is, you can write all 80 teams into the database, but for recognition, choose only seven, any seven out of eighty.It's like having a computer: 80 commands can be written to the hard drive, and only 7 commands can be used in the RAM. If you find it hard to understand now, then in practice, I think, you will become clear about what is going on. Voice command length – 1.5 seconds (1500ms) maximum value. You can control the module board via the UART interface, but you can remove information both from the UART and from the GPIO ports located on the board. Strictly speaking, what we will do: we will remove the signal from the port.

Let's move on to the practical part.

What do we need to work?

- Voice Recognition Module V3 (V3.1) Version is not so important – The principle of work is the same for everyone. The module comes with a microphone.

- The module manual, that is, the date is.

- The terminal program.

- Converter to USB-UART interfaces.

All links to the purchase and download of software under the video, at the end of the article.

That's it. As Gagarin said –«Let'sgo».

Download the manual and the terminal. The terminal is installed. We connect the module to the interface converter.

Voice recognition module

Be very careful when connecting. Do not be afraid, if you confuse TXD and RXD, nothing terrible will happen.But if you mix up the power supply with the common wire –itwillbeadisaster!Whathappenedtome– immediately burned down the module and the port of the computer! Be very careful and do not repeat my mistakes. Do not fuss, do not rush, check the circuit several times before turning it on, and only then connect to USB.

After connecting to USB, your system starts searching for drivers for the converter, in 90% of cases the system itself finds the driver and installs it, but if this has not happened for some reason, then you need to find the driver on the network yourself and install it . To do this, write in the search box «CP2102driverdownload» or something like that, the module is common, the driver options are complete.

Next, after successful installation of the equipment, we go to the device manager and look at the ports. We are interested in our assigned transmitter number. When we learned the port number, we launch the terminal. Go to the settings and set the values ​​as in my picture.

Writing &ndashcommandinaterminalwindow;&Laquo;AA02000A» (from datashit | AA | 02 | 00 | 0A |). In all commands, the letters are always capital and Latin.

The send field should be followed by a response such as: «AA0800STABRIOMIOPWALGRP0A» (or from the datasheet | AA | 08 | 00 | STA | BR | IOM | IOPW | AL | GRP | 0A |).If the answer came, then everything is fine, the floor of the case is done. If not, we are playing with the settings for the baud rate settings in the terminal, it's just possible the module is tuned to a different speed.

I will not dwell on what the module’s response means, you can see for yourself in the instructions. And the — this is a request for installed settings.

Voice recognition module

Now you need to connect the load to the module. In the role of the load, I will use LEDs with resistors. Well in the future, when operating these LEDs will be replaced by a load control relay with transistor switches, I think this is understandable.

Explain the very command «AA02000A»isapacketconsistingof4bytes,bytesarepairwisecharactersinhexadecimalsystem–AA,02,00,0A.Inallcommands,thepacketwillstartwithAAbyteandendwith0byteA(ZeroandA)– This is a prerequisite. Module responses will also begin and end with these characters.

«AA02000A»-Thesecondbyteofthiscommandindicatesthenumberofbytesbetweenthebeginningandendbytes,shorterthanAAand0A.Andeverythingbetweenthemweconsiderandwriteinthesecondbyte.Asyoucanseeinthisexample,therearetwobytes-0200betweenAAand0A,hence–02,thatis,thenumbercountsitself.Anotherexample,«AA0320010A»i.e.betweenAAand0Atherearethreebytes-«032001»thereforethesecondbyte– 03. I think you will understand.

The «12»command - configure the module ports.

On the module's board there are ports from which we will take a signal, before you do this, you must configure these ports. You can configure ports with the command

«AA0312010A»-thirdbyte—thisisthecommand,andthefourthvalueofthecommand.Thefourthbytecantakethefollowingvalues​​andsetthefollowingoptions:if«00»-pulsemode,thatis,whenrecognizingavoicecommand,ashortpulseissenttotheportweneed.If«01»-inversionmode,thatis,whenrecognizingavoicecommand,theportweneedwillchangeitsstatetotheoppositeifitwas0–willbe1andviceversa.If«02»-themodeinwhichtheportgoestozero.If«03» - the mode at which the port goes to the unit.

The «20»command - configure the module ports.


The command «30»-loadingtherecordintothe«resolver» module.


Command «15»-Autoloadingofvoicecommandsintotherecognizerwhenthepoweristurnedon– offline operation without an external controller.

&AA0315070102030A»-thethirdbytecommand,thefourthbytecommandlabel,thatis,auniqueidentifier,and01forloadingonecommand,03–toloadtwoteams,07– for loading three commands and so on, see datasheet table. Well, then come the numbers of the teams that need to be loaded.

That's it: check the connection with the module, configure the ports, write down commands, set up autoloads for voice commands.

Read about other commands in datashit. I just explained the approximate type of work with the module.