Wednesday, May 30, 2007

Viper Ear: Sound Sensor for Microbric Viper Robot



Hello readers!

It’s been a long time since my last blog post. I was a bit busy and wasn’t getting time for blogging. Anyway, I did something cool and thought you people would like it. I’ve been working mostly with webcams over the last couple of months. I wanted to do something different for a little change and found sound a very interesting way of communicating with robots/computers. I created a sound sensor for my Microbric Viper Robot to give it the ability to respond to claps and whistles. I had to work extra hard on this project as things weren’t getting done as quickly as they usually do. The basic idea was that the sensor would send the PIC a logic 1 if the loudness of the sound coming in to the microphone exceeds a certain threshold and 0 otherwise. So, the sensor compares the microphone voltage to a reference voltage, and sends a logic 1 if the microphone output is higher (however, my signal is inverted because of the way I set up the op-amp as a comparator in my circuit). I had to experiment a lot on a breadboard before I had the circuit working perfectly. Here’s the final circuit I ended up with:




Since I didn’t have an oscilloscope at home, I turned my computer into an oscilloscope by using PC-Oscilloscope by Christian Zeitnitz. This software works with a sound card. It doesn’t have a fast sampling rate, but it’s good enough for testing this circuit. Parallel port based oscilloscopes are probably a little faster, but I didn’t have time to make one. In the oscilloscope, the signal from the sensor is a nice series of sharp spikes.



In the video, you’ll notice that I clap several times to control the robot. The first clap I make is only for initializing the clap counting algorithm in the program. After the first clap, the robot counts the number of times I clap my hands during an interval of 2-3 seconds. For example, if I clap once (after the initializing clap), the robot either moves forward or stops, depending on its state. If I clap twice, the robot turns left. Three claps make it turn right. Sometimes, the sensor also gets triggered from motor noise. So, I have to adjust the preset in the circuit to get things working perfectly. For extra reliability, the robot moves forward slowly to keep motor noise as low as possible. I think that programmatically distinguishing between a clap and motor noise or electronically filtering it out could also be worth a try.

This was a fairly simple project, but it took much longer than usual. Well, I have some more cool ideas for sound sensors. ;) Keep visiting!

18 comments:

Unknown said...

very nice :)

sensor seems to be working very well... much better than the simple one you started with.

Unknown said...

very nice :)

sensor seems to be working very well... much better than the simple one you started with.

OptimusTronic said...

Thank's

Cool experiment.

Saludos desde Guatemala!

Tejaswi V said...

great dude....keep up the good work....wat you do....where are you from....i have some innovative projects for whic am searchin for a group....i have sent my mail id to ur YOUTUBE account....have a look..do mail me....

Jessica Cheah said...

well......not bad

NINGALUDE SHRADDAKE said...

really cool... :).we are much intrested about this idea...we would like to have some trial on this..will u help us more by providing details about the working of robot holding this sensor..hopefully
shaheer
mahith
francis

Anonymous said...

excellent it is very nice project.

its great.

free internet tv software said...

nice blog with nice content

Reverse phone detective Review said...

enough good to leave a comment

4together4 said...

its really a nice project and good sensor.
I would like to ask you about the connection and the cost of each component.

Also, your design says that C1 and C4 are the same capacitor? the 100n capacitor

what type of microphone U1 you've used?
what type of preset you've used?

my e-mail is: hms_252@hotmail.com

Please answer ASAP!
Thanks

Anonymous said...

mahn...ur a genius!! i have visited ur blog d first tym..u rock! i need some help brother..i want my robot to perform word specific action like switchin an LED on when i say "on" n off when i say "off".. sm1 told that i need smthin called DSP for that purpose..costly affair.. can u help me anyway?!

uggs outlet stores said...

uggs outlet stores They talk about a stranger dead. - I looked around, looked at this room, I hung around Lu Ti clothing ugg boots cheap Of me? This heart is now dead, never Liu Buchu joy came from, my eyes have dried up, can no longer uggs boots for cheap.dgosm4p

ugg boots cheap said...

ugg boots cheap Clothes, stood Albert's presentation, there are those I am very familiar with the furniture, and even bird ink bottle. I thought: behold, uggs boots for cheap Cool moist tears to my senses, I timidly put his forehead furrowed. I am suffering, I lost the only joy in life uggs boots cheap.dgosm4p

discount uggs said...

uggs boots for cheap Four men and women will be stripped Wu clothes, tied Ting Zhu on.Wu see, the kitchen side of the beam see people wearing two legs. uggs boots discount Yili maintain two, to be limited to full ridge pole, turn the state with grace. last night was out of town, canada goose hats

Purple Henshin said...

very interesting...
can u answer my certain question...
in this project...
it is include with programming language example like C programming...

how many that u use to move that robot...

and lastly...
on video..you have shown..that if u clap 2 time...robot will turn to left..if u clap 3 time...robot will turn to right...my question is...do use any programming language to program this movement...
thank you...
please reply ASAP if you read this comment...

nizamismail09@gmail.com

Anonymous said...

hey i need your help..... can you please revert me on my mail ayesha.galnextdoor@yahoo.in

Ediolot said...

I have a cuestion. I've made your circuit in a protoboard and I'm having a little problem, when put the potentiometer to the limit, (this mean the mayority of the noises will activate the circuit) and I make a noise, I noticed that the second comparator (the one with only 1Mohm) fails, and the output will stay low until I disconnect the potentiometer and reconnect it. I can make it automaticaly with a transistor, but I relly want to know what's the problem. ;)

My mail is:
jsierra.siete@gmail.com

Anonymous said...

This looks too hard i dont know what all that stuff is