Hello everyone! I need some advice on my small project.
First of all I am using an arduino uno r3 + this sound sensor here (czn-15e).
I have a digital tone on my doorbell which goes D5(250ms), B4(250ms), G#4(250ms) without silent spaces in between. I want an LED to light up for a couple of seconds when the doorbell rings and then turns off.
What is the best approach here? What should be considered?
I found a good tutorial on how to sense a sound sensor with arduino here:
The LED part will be also no problem. Now how do I make the trigger reliably cause now I have a complete mess going on.
Any advices are very much appreciated. Thanks
What is your programming experience and do you have any background in signal processing?
In this post I showed some code to do single tone recognition using a single bandpass filter centered on that tone. This could be extended to detect a sequence of tones by running three bandpass filters at the desired frequency sequentially. So a state machine that looks for D5, then changes state to look for B4 and goes back to "look for D5" if not detected in time period or goes to "look for G#4" if detected, etc. There exist online design tools that produce C code for the filters.
An FFT approach might also be applicable, but probably won't run fast enough on an UNO R3.
Thank you MrMark this is enough information to start with. I will check all the links and try my best with this project. Sounds like a lot of fun! By the way my programming experience is I feel comfortable with C and C++ and unfortunately no practical experience with signal processing besides basics from University (I studied electrical engineering).
Have a look at seeing you can take an output from the bell push itself , or why not just build a new one with Arduino - it is capable of making tones ?
Iād forget the band pass filter part , there will still be false readings from other sources .