MP3 Clone?

hippy

Technical Support
Staff member
3) Just call the StopTrack routine when varK=0 and varL=1.

4) I would leave the signals as they are as noted previously. Altering the levels may adversely interact with the playback module but you would have to check the data sheet.
 

LouMar

Member
3) Please verify that (a) and (b) will work:
(a) I put the varL 'if statement' back inside the varK 'if statement' with the 'else' and that will allow the file to play when '1' assigned to varK and varL at same time or varK=1 and varL=0.
(b) You said, "Just call the StopTrack routine when varK=0 and varL=1." Will this work: have a different 'if statement' outside the varK 'if statement' as follows:
If varK=0 and varL=1 then
Gosub StopTrack
End If

4) Okay, I'll leave them alone.
 

hippy

Technical Support
Staff member
Yes that should work, but it's not necessary to have the varK=0 test because the ELSE of the IF varK=1 will ensure varK is zero, assuming varK can only be 0 or 1. For example -

Code:
If varK = 1 Then
  ; Reaches here when varK = 1 ( varL = 0 or 1 )
Else
  If varL = 1 Then
    ; Reaches here when varK = 0 and varL = 1
  End If
End If
 

LouMar

Member
I think I got it per your last post.

(1) When varK=1 and varL=0, track will play once then 'Goto Back' which will return to main procedure.

(2) When varK=1 and varL=1, track will play once, execute 'StopTrack' from 'If statement' then 'Goto Back' which will return to main procedure.

(3) When varK=0, 'StopTrack' will execute from 'Else statement' then 'Goto Back' which will return to main procedure.

(4) Please look at the If -- then -- else code and confirm.

Code:
Symbol RST = B.5
Symbol CLK = B.4
Symbol DAT = B.3

BasicCell:
  High RST
  High CLK
  High DAT

If varK = 1 Then  
  w0 = varJ
  Gosub SetVolume ; w0 = 0 to 7
  w0 = varI
  Gosub SetTrack  ; w0 = 0000 to 0511
  Gosub PlayTrack
  If varL=1 then
    Gosub StopTrack
  End If
Else
  Gosub StopTrack
End If

Goto Back

SetVolume:
  w0 = w0 | $FFF0
  Goto TransmitW0

SetTrack:
  w0 = w0 & $01FF
  Goto TransmitW0

PlayTrack:
PauseTrack:
UnPauseTrack:
  w0 = $FFFE
  Goto TransmitW0

StopTrack:
  w0 = $FFFF
  Goto TransmitW0

TransmitW0:
  Low RST
  Pause 5
  High RST
  Pause 300
  For b2 = 0 To 15
    If w0 >= $8000 Then
      High DAT
    Else
      Low  DAT
    End If
    Pause 2
    Low CLK
    PauseUs 20
    High CLK
    w0 = w0 * 2
  Next
  High DAT
  Return

Back:
 
Last edited:

hippy

Technical Support
Staff member
(1) When varK=1 and varL=0, a track will be selected and begin to play

(2) When varK=1 and varL=1, a track will be selected, begin to play but will be immediately stopped

(3) When varK=0, any track being played will be stopped

Your (2) is not what you want. Playing a track and immediately stopping it won't produce any audio output. You have to wait for the track to have completed playing by monitoring the modules 'busy' signal. Then you can stop the track, though that may be unnecessary if the track is automatically stopped when it reaches its end.
 

LouMar

Member
Thank you, now I understand. Now I also understand your original explanation of the code you sent on page 2 of this thread, "...then play track 0001.ad4 for 2 seconds, pause for 2 seconds, play 2 seconds more then stop the track. After 5 seconds, repeat." You use used pause commands to allow play.

I only have 3 files where varK and varL both equal '1' therefore, I guess I have 2 choices:
(1) time how many seconds each message takes and place the following immediately after 'Gosub PlayTrack' (pause seconds approximate for example code):
Code:
If varK = 1 Then  
  w0 = varJ
  Gosub SetVolume ; w0 = 0 to 7
  w0 = varI
  Gosub SetTrack  ; w0 = 0000 to 0511
  Gosub PlayTrack
  If varI=0 then
    Pause 3000  
  End If
  If varI=1 then
    Pause 5000  
  End If
  If varI=4 then
    Pause 5000  
  End If

  If varL=1 then
    Gosub StopTrack
  End If

Else
  Gosub StopTrack
End If
 
Goto Back
(2) figure out how to use, code, and where to place the Busy command.

I will try (2) first. If I can't figure it out, then I'll do (1) if you agree it will work.
 
Last edited:

LouMar

Member
I have 2 problems: (1) Nothing plays and (2) Amplifier cycles on and off.

(1) Program commands ($ plus 4 characters) written are different from voice module datasheet commands (5 charcaters).
PLAY: $FFFE vs FFFEH
STOP: $FFFF vs FFFFH
VOLUME: $FFF7 vs FFF7H (7=max volume)
TRACK: w0 & $01FF vs NOTE A (I assume w0 & $01FF is track 0001.ad4)
NOTE A: Per datasheet, "The voice file name are decimal , such as 0000.ad4, 0001.ad4, ...... When the MCU send data to trigger, the data should be binary data corresponding to voice file name." Datasheet shows '0000000000000001' as binary number for 0001.ad4. File name on microSD card is saved as '0001.ad4' not simply as '1' or '0001'.

(2) When program starts, amplifier cycles on and off every second for 10-30 seconds then stays on for about 5 seconds then turns off. I assume it stays on when the code thinks the file is playing then turns off which it is suppose to do after the 'stop' code executes. I tired removing the download connections to the serial in and ground and the amp does not cycle or ever turn on. I connected 10/22 k resistors to serial in pin and tied to ground as stated on page 8 of the manual but the amp acts the same as when the download connection is connected. I made all unused 'C' input pins to output and made them Low as explained in a forum post but that did not make any difference.

I purchased another voice module (same type) to exclude the possibility that the original module was defective. No difference when the new one was used.
 
Last edited:

hippy

Technical Support
Staff member
You need to post a full listing of your flowchart converted to Basic, a circuit diagram, and a clear picture of how you have everything wired up.
 

LouMar

Member
The diagram, flowchart converted to basic, and flowchart are enclosed. For this program, I am not using tests to stop program. I am manually controlling varK and varL in basic boxes prior to calling PLAYER.

Code:
'BASIC converted from flowchart:
'C:\Users\windows 7\Desktop\testplay1.plf
'Converted  2014-10-12 at 16:14:41

{ ;Symbols
symbol varA = b0
symbol varB = b1
symbol varC = b2
symbol varD = b3
symbol varE = b4
symbol varF = b5
symbol varG = b6
symbol varH = b7
symbol varI = b8
symbol varJ = b9
symbol varK = b10
symbol varL = b11
symbol varM = b12
symbol varN = b13
symbol varO = b14
symbol varP = b15
symbol varQ = b16
symbol varR = b17
symbol varS = b18
symbol varT = b19
symbol varU = b20
symbol varV = b21
symbol varTEMPBYTE1 = b22
symbol varTEMPBYTE2 = b23
symbol varTEMPBYTE3 = b24
symbol varTEMPBYTE4 = b25
symbol varTEMPBYTE5 = b26
symbol varTEMPBYTE6 = b27
symbol varTEMPWORD1 = w11
symbol varTEMPWORD2 = w12
symbol varTEMPWORD3 = w13
}


main:
	let dirsB = 63
	let dirsC = 23

varI = 1
varJ = 7
varK = 1
varL = 0
	high B.1
Cell_4_5:
	gosub prc_PLAYER
varK = 1
	if varK = 1 then
		goto Cell_4_8
	end if
	gosub prc_PLAYER
Cell_4_9:
	low B.1
	stop
prc_PLAYER:
Low C.4
Low C.2
Low C.1
Low C.0

Symbol RST = B.5
Symbol CLK = B.4
Symbol DAT = B.3

BasicCell:
  High RST
  High CLK
  High DAT

If varK = 1 Then  
  w0 = varJ
  Gosub SetVolume
  w0 = varI
  Gosub SetTrack
  Gosub PlayTrack
    If varL = 1 then
      Pause 3000  
      GoSub StopTrack
    Else
    Pause 5000    	
    End If  
  Else
    Gosub StopTrack
  End If
  Goto Back

SetVolume:
  w0 = w0 | $FFF0
  Goto TransmitW0

SetTrack:
  w0 = w0 & $01FF
  Goto TransmitW0

PlayTrack:
PauseTrack:
UnPauseTrack:
  w0 = $FFFE
  Goto TransmitW0

StopTrack:
  w0 = $FFFF
  Goto TransmitW0

TransmitW0:
  Low RST
  Pause 5
  High RST
  Pause 300
  For b2 = 0 To 15
    If w0 >= $8000 Then
      High DAT
    Else
      Low  DAT
    End If
    Pause 2
    Low CLK
    PauseUs 20
    High CLK
    w0 = w0 * 2
  Next
  High DAT
  Return

Back:
	return
Cell_4_8:
	if varL = 1 then
		goto Cell_4_9
	end if
	goto Cell_4_5


#no_data    'reduce download time
 
Last edited:

LouMar

Member
I figured out how to use Busy and that solved the second problem of cycling on and off.

(2) Code allows all 3 conditions to function: amp to play once then stop, replay, stop; therefore, I am assuming that code is correct but files are just not playing. When amp is on, static is heard from speaker. When amp is disconnected from voice module and amp is on, static still heard. When amp is disconnected and speaker directly connected to voice module, no static heard from speaker when program is run. Since this is the second voice module, i am assuming that it functions properly. Problem may be with either corrupt files or microSD card. The card I have is a Kingston 1gb which is on the forum list of usable cards.

For testing my card, I need an ad4 file that is know to work. I do not want to download a free ad4 file from the internet because I am afraid of getting a virus as I previously encountered when downloading software to convert wma to wav to ad4. If you have an ad4 file that works, please provide.
 

hippy

Technical Support
Staff member
Note that the communications protocol to the module and code hasn't been tested nor proven, is only my own best guess at what it should be. If someone else could double check that it would probably help.
 

LouMar

Member
There is code written by Westaust55 that looks similar to what you wrote. After adjusting some symbols and a few variables, I tried the code but got the same results as with the code you wrote. That is where figured out how to use the 'busy' procedure. His code is 'SOMO-14D program.bas' on this page:
'http://www.picaxeforum.co.uk/showthread.php?13971-Getting-started-with-the-4D-Systems-SOMO-14D-audio-module&highlight=somo'

As far as getting anyone else to look at the code, there isn't anyone else except maybe Westaust55 but his code gave the same results. That's why I think that something maybe wrong with the micoSD card or the files. Do you have an ad4 file that you know works so I can test the card? I can't make another file because I deleted the virus corrupt wma-wav-ad4 free software.
 

hippy

Technical Support
Staff member
I don't have any .ad4 files and I would simply download one from the internet. I personally cannot see any great risk with downloading that to hard disk, renaming and copying it to the SD card.
 

LouMar

Member
Downloaded a test ad4 file that is known to work and tried with no results. Problem must be one of the following:
(1) voice module is defective;
(2) microSD card is defective; or
(3) code not correct.
Have tried 2 separate voice modules. Able to save, change, and read file names on SD card. Therefore voice module and card are probably okay.

Most likely problem is code as per following, "Note that the communications protocol to the module and code hasn't been tested nor proven, is only my own best guess at what it should be. If someone else could double check that it would probably help." Someone on this forum must have used this voice module in a project but since nobody is able to verify code this code or share their code, problem seems unsolvable. Thanks for all past help.
 
Last edited:

LouMar

Member
Does this make a difference?
I think the code is seeking file '0001' to play on microSD card but '0001' does not exist on the card. The actual name of the file is '0001.ad4' (the extension is part of the file name). I made a copy of the file, without the extension so that '0001' is an actual file name on the card but a warning stating that without '.ad4' as part of the name, the file way be unstable. Since this was a copy of the original file, I saved it as '0008' then tried to play it but nothing played.

Is there a way for the code to call '0001.ad4' instead of just '0001' so I can try?

Code as currently exists:

Code:
Low C.4
Low C.1
Low C.0

Symbol RST = B.5
Symbol CLK = B.4
Symbol DAT = B.3

BasicCell:
  High RST
  High CLK
  High DAT

If varK = 1 Then  
  w0 = varJ
  Gosub SetVolume
  w0 = varI
  Gosub SetTrack
  Gosub PlayTrack
  Gosub Hold
  If varL = 1 then
    Gosub StopTrack
  Else
    Pause 2000
  End If
Else
  Gosub Hold
  Gosub StopTrack
End If
Goto Back

SetVolume:
  w0 = w0 | $FFF0
  Goto TransmitW0

SetTrack:
  w0 = w0 & $01FF
  Goto TransmitW0

PlayTrack:
PauseTrack:
UnPauseTrack:
  w0 = $FFFE
  Goto TransmitW0

StopTrack:
  w0 = $FFFF
  Goto TransmitW0

TransmitW0:
  Low RST
  Pause 5
  High RST
  Pause 300
  For b2 = 0 To 15
    If w0 >= $8000 Then
      High DAT
    Else
      Low  DAT
    End If
    Pause 2
    Low CLK
    PauseUs 20
    High CLK
    w0 = w0 * 2
  Next
  High DAT
  Return

Hold:
  Pause 30
  If pinC.2 = 1 Then Hold
  Pause 30
  Return

Back:
 
Last edited:

hippy

Technical Support
Staff member
I think the code is seeking file '0001' to play on microSD card but '0001' does not exist on the card. The actual name of the file is '0001.ad4'
The module is expecting a simple value of 0 to 511 to be received and it handles the mapping to the filename and extension to play; the PICAXE only has to send the correct command which includes that number.
 

LouMar

Member
Okay, thanks. So I guess we are back to communicating with the voice module as the problem which we can't do anything about. Oh well, such is life. Thanks again.
 

hippy

Technical Support
Staff member
Problem must be one of the following:
(1) voice module is defective;
(2) microSD card is defective; or
(3) code not correct.
Or it could be that the system is not wired correctly, there's some incompatibility or other issue in the audio path, the files have not been put onto card correctly, you are not requesting the correct files to be played, the files don't contain any audio information or are silent tracks, files are being played but are ending prematurely, the output volume is not set correctly.

I would recommend ignoring the relay and keeping the amp continually powered. I would also recommend wiring up the module in one of the standalone modes where it can play tracks without needing PICAXE control and getting that to work first. If it doesn't work without a PICAXE it's unlikely to work when controlled by one.

With a manual setup, I would create an SD card with 512 tracks 0000.ad4 to 0511.ad4 which were at least a few seconds long and try to play them. Those tracks can all be the same. Even if there's no audio, does the BUSY line go high for the length of the track?

It would also be worth posting a photo of your hardware wiring in case there are any errors others may be able to spot.
 

LouMar

Member
Okay, I'll try playing without the Picaxe. I will connect the speaker directly to the voice module since the voice module allows for a direct connection. I imagine it won't be very loud but this will eliminate the need for the relay and amp. I'll set output volume to 7. Since the file I downloaded the other day is known to work, I will make tracks 0000.ad4 to 0511.ad4 using it. I don't know how to check if the BUSY line goes high for the length of the track but maybe that will be irrelevant if something plays. I'll try this first before posting a picture.
 

LouMar

Member
I used the files already on the SD card; I did not make 512 files. I have 2 voice modules and tried them both. No sound from either. I used a clean breadboard and I know the wiring was correct for this simple direct connection. No sense posting a picture of my wiring for the simple or actual project. I am very seriously doubting the viability of this voice module. Maybe I should look for a different way to get voice.
 

hippy

Technical Support
Staff member
No sense posting a picture of my wiring for the simple or actual project. I am very seriously doubting the viability of this voice module.
It would certainly be worth posting a picture of your hardware as no one is immune from the occasional "D'oh!" moment. Many people, including myself, have wasted hours trying to figure something out which we were convinced was correct but was not when a different set of eyes may have spotted the error immediately or at least more quickly.

If nothing else it allows others to say it looks right which is far better than them not being able to say either way. It doesn't seem it could do any harm in posting what you have and may just get you back on the right track.

Unless the voice modules have been damaged in some way it would seem unlikely they were non-functional when supplied but it is always possible even though the eBay seller appears to have a good record.
 

LouMar

Member
Spark Fun Electronics is a rather large retailer that sells electronics. They sell Picaxe chips and just recently started selling the WTV020-SD-16P voice module. They are willing to save an ad4 file on a Kingston microSD card and test for voice. They are also willing to test the module with one of their Picaxe chips and the code I have. If the module with card do not work, I don't have to buy them. I'll let you know what happens.
 

LouMar

Member
Spark Fun Technical could not get the voice module to work in key mode. They used an 8Gb Kingston microSD card that they partitioned to 1 GB. I told them that it would probably not work but that's the smallest card they sell. Her experiment didn't help much; I don't know if it didn't work because of the card or the module. I believe they are going to stop selling the module.

I noticed something the other day that might be the problem. The datasheet for the voice module shows PO7 which is pin9 on the module connects to ground and that starts and stops play. In my project, PO7/pin9 is not connected to anything. Maybe I'm reading it wrong. Two cut and paste sheets are attached. Third in next post. Had to use multiple sheets because one exceed upload limit.

I have 18 components in my project and many of them have the same color wire. All wires are laying flat on the breadboard and many are on top of each other. It is impossible to determine what wires are going where from looking at a photo.
 
Last edited:

hippy

Technical Support
Staff member
Spark Fun Technical could not get the voice module to work in key mode.
I guess that's the end of using this module. If Sparkfun can't get it to work I would be surprised if anyone without a module to hand can.

The datasheet for the voice module shows PO7 which is pin9 on the module connects to ground and that starts and stops play. In my project, PO7/pin9 is not connected to anything.
PO7 connects via a push-to-make button to 0V so having it not connected is the same as having it connected and not pressing the button. I would expect Play/Stop, Next, Previous to be manual overrides to software control so not essential for software control.
 

LouMar

Member
That's good news for PO7 but since the module is not reliable, it doesn't make any difference.

I found another module that might work. Sparkfun made a breakout board with it that includes a jack and microphone but I don't want a microphone and jack after recordings are made. The sand alone is a chip that can be use in direct mode for 8 messages or address mode for 4 messages. I have 8 messages that vary from 1-6 words. In direct, the length of the messages must be the same. In address, message length can vary. I would need 2 chips for address. The ISD1932 chip in 12HZ allows 21.3 seconds total or 2.6625 seconds per message. I think I can make this work with longer messages a bit rushed. I will have to buy a 18M2 Picaxe because I need a few more pins that my 14M2 does not have.

Unless I'm reading the datasheet incorrectly, there might be one potential problem. Page 20, section 6.3.6 of the datasheet, "During the device is in operation, it is strongly recommended that the supply power cannot be interrupted. Otherwise, it may cause the device to become malfunctioning." This project is designed to allow power to be turned off at any time. I have a call into the Mfg's Rep but he hasn't called back yet. Datasheet link is attached.
http://www.nuvoton.com/resource-files/EN_ISD1900_Datasheet_Rev-0.51.pdf
 
Last edited:

hippy

Technical Support
Staff member
I am not convinced that an IDS1932 or similar voice-recording and playback chip is suitable or will be any less problematic. I think you really need something similar to what you had originally chosen but which can be more easily be made to work with a PICAXE, preferably something which other PICAXE users have had success with and experience of. If the USB030 is too expensive you could consider one of the Tenda modules such as below -

http://www.mdfly.com/products/sd-card-mp3-player-module-rs232-ttl.html
 

LouMar

Member
Okay, thanks. I already ordered the IDS1932 and 18M2 this morning but I can return it. I just placed the order with MDFLY for the module you suggested. I guess the uSD card I have (Kingston 1GB) will work with it. Thanks for this suggestion. Will let you know when it arrives which will probably be in about 5 days.
 

LouMar

Member
MP3 module arrived, installed, and wired up. I tried to write new version of code for Player per various Forum MP3 posts. Naturally, the code I wrote does not work.
Code:
;pinB.0 = 14M2 output connected to mp3 TXD input pin16
;pinB.3 = 14M2 input connected to mp3 RXD output pin15
;pinB.4 = 14M2 input connected to mp3 Busy output pin13
;Baud Rate = T4800_(4,8,16,32) <????????>
;Is T4800 Baud Rate correct <????????>
;High B.0 (initialized in Basic Box below Start)

If varL=1 then             ;varL=1 for 1st play of every file 
  serout B.0, T4800, ($EF) ;stop voice module                   
  Pause 50
End If

If varK = 1 Then
  serout B.0, T4800, ($E6) ;set volume medium level <????????>
  Pause 50
  serout B.0, T4800, ($F1) ;set volume medium level <????????>
  Pause 50
  If varI=0 Then
    serout B.0, T4800, ($00)
  End If
  If varI=1 Then
    serout B.0, T4800, ($01)
  End If
  If varI=2 Then
    serout B.0, T4800, ($02)
  End If
  If varI=3 Then
    serout B.0, T4800, ($03)
  End If
  If varI=4 Then
    serout B.0, T4800, ($04)
  End If
  If varI=5 Then
    serout B.0, T4800, ($05)
  End If
  If varI=6 Then
    serout B.0, T4800, ($E6) ;set volume high level <????????>
    Pause 50
    serout B.0, T4800, ($F1) ;set volume high level <????????>
    Pause 50	
    serout B.0, T4800, ($06)
  End If
  If varI=7 Then
    serout B.0, T4800, ($E6) ;set volume high level <????????>
    Pause 50
    serout B.0, T4800, ($F1) ;set volume high level <????????>
    Pause 50
    serout B.0, T4800, ($07)
  End If
  Pause 50
  Do
    If pinB.4=1 Then Exit
  Loop
  serout B.0, T4800, ($EF)
  Pause 50
  varL=0
End If
 

hippy

Technical Support
Staff member
Start with a simpler program which just initialises, sets volume ( if required ), and plays a single track, which does not depend on any 'var' variable settings. Also use a different serial output than B.0 which is also Download Serial Out which may be confusing the module when downloads occur.

As with the previous module it will help if you describe how you have it wired, provide a circuit diagram and photographs of that.
 

LouMar

Member
Tried all type of variations with stop, volume, and play commands in PLAYER subroutine but always got the same results as with SIMPLE program without PLAYER as explained below.

SIMPLE program with Start - Basic Box - Stop:
One line of code in basic box: 'serout B.5, T4800, ($00)' then loaded program to Picaxe. Nothing plays after download but download again, and file plays once during download. Continue downloading and file plays once during each download. It doesn't matter which file ($00-$07) I tell it to play; files just play at random. Volume is just barely audible in this SIMPLE program as well as when using PLAYER and changing digit from1-9 in 'serout B.5, T4800, ($E9)' code. I don't see an amp pin connection in the MP3 datasheet. I tried attaching _4, _8, _16, _32 to T4800 but could not tell any difference. I assume T4800 is the correct baud rate.

I declared pins B.3, B.4, as input and B.5 as output, then declared all three as output, then declared all three as input but it made no difference. File played no matter how these 'B' pins were declared. Also declared unused 'C' pins as input then as LOW output and that didn't make any difference either. File played no matter how 'C' pins declared.

Picaxe B.5 connected to MP3 pin15 (RXD)
Picaxe B.4 connected to MP3 pin13 (Busy)
Picaxe B.3 connected to MP3 pin16 (TXD)
+speaker connected to MP3 pin18
-speaker connected to MP3 pin 19
0V connected to MP3 pin19
12V connected to MP3 pin20
Connections must be correct because module is at least playing something.
 
Last edited:

hippy

Technical Support
Staff member
Baud rate is T4800 but you need to set the pin high and pause before the first SEROUT or the data sent may get corrupted. If the module thinks it's receiving $00 that is the 'play random' command; play track commands are $01 to $C7 ( 1 to 199 ).

I recall the module isn't designed to directly drive speakers and at least one user burned-out their module doing that. Wire the output to a set of powered PC speakers or perhaps a line input of your Hi-Fi.
 

LouMar

Member
I changed ($00) to ($08). This module has connections for left and right stereo speakers but my mp3 files are in voice mono. This project is set to use a car burglar alarm type speaker driven from a 12V amplifier. The datasheet doesn't show an amp connection so do you think I can take the module's +speaker pin to the amp input?

You said, "...set the pin high and pause before first SEROUT..." By 'before' do you mean at the beginning of the program in the Basic Box immediately after START or every time I call PLAYER before the first SEROUT command (or in Basic Boxes described below)? Also, I assume you mean B.5 [serout B.5, T4800, ($08)] which I did with pause 50 after the command but didn't seem to matter. Then I tried B.4 high then B.3 high but they didn't seem to make any difference either.
Picaxe B.5 connected to MP3 pin15 (RXD)
Picaxe B.4 connected to MP3 pin13 (Busy)
Picaxe B.3 connected to MP3 pin16 (TXD)

When I connect/disconnect ground from breadboard to download cable, message plays. Message also plays with C.5 touched to either ground or 5V. Will play with or without C.5's 10k and 22k resistors to ground.

Although it's not working correctly yet, since there are only a few commands and I need a Basic Box for variables every time I call PLAYER, I will eliminate PLAYER and just play from main program. This will also eliminate variables.
 

hippy

Technical Support
Staff member
You can either put the HIGH B.5 and the PAUSE at the start of the program or before the SEROUT.

At present you do not need TXD nor BUSY connecting to the PICAXE. Setting either of those lines high on the PICAXE could damage the audio module.

Not sure what is happening when you disconnect the download cable but would suspect a wiring issue with your breadboard or module.
 

LouMar

Member
I gave up on the MP3 player. After the Sparkfun module arrived, I tried it and it worked. The module was very easy to connect and operate. Except for an unrelated non-voice problem, my project is complete. The problem that remains has to do with reading temperatures. Since it has nothing to do with this thread, if I can't figure it out, I will post another thread "Need help reading temp's." Thank you for all your help and I'm sorry I wasted your time on the WTV which was basically Dead On Arrival.

As far as this thread is concerned, it has come to an end
 
Top