April 2007

You are currently browsing the monthly archive for April 2007.

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…).

Teaching my birds to sing the good way… That’s a good robotic project ! This will be the aim of my future robot from theSirBot Labs, TweetyBot. So what will this bot be able to do ? It should be able to:

  • listen to sounds coming from around and determine where they come from (left, right, …)
  • measure the sound level (high, low),
  • programmatically produce sounds, or melodies

I first started creating a nice logo, because this is the most important thing to have…

Next, this will be about choosing sound sensors.

My birds (Bourke’s Parrot) don’t sing like they should. Usually, Bourke’s parrots sing sweet, twittering softly in the fresh air of the morning… They should be part of a gentle process where I wake up in a good mood. As a matter of fact, they sing far more like a Budgerigar or a Fischer’s Lovebird. You may say they look the same but, believe me, it strongly affects the “gentle process”…

Bourke’s Parrot Budgerigar Fischer’s Lovebird
usually sings sweet, twittering in the fresh air of the morning sings like a pig sings like a big fat pig
GOOD BAD BAD

So, what’s the point with SirBot ? Well, hopefully, my next bot will be able to reeducate my Bourke’s parrot to sing correctly…