I want to recognize between blowing or clapping hands with microphone sensor(Arduino Uno) and than with DSP to know which gesture is made.

I took a lot of samples but when clapping there is no difference on the output values on arduino(the same like there is silent).

thank you.


closed as off-topic by Andy aka, Leon Heller, RoyC, winny, Sparky256 Jan 24 '18 at 3:51

  • This question does not appear to be about electronics design within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 4
    \$\begingroup\$ I wish you good luck with your project. Do you have a question? \$\endgroup\$ – jsotola Jan 22 '18 at 17:13
  • \$\begingroup\$ yes, how to recognize between the two gestures? \$\endgroup\$ – Michal Shalom Jan 22 '18 at 17:28
  • 1
    \$\begingroup\$ Trial and error method ? By analysing and studying the amplitude and time duration of different gestures. \$\endgroup\$ – Meenie Leis Jan 22 '18 at 17:52
  • \$\begingroup\$ Get a microphone and a PC and set up a test using some free wave analysis tool. This is the wrong site for asking how to recognize between the two gestures. \$\endgroup\$ – Andy aka Jan 22 '18 at 18:45
  • 4
    \$\begingroup\$ I'm voting to close this question as off-topic because it's not EE. \$\endgroup\$ – Andy aka Jan 22 '18 at 18:45

Afaik you cannot check frequencies, so the only way to check is with the amplitude (volume) over time.

A handclap reaches very fast a high volume, and afterwards decreases very fast.

A blow can be more various, if you give a very short/hard blow it might be similar.

So you have to check against 'profiles' and the one (blow or handclap) which matches should be assumed to use.

To make it more difficult, hand claps can vary also in length if there is reverb/eche. Also background noise can be a problem.

  • \$\begingroup\$ so how can I distinguish between this two gestures using DSP if the sampled frequencies of both are very similar? Can I filter the values such that i get some frequency threshhold (using convolution) with which it can be possible to destinguish between the gestures - do you think this is not possible? \$\endgroup\$ – Michal Shalom Jan 22 '18 at 17:21
  • \$\begingroup\$ I don't know if you can use frequency. But if you know the volumes over time, than a handclap is short and 'immediately' at max volume and when the clap ends 'immediately' back to volume 0, while a blow is normally slower to begin and slower to end (slower attach/decay). I don't know if you need a DSP for this... on the other hand, there might be many more sounds that will be treated similar as a handclap or blow. \$\endgroup\$ – Michel Keijzers Jan 22 '18 at 17:31
  • \$\begingroup\$ I must use DSP... but how can I get the values of volume from arduino smaples? \$\endgroup\$ – Michal Shalom Jan 22 '18 at 17:35
  • \$\begingroup\$ With the 'typical sound' sensor you get an analog input which you can sample yourself. The Arduino should be fast enough to do some simple calculations. See arduino.cc/en/Tutorial/Knock ... but you have to sample to 'calculate' differences in profiles . \$\endgroup\$ – Michel Keijzers Jan 22 '18 at 17:48

Not the answer you're looking for? Browse other questions tagged or ask your own question.