TheÂ TweetyBotÂ project is underway… The main goal is toÂ learn my birds to sing correctly. This is all about producing, detecting and measuring sounds. Right now, first step is to find a nice design for aÂ sound sensor.
TweetyBotÂ will have at least two sound sensors, in order toÂ determine where sounds come fromÂ (left, right). It’ll also need toÂ measure the sound levelÂ (high, low). The first type gives binary information: “got sound or not”, determining where the sound comes from is done measuring the time of activation of both sensors. The second type must give a measure, and probably need analog/digital conversion (ADC,DAC).
Googling the whole seems to give three options:
- First option: having two sound sensor where the sensitivity can be adjusted directly on the board, with adjustable resistors. This means sensitivity cannot be controlled within a software. This probably will require a lot of time to adjust this sensitivity. This option still require another kind of sensor which would be able toÂ measureÂ the sound level.
- The second option is to combine both types: each sensor will give a sound level measure, the time of activation between both will give the orientation (that is, digital measure + binary information). The PICÂ 16F628, currently beeing used, doesn’t have any DAC. I could use a dedicated chip, but this project is a nice opportunity to switch to the PICÂ 16F88Â for it has an A/D module (and, more importantly, its memory can be flashed with a bootloader, but it’s out of topic). Now, if the 16F88 is able to convert an analog sound into a digital measure within a very small amount of time, then only two sensors would be useful. From the datasheets, the “minimum acquisition time” depends on the impedence of the analog source, say 20Âµsec (from example). The great benefit is the sensitivity can be “software” adjusted.
- Another possibility would be to use dedicated LM3616 chip. This is a Dot/Bar display driver, frequently used in VU meter. It’s used to control LEDs according to the input sound level. Instead of activate LEDs, the results could be transformed into something like a byte. Of course, the value wouldn’t as accurate as when using a DAC, since values aren’t continue. Maybe that’s a nice compromise toÂ determine sounds locationÂ without requiring bothersome step (or at least, not too much…).