United Kingdom
Asked — Edited

Sound Sensor Recomendation

Hey everyone.

Can somebody recommend a good quality sound sensor to work with the v4, preferably analog. I had a pair of cheepo's laying around that I tried (pictured below), didn't work on analog, and digital wasn't much better although a slight improvement. I'm wanting to get the whole "robot hears something on the left, head turns left" thing going, so any recommendations would be appreciated.

Thanks.

User-inserted image


ARC Pro

Upgrade to ARC Pro

Experience the transformation – subscribe to Synthiam ARC Pro and watch your robot evolve into a marvel of innovation and intelligence.

#1  

I did something similar I'll repost it for you.

United Kingdom
#2  

@mtiberia.

Funnily enough, I bookmarked your thread some time back and have been referring back to it recently :). I'm hoping to find something that ships from the UK for quick delivery and lower price shipping. Thanks for reposting your thread. Very useful and nice job.

United Kingdom
#3  

@mtiberia.

I just managed to find the sensors you used from the UK robotshop site.

Thanks again. :)

Sound sensor

#4  

DFRobot seems to make just about everything. Their stuff is inexpensive but seems to work well. Let us know how it works for you. Is this going into K9?

Dave Shulpius

PRO
Synthiam
#5  

those sensors (analog or digital) will work fine - IF you add a capacitor to the signal line. This is because the audio is either ON or OFF real quick with no "hold". This means unless you're sampling at the exact moment of audio, you will miss it. As what you are experiencing...

So throwing a capacitor to keep the voltage higher longer will help.

United Kingdom
#6  

@Dave.

No, they are not for K-9 (but if they work well enough, I may add some to him), but for a new project I'm working on. I'll be sure to leave a post when I try these new sensors out.

@DJ.

Thanks for the advise, that's good to know. Any recomendations on what capacitor I should use?

United Kingdom
#7  

@mtiberia.

$Direction=0
$L=0
$R=0

:loop
Repeat($x,0,2,1)

# I multiplied the reading by100 for both sensors

$Left=GetADC(adc0)*100
$Left_T=$Left+$L
$L=$Left_T

$Right=GetADC(adc1)*100
$Right_T=$Right+$R
$R=$Right_T
Sleep(10)

EndRepeat

$Direction=$Left_T-$Right_T
If($Direction>300)
Sayezb("left")
Sleep(1800)
$Direction=0
$Left_T=0
$L=0

ElseIf($Direction<-300) # that's -300
sayezb("right")
Sleep(1800)
$Direction=0
$Right_T=0
$R=0

EndIf
$Left_T=0
$Right_T=0
$L=0
$R=0
Goto(loop)

I just received my sound sensors and they work great, so thanks for the recommendation. I just wanted to ask though, in your script you mention that you multiplied the readings by 50. What is that actually doing, and what is the max it can be set at?

And would increasing the voltage up to 5v make them more sensitive than running off 3.3v?

Thanks. :)

User-inserted image

#8  

@ Steve G

Basically by multiplying the sound values you are magnifying the difference between the two sound sensor values and you filter out random noise by using a conditional statement stating that the value has to be greater than X to trigger an event.

So small differences when magnified become very large depending on the value that is used as a multiplier.

You can also experiment by taking 50 sound values from both sensors alternating between the left and right, summing them and then taking the difference.

United Kingdom
#9  

@mtiberia.

Thanks for getting back to me and for explaining. So basically, the higher I set the multipucation values, the more sound the sensors pick up on, and setting these values at say 300 would start picking up more background noise. Gotcha. ;)

Just courious, have you ever tried these sensors at 5v? I just wonder what the difference would be. I'm waiting on a delivery for some 5v regulators so I've been unable to test it.

#10  

Your not really increasing the sensitivity of the sound sensor. Your using software to accentuate the difference. Just easier to visualize and write conditional statements.

Righty: Lefty:

1 x50=50 1.750=80 # first time through the loop 1.150=55 1.250=60 # second time through the loop

The difference between Righty 1+1.1=2.2 and Righty 50+55=105

The difference between Lefty 1.7+1.2=2.9 and Lefty 50+55=140

United Kingdom
#11  

I have it now. Thanks again. I'm greatfull for your help.

#12  

@mtiberia Is right... You can just use the straight analog values for simplicity (1 - 255)... The higher the value is the side that heard the loudest noise....

United Kingdom
#13  

@Richard.

Okay, that's cool and a little easier. Thanks for confirming. :)

Germany
#14  

@Steve G

I saw your newest video on youtube! your sound sensor is working fine! can you help me with the script ?

I have only one sound sensor from the Robonova Humanoid (picture) my projects: the robot responds to clapping

I use ADC 0

regards Smarty User-inserted image

United Kingdom
#15  

No problem Smarty.

I think this might be the one you're referring too...

:loop
#Read's the value on EZ-B port A0
$sound=getADC(adc0) 

#Will turn LED on when sensor reading is above 5.
#Change the values if necessary.
if($sound>5)
set(d0,On)

#Will turn LED off when sensor reading is below 4.
elseif($sound<4)
set(d0,Off)
endif
goto(loop)

This was the example I used in my ADC tutorial. Click the link below and have a look. Hope it helps. :)

synthiam.com/Tutorials/UserTutorials/161/7

Germany
#16  

thanks for your help :-) I think, I have a wrong sound sensor.. I get no responce If I make sounds..

I have a similar like you first one.. now you bought new ones?!

What should I look for when I buy new ones ?

User-inserted image

regards Marty

United Kingdom
#17  

@Marty.

I don't know if you saw it, but on page one, DJ mentioned about putting a capacitor to the signal line which I never tried as I was not sure what type of capacitor to use. So I went with the recommendation for the sound sensors I have linked to below. That are cheap, they are plug and play and they quite simply work without any additional work. They can be used directly from the 3.3v ADC power pins, or use 5v with a regulator.

DFRobot Sound sensors

User-inserted image

#18  

Edited I started a new thread.