Let's Make Robots!


Wavecrafter chirps and beeps at you to let you know about things and stuff.
Wavecrafter_V1.2.asm12.14 KB

So, a little while back I made a posting about adding a low-cost ADC module to micros for various reasons. At the same time as I was testing this concept out, I was also experimenting with 4-bit resistor network DACs for producing slightly higher quality audio (compared to 1-bit) for piezo speakers on small projects.

What better way to play with these ideas than to build a small project that made use of them? Previously I've tried to integrate experimental circuits into large projects, which invariably ends up being a headache, as the whole project is slowed down while I mess around with the new gear.

As such, the Wavecrafter was born. Using only cheap parts, a small circuit board, and fairly minimal programming, it was the perfect platform to demonstrate and experiment with the concepts I was developing. The Wavecrafter is stitched onto a cheap wristband using clear fishing line so that it can be worn, which is useful for testing it out in the real world without being too much of a pain (and fashionable as well, I'm sure =3).
Basically there are 3 parts to the Wavecrafter, all tied together by a PIC16LF628A micro (I have a huge tube of these little guys so I use them for everything =D):
• Solar power circuit - a small 4V solar cell provides power to the circuit via a 100µF electrolytic cap, which is hidden under the micro. The micro also has an input dedicated to detecting whether the solar cell is providing power or not, so the micro can conserve power when it's scarce.
• Sensor & ADC suite - the Wavecrafter uses a 1µF electrolytic cap (sticking out the front from under the micro) and a few resistors to implement the DIY ADC configuration as per the tip I posted. The sensors it can read from are 2x CdS LDRs, an IR phototransistor, and an NTC thermistor. Each of these sensors has an enable line, which means I can read from them sequentially. The Wavecrafter also has a small antenna that can pick up static, nearby AC lines, etc.
• 4b Piezo sound output - to report back on the data received from the sensors, the Wavecrafter produces various noises from the 4b piezo speaker driver. This is convenient as you don't have to look at the Wavecrafter, it requires very little power, and can convey a significant amount of information to the user. There is also a small red LED that the Wavecrafter can use as a secondary output, but this is only used when power from the solar cell is plentiful.

The actual sound the Wavecrafter makes depends on what program I've loaded onto it at the time. I've attached a copy of the current program to this post.
Earlier programs made continuous noise by firing out the sensor data via the speaker without modifying it much, if at all. This really, really was not very pleasant, although it was good for testing response speed and sensitivity.
The most recent iteration of the Wavecrafter code takes the LDR and phototransistor readings, and uses them to make a set of 3 short tones. The tones are played like beats from a drum machine, with the pattern determined by the combined readings, and the tempo set based on the thermistor reading. The antenna modulates the output sound by inverting the waves back and forth whenever it picks something up.

One thing I noticed while walking around with the Wavecrafter on is just how much the human eye and brain calibrate out, in terms of ambient light variation. A cloud would pass over the sun, and the sounds coming from the Wavecrafter would completely change even though I barely noticed a difference in light levels. Pretty interesting stuff IMHO.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
What can you tell us about the solar cell? Specifically - did it come attached to the backing with the wires like that? I'm looking for a good solar cell (got a crappy one at Radio Shack) to do some BEAM bots with.
I bought a batch of cells from Futurlec, this one in particular is an SZGD5433. It's got a nominal working voltage of 3.5V @ 45mA, then panel is 54x33mm, and the cell efficiency is ~15% which is about as high as you'll get without spending a fortune.
It didn't come with any wires attached, but the copper traces on the back allow you to attach wires/etc to the top or side of the panel easily.
you should include a video

Video added to YouTube/Vimeo.