Let's Make Robots! | RobotShop

Voice controlled room

I have an idea about a voice controlled room.

I would use an atmega8-16PU to switch lamp and other items on

I have an old pc laying in my room with windows 2000.

It has a serial port, a parallel port and 2 usb ports.

I want it to interface with my atmega8, but I am wondering how you use voice control with it.

I could also use an arduino, but for now I am thinking it al out.

This is an idea for home automation.


So does anybody now how I would program my pc for voice control.

And what circuit I would use for an interface with my atmega8 or arduino





Danny Temmerman




I now installed this program from http://www.e-speaking.com/.

With this program you can execute programs and document and all.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Yuo would need a microphone that could pick up sounds from across the room. Also you need an app on the PC that can take sounds from the microphone and somehow convert it to text or do voice recognition to determine what was said. This app likely already exists. Then you need it to take what ws said and relay it to the atmega via serial port. Not an easy project...

The voice recognision part I already know.

But how do I relay it to my atmega8 with the voice recognision software?

Let each voice command run a small program or something?

Programming isn't my strongest part.


What do you think?





Danny Temmerman

The easiest option that comes to mind is to have the computer program send the AtMega8 a little serial command every time the PC recognises a speech command.

How do you send a serial progam to the atmega8?

I haven't done that yet, because I always program my atmega8 with my parallel port on my other computer.




Danny Temmerman

Depending on your available comm ports and programming skills you could use the parallel port, USB port, or really any data port on the PC. You could use parallel communication instead of serial, but that does eat up quite a few more pins on the AtMega versus only 2 for serial.
Program the voice recognition software to send data out from the chosen port, something along the lines of [START CODE][COMMAND][END CODE], where the start and end codes are just 'passwords' to let the AtMega know when data is incoming/finished. The command string will contain a unique identifier that tells the AtMega what voice command was just recognised by the PC program.
Check out the AtMega documentation for serial comms implementation; how you write the PC side code will depend on what tools you have available.

With which program do you sent serial data to the atmega8 and how do you implent this in the voice control software?
Just about any program should have access to the comm ports, are you programming the voice control software yourself? If you're using pre-built voice software that changes a lot, you need to find a way to get some sort of output from that first.

I use voice recognicion software from e-speaking.com.


Check this out. It gives you a brief insight on how to send serial data. https://www.robotshop.com/letsmakerobots/node/6206
both are awesome trans/recievers. the arduino has shields for both of them. then if the computer hears you say lights, it transmits a #1 to the MCU. if it hears coffee, it transmits a 2. and so on and so forth. the MCU would then tell lights/coffee machine/etc. to turn on.