First, I'm new to Arduino and electronics in general; my background is in programming, so help me out and give me a little extra explanation in your responses.
I'm trying to build a light and fan controller for my bedroom, which ideally will be expandable so that I can have it control other devices in the future. By control, I mean basic "ON" and "OFF" commands. I'm working on using an XBee Bluetooth board on a 2-channel relay shield connected to the Arduino to accept Bluetooth input for the basic "on" and "off" commands. All this should fit in the double gang wall box where the switches for my light and fan currently reside, but I'm going to be removing the switches and replacing them with a blank wall plate with foil touch sensors on the back to keep some of the original switch's functionality in the event the XBee chip fails on me. I've got all that fairly worked out in my head and all the parts are on the way, but if anybody sees anything in there that won't work, I'm all ears.
While I'm working on getting all my parts together and doing research, I'm thinking of new functions to add in, which is usually how these things go. I'd like to try to add some voice commands, like "fan on," "fan off," "light on," "light off," etc. and I've spent the better part the past few days looking into it and I've delved into a lot of Instructables articles on people doing similar things, but none of them seem to exactly fit into what I'm trying to do. I'd like to use the uSpeech library on GitHub, here, to have the Arduino process the input from this microphone. I'd like to mount the microphone in the double gang wall box with the rest of the components with a small hole drilled in the wall plate to let the sound pass through. The voice commands will be coming from between 2-15 feet from the microphone.
My first question is: is this feasible?
If so, will I need a preamp for the microphone to be able to accurately pick up my voice commands?
And, I've been researching preamp modules that easily interface with the Arduino, but aside from instructions on how to make your own, there doesn't seem to be much else. I wouldn't mind learning how to make my own if need be, but if anyone knows of a better alternative, I'm definitely open to suggestions.
Thanks in advance for the help.