I am having some trouble with tone generation and i was hoping someone could point me in the right direction.
Let me try to explain what i am trying to achieve...
I would like to make a "Cymatics Device" or some kind of "Arduino Chladni Plate". These are devices that allow us the see the pattern from by certain frequencies.
You can see some examples here: Cymatics - Wikipedia and more all over the net.
So, the basic thing is to produce clean, steady frequencies that will affect a plate with grains of sand. The grains will move and allow us to see how the plate is ressonating.
I think it sounds great, and i would really like to do it.
So, in my idea, i would need:
a tone generator;
on/off button;
lcd to display the frequency being played;
a pot to control the frequency;
a pot to control the volume;
a speaker;
But i am having some trouble with the sound generation.
I have searched and read about it, but i don't seem to find a good solution. I saw there are several tone generation methods, even libraries, but i am quite lost with them.
What would be, in you idea, a good way to go?
I am not sure yet on what range exactly i would need to produce the frequencies, but i think it would be a very wide range, from very low until very high.
Any ideas?
Do you think i would need to build also some kind of amplifier?
Would the arduino be able to do thins from a 9v battery?
Does anyone know of any projects like this?
i followed the instruction here on the Arduino page and got the LCD to work.
Also used the tone library to generate some frequencies.
Everything seams to work fine.
The problem now is that even though i get sound, it doesn't seam to be enough!
=/
What i would need would be that the vibrations are transmitted to a flat surface, where the "sand" will then form those nice patterns.
First i tried to put it just on top of a speaker (a 8ohm from an old labtec woofer). had sound but very very veeeeery little vibrations. No movement on the "sand".
Then looked around on how a speaker works and found some examples on how to make a simple speaker, for instance using a styrofoam plate. Thought this would be a good idea, so i could use directly a flat surface as a vibrator.
Made a coil (about 9ohm when i measured it) and hot glued it to the surface. Then used the magnet from the old labtec woofer.
I was quite happy when i got sound, but soon realized that still it doesn't vibrate.
What am i doing wrong?
Can it be that it needs to be MUCH STRONGER (louder) vibrations? How could i achieve that? Do i need some kind of amplifier?
At the moment i am connecting the speaker wires directly to ground and to the output pin on my Arduino.
I would like to finnish this project in 2 weeks so i can give it as a present.
All help is veeeery welcome.
An output pin can only provide 40mA at 5V,
Power = Voltage x Current = 200mW.
You need an external amplifier. Look into something like an LM386, and power it from more than 9V.
I can only go to town (and to electronics shop) next tuesday, so i have been thinking (impatiently!!) about this project.
I don't know why i didn't think about it before, but i decided to open the "box" from where i took the speaker (and old Woofer) and look inside. I thought that there should be some kind of amplification inside.
And well, indeed i think there is.
I found a board with some caps, resistors,..., and 2 ICs: TEA2025b and a TDA2822m
I took a look at the datasheets and, of course i understood very little!
It seams to me that the TDA2822m could also be used (with the advantage of using a lower voltage than the LM386), but does someone know how they compare?
Advantages and disadvantages?
CrossRoads:
You need an external amplifier. Look into something like an LM386, and power it from more than 9V.
To power it more than 9v, can i use the same power source for the arduino?
Do i have to make maybe a voltage divider to provide the arduino with a lower voltage than the amplifier?
Or should i use to separate power sources?
= =
Sorry about these "silly" questions, but i still have a loooooooooooooooooooooot to learn!
You still want to power it with 9v. Power = (V^2)/R. So 55/9 = 2.7W, while 99/9 = 9W, so you should see a big difference there.
That can be the same 9V going into the Arduino barrel jack.
Course, if you're running off a little 9V battery, that will get used up pretty quick:
P = V^2/R, V = I*R, so P = I^2 * R
9W/9ohm = I^2, or 1 Amp. 300mA-H battery won't last long!