I really love you work, but I think the bug is in the source code, which I love to fix IF my sound module were working for me. Reading the manuals carefully, I read that after reset the board, you should wait a certain time to let the module to read the sd card. About 300ms. But I am not sure, If this time is always the same or depends of the quantity of voices stored in the card. This is why you should include the reading of the busy pin to know when the module is available to play the next voice. After that, every time you send a command, you should wait until is available for the next track. If not, you will be stopping the current voice. Have to test and debug a good library once I get my new memory card. Keep you posted but I must say u r doing an amazing job with that blaster.
About the ad4 format, now that is working fine for you: were you able to try SOMO default ad4 files from their website?
About the speaker: A friend of mine loaned me one of those that usually are installed inside a light saber hilt, which I assume are 8 ohms 250 mw, but I am going to check that.
About the memory: 1 GB cards are almost at the border of the extinction, so they are not easy to get nowadays. Will track another brand to test.
About the sendCommand source code, I am not sure that code is perfect. Since my board is not working, I am not able to test it. Will be refining it once my board is working. And obviously will be sharing it here.
Tried your very same code, modifying the pins #s, and your WAV files and nothing. Same erratic behavior. At this point I believe the module is not working or the sd card is not being read. Were you able to try my code?
I really appreciate your help. Yes, tried your code first, without the busy pin as input, and later added for debugging purposes. Downloaded your wav files and will test them right away. Using same pin out as you actually and the breadboard is brand new so I think that's ok. Keep you posted. And about your analog pins problems, will be very helpful to connect an oscilloscope to check the signals.
Only have more bad news. Changed the soldered pin from 3.3v to 5v. Reconnected everything, plus added the busy pin. Used the very same sketch you used and nothing. Later I modified the code to sense the busy pin, cause wanted to know what was going on there. To my surprise, after I reset the module, busy pin keeps HIGH for few seconds ( a bit too much). Later when I read LOW, I start to play the song #0001. I put a loop to play the song until BUSY is LOW and all over again. This is the code:
const int resetPin = 2; // the pin number of the reset pin const int clockPin = 4; // the pin number of the clock pin const int dataPin = 7; // the pin number of the dataPin pin const int busyPin = 8; // the pin number of the busyPin pin
I give up. Tried everything but change from 3.3v to 5v VDD. I am so tired of this board. I would love to see a video of it working, cause I hardly believe this is working anywhere but Italy dude. Have been 3 nights and nothing. Could at least, If you don't mind, upload a video or photo? I mean, It will be useful to check the busy led and the behavior.
Just to be clear, you changed from 3.3v to 5v, and you are NOT using any resistor for pin rst, dta or clk right? It is the only thing that remains to change in my configuration to give up definitely. It is so frustrating.
You mean the volume is so low? Cause I read that defaul value is 0 and most of the sketches I read set it 7 from from very beginning. Attached a ad4 in 32Khz made with the conversion tool. Could you test it?
I really appreciate your time. So, were you able to test "test" ad4 files from Somo website? Or they did not work for you and you created that wav file? And about the bit rate, I do believe than conversion tool will take care of that right? I did not use it yet.
How is this working to you eludes me. Cause A pins are only inputs, no outputs. There is no way to Arduino UNO to set those as outputs. At least It is compiling to you. And the sound you mentioned, should be the same pitch audio tone I got.