Just kill eet! kill eet dead! And oh by the way, speaking of dead, don’t try to stick any word constants into byte variables because nothing in BAP land will tell you this is wrong and you won’t find the error until something dies elsewhere. Hhheellooo… it’s called type checking guys!!!
and no this has nothing to do with resistors, baudrate, or the SJ… I just wandered back from the other thread and was still shaking my head so it all slipped out.
I looked at the tutorial. It says I connected the Stamp to the SpeakJet through a 1k resistor. I can’t remember now, I’ve been to sleep many times since then, why I used the resistor, but I’m quite positive it’s not required. It’s probably just a precaution against accidental shorting. spin your partner do see do…
I do have a new problem, for some reason the ABB board RED LED stays lit after the program is finished. If I press reset, the program will re issue the speech data, but it will not say anything more than two lines of data even if there are 5 lines or more. Normally it is to send all the data untill it recieves a bussy signal (buffer full) then resume when there is room.
Another strange problem. The SJ board will only work on seperate power. If I tru to use the ABB “VL” power, it does nothing.
this is going to get tediously more difficult without some kind of schematic refresher on your SJ board and how you have it connected to the ABB electrically. System wiring diagram kinda thing. Also is your ABB stock or has it been modified would be good to know.
On your ABB board - You probably have the jumpers in that connect the buttons and LEDS to pins 4-6. so pin 4 is probably left high.
Again it would help to see how everything is hooked up. For example you say if it is hooked up to VL nothing happens. Do you have the VS-VL Jumper set?
Don’t know enough about the SJ to know about what happens after you do a reset. Is there some type of command you can output, which basically tells the SJ to reset and clear it’s buffer? If so maybe you should try that.
Sounds like fun! Maybe I will go look up the tutorial and see what all I need.
Thanks guys for the questions. I will provide a schematic tonight and a diagram of how I have things hooked up as well.
kurte:
I do have all the jumpers for the 3 LEDs on the ABB board set, and I tried removing them but it made no difference. I read the manual and it states that the data pin remains HIGH even after the program execution ends.
The question you asked regarding the jumper for the “VS=VL”, I do have this jumper in place. It lights up my board like a Christmas tree.
My guess is that the flow control pin is not working right, which is why I can only get two phrases. If the buffer is full and the program has ended, any new phrases has “missed the boat” so-to-speak… If flow control worked, the program would wait until there was no busy signal before continuing on to the next data phrases. Right now, my program sends all the data in one shot and only what can fit in the buffer gets played.
I am going to try to use the timed intervals method and see if I can at least get the speakjet to say more than two lines of phrases.
kurte, the speakjet is a lot of fun to play with. I will provide the schematic I have if you are interested.
Ok, I have been assured that the bugs are going to be addressed in timely manor. I am asking everyone with a known Atom or Atom Pro bug to post it here. lynxmotion.net/viewtopic.php?t=1003 They have asked for our help compiling a list of bugs and a wish list of features. Please be very specific with bug descriptions.
I got the speakjet to say all the phrases with no problems. Unfortunetly the flow control pin does not work. I had success with using the timed interval feature.
The below code works with the BAP28 and SpeakJet:
PA0 CON 0 ' pauses
PA1 CON 1
PA2 CON 2
PA3 CON 3
PA4 CON 4
PA5 CON 5
PA6 CON 6
Fast CON 7
Slow CON 8
Stress CON 14
Relax CON 15
_Wait CON 16 ' note underscore
Soft CON 18
Volume CON 20
Speed CON 21
Pitch CON 22
Bend CON 23
PortCtr CON 24
Port CON 25
Repeat_ CON 26
CallPhr CON 28
GotoPhr CON 29
Delay CON 30
Reset CON 31
IY CON 128
IH CON 129
EY CON 130
EH_ CON 131
AY CON 132
AX CON 133
UX CON 134
OH CON 135
AW CON 136
OW CON 137
UH CON 138
UW CON 139
MM CON 140
NE CON 141
NO CON 142
NGE CON 143
NGO CON 144
LE CON 145
LO CON 146
WW CON 147
RR CON 148
IYRR CON 149
EYRR CON 150
AXRR CON 151
AWRR CON 152
OWRR CON 153
EYIY CON 154
OHIY CON 155
OWIY CON 156
OHIH CON 157
IYEH CON 158
EHLL CON 159
IYUW CON 160
AXUW CON 161
IHWW CON 162
AYWW CON 163
OWWW CON 164
JH CON 165
VV CON 166
ZZ CON 167
ZH CON 168
DH_ CON 169
BE CON 170
BO CON 171
EB CON 172
OB CON 173
DE CON 174
_DO CON 175 ' note underscore
ED CON 176
OD CON 177
GE CON 178
GO CON 179
EG CON 180
OG CON 181
CH_ CON 182
HE CON 183
HO CON 184
WH CON 185
FF CON 186
SE CON 187
SO CON 188
SH CON 189
TH CON 190
TT CON 191
TU CON 192
TS CON 193
KE CON 194
KO CON 195
EK CON 196
OK CON 197
PE CON 198
PO CON 199
RO CON 200
R1 CON 201
R2 CON 202
R3 CON 203
R4 CON 204
R5 CON 205
R6 CON 206
R7 CON 207
R8 CON 208
R9 CON 209
A0 CON 210
A1 CON 211
A2 CON 212
A3 CON 213
A4 CON 214
A5 CON 215
A6 CON 216
A7 CON 217
A8 CON 218
A9 CON 219
_B0 CON 220 ' note underscore
_B1 CON 221
_B2 CON 222
_B3 CON 223
_B4 CON 224
_B5 CON 225
_B6 CON 226
_B7 CON 227
_B8 CON 228
_B9 CON 229
C0 CON 230
C1 CON 231
C2 CON 232
C3 CON 233
C4 CON 234
C5 CON 235
C6 CON 236
C7 CON 237
C8 CON 238
C9 CON 239
D0 CON 240 ' DTMF tones
D1 CON 241
D2 CON 242
D3 CON 243
D4 CON 244
D5 CON 245
D6 CON 246
D7 CON 247
D8 CON 248
D9 CON 249
D10 CON 250
D11 CON 251
M0 CON 252 ' sonar pin
M1 CON 253 ' pistol shot
M2 CON 254 ' WOW
EOS CON 255
TX CON P4
RDY CON P6
T9600 con 240
'------------------------------ SpeakJet Setup ]-------------------------------------
SEROUT tx,N9600,100"\0RX"] 'CLEAR BUFFER
SEROUT tx\RDY,N9600,100[020,127] ' Set volume to max
SEROUT tx,N9600,100[PITCH,75,BEND,5] ' Set Pitch , Tone and bend
'------------------------- Prases ]--------------------------------------------------
;The "100" after the baud is the interval timed flow control number 1000 = 1 second.
ph1:
SEROUT TX\RDY, N9600,100, [Your... data... here...]
Here is the Schematic for the SpeakJet Chip. My current board does not use Pull-up resistors.
If you choose not use pull-up resistors, a shunt (jumpers) should be used. If you do not want to use any of the SpeakJets I/O Pins, you can tie all the leads to ground and omit the jumper header completely. The header is for future projects where you might want to use some of the other features.
I tried to do the best I can to show How I have everything hooked up. I wish I could do a diagram like Jim has in the ABB manual showing wire connections, but this is the best I was able to do:
I am not an electrical wizard, don’t you need some GND connection between the two boards?
I tried downloading the PDF on the previous page and after clicking through three preliminary pages, I downloaded the PDF. But when I tried to download it, it said that the PDF was corrupt.
That is something I have yet to figure out. It works with seperate power sources. The only thing I can think of is the two different wall adaptors are using a common ground from the wall.
Somewhere on the ground of both boards. On the ABB I would probably take it from the GND pin associated with P4 or P6, On your board if I am reading it right, you might have several ground pins on J1. Try one of these.
As my earlier message stated, I am not an electronics wizard. I did take a few courses back in college, but that was a couple of decades ago.
LOL that makes two of us then. I had a lot of help with my designs and I have made 5 different boards, so I kept optimizing each design also. I see what you are saying, just ad a ground wire between the two boards. I have tried this already and it did not seem to make any difference.
Here is a pic of the boards that I have made in the past:
Mike you DO need a ground connection between the two boards. It may be there is some indirect path now such as through the wall transformers but for the ABB+BAP to be sending and receiving nice clean signals with the SJ (or any other PCB card) you need a nice solid ground between the two systems to reference the logic and analog signals to. Anything less will sooner or later cause sporadic behavior that can be extremely difficult to troubleshoot. The connection locations kurte suggested are probably fine but personally I suggest you make a connection between the negative power connections to each board so they are operating from a common ground reference point.
Another thing to keep in mind is the voltage regulator you have chosen for the SJ Board appears to be a 78L05 which is not a low-drop out regulator. Powered from 9V batteries this is OK but the ABB+BAP will run for a lot longer than the SJB.
Pete recommended me to use that regulator because it uses less space. I originally wanted to use the type Lynxmotion sells. My newer design has the regulator that Lynxmotion sells so this will no longer be an issue. I have also added a push button reset for the speakjet as well.