Hi, this is a quick tutorial on how to interface the Grove speech recognizer module with Arduino board, you can use this module to control your home appliances (Tv, lights, temperature...) or make your voice controlled tobot...
And no it's not J.A.R.V.I.S type assistant but a module that has 22 Built-in commands that you can easily associate with your project, the advantage is that it's completely embedded and all the voice recognition process is done inside the module and sent to the Arduino via UART, no need to constantly have your Arduino plugged to the computer.
In this project we'll see basic interfacing and some examples that includes few LEDs and a little classic 2WD robot.
You can add a speaker (0.5-1 W) and it will repeat the commands when detected in a "The bluetooth device is ready to pair" lady voice.
Here's a list of commands that you can use:
"Turn on the light", "Turn off the light", "Play music", "Pause", "Next", "Previous", "Up", "Down", "Turn on the TV", "Turn off the TV", "Increase temperature", "Decrease temperature", "What's the time", "Open the door", "Close the door", "Left", "Right", "Stop", "Start", "Mode 1", "Mode 2", "Go",
As you noticed it's adapted for home automation, vehicle control.
The main ones are the Arduino board and the Voice recognition module, the rest is up to your project, here I inlcuded some components required for a classic 2WD robot.
Below you'll find codes for: simple test, LEDs control and robot control.
After wiring the module, you should first say "Hicell" (as a whole word) then followed by the command (in English).
When your "Hicell" is detected a red LED will flash for 5s and it will wait for your command this period, then say your command, if it's recognized a blue LED wil flash as well, and if you have a speaker wired with the module you'll hear the command repeated.
The only issue I encountred is that sometimes the module cannot detect the "Hicell," and for the first time you won't be able to tell if the module is borken, the wiring is not correct... You can test it with "Google translate" voice: Just write "Hicell" and read it with a speaker close to the module.
cmd = softSerial.read();
The module sends the number of the command (1-22) to the Arduino and it get stored in "cmd" if it's not used "cmd" will be 0 again, so you associate every number with a function that you want to execute... you can check examples in codes.