
robotmaker
USA
Asked
— Edited
since it uses serial ,can any MP3 board work ,one from sparkfun is almost $50 and bought one for another project about the same it uses serial SOMO-14D by 4D systems for $25 and uses SD card too somo-14d mp3 board
Hi Robotez!
So it sounds like you have everything built correctly if you can make it work in Key mode. All I can suggest is having a quick reset switch to GND (from reset pin) as I had a lot of trouble with the module locking up upon power up of my bot, one reset push allowed it to work until the bot was powered down again.
Otherwise just make sure you have the whole script from my first example, the partial scripts afterward where just to illustrate the changes needed to activate a different numbered track.
You could swap D2 and D3 lines and see if it's just a wiring issue.
Hope that helps!
Hi Skater J10,
Hope you are OK. I have tried your script however I am still not successful. Nevertheless when I play the script (on ARC) I can hear two low tones coming from the speaker (just like the SOMO 14D wanted to start playing something) but it can't for some reason (maybe the timing on the clock isn't right or something is wrong with the data I'm sending). Here's the script I'm sending to play track 2 through the ARC Script (I click Config then Start). Note I have only seven tracks on my Scandisk 2GB micro sim card (this refers to track 2).
Set(D2, ON) #Set up initial clock pulse Sleep(300) Set(D2, OFF) sleep(2) Set(D2, ON) #Start the 16 High-Low transition clock signal Set(D2, OFF) Set(D2, ON) Set(D2, OFF) Set(D2, ON) Set(D2, OFF) Set(D2, ON) Set(D2, OFF) Set(D2, ON) Set(D2, OFF) Set(D2, ON) Set(D2, OFF) Set(D2, ON) Set(D2, OFF) Set(D2, ON) Set(D2, OFF) Set(D2, ON) Set(D2, OFF) Set(D2, ON) Set(D2, OFF) Set(D2, ON) Set(D2, OFF) Set(D2, ON) Set(D2, OFF) Set(D2, ON) #First Bit not available so it's low Set(D2, OFF) Set(D2, ON) #Second bit also mia so it's low too Set(D2, OFF) Set(D3,ON) #third bit high Set(D2, ON) Set(D2, OFF) Set(D3,OFF) #Fourth bit low Set(D2,ON) Sleep(500)
Another question but now related with the wiring connections: I'm using the D2 EXT PWR wire to simulate the clock and connect it to SOMO 14D pin 3. Similarly I'm using D3 EXT PWR to simulate the data and connect it to the SOMO 14D pin4. I should be using the EXT PWR wire not 5V or GND from each digital output right? In terms of EZB hardware I'm trying on EZB V3 chip, with firmware V16 and through ARC 2012.08.08.00. As you might know, following the SOMO14D protocol in terms of commands "0xfffe" to play or send other instructions such as selecting the track number "0002" are not working with the C# SDK (I think you share the same opinion). I'm very interested in your method as it proves to be very helpful.
Regards, Robotez
So the D2 and D3 connections should be connected to outer pins on D2 & D3. Other things to keep in mind are:
I can hook up my setup again and try out the code segment to see if there are any issues maybe with speed changes in EZ-B versions since I got it working a while ago.
Otherwise I would suggest going back to key mode and making sure everything works still.