Arduino & Votrax “Hello World”

03/11/2011 By Jean-Luc Deladriere Off
image_pdfimage_print

After some fun with the SP0256 (more to come on this) I decided to try the Votrax SC-01. (I found it on Ebay).

I also found a lot of resources here: http://www.redcedar.com/sc01.htm
I made this schematic

And coded the Arduino Uno inspired by this blog http://www.bot-thoughts.com/2010/02/sp0256-al2-speech-with-arduino.html

 

/* Votrax SC-O1 A Speech Chip Hello World Arduino Uno */
 


#define STB 2 // Strobe need to go high to latch datas
#define AR 3 // Acknowledge/Request goes high when ready
// "Hello Word"
byte message[]={0x1B, 0x02, 0x23, 0x18, 0x23, 0x16, 0x37,0x3E,0x2D,0x3A,0x2B,0x18,0x1E,0x3F};
int messageSize = sizeof(message);

void setup(){
DDRB = B00111111; // set Port B 6 lowest bit as Output (Arduino Uno pin 8 to 13)

pinMode(STB, OUTPUT);
pinMode(AR, INPUT);
digitalWrite(STB, LOW); // must stay low
}

void loop() {
int i; for (i=0; i<messageSize; i++) {
say(message[i]);
} delay(2000); // delay 2 sec between repetition
}
void say(byte phoneme) {
PORTB = phoneme; // Set Stb = 1 for 2usec to tell the chip to read the Port
digitalWrite(STB, HIGH);
delayMicroseconds(2);
digitalWrite(STB, LOW);
// Wait for AR=1 when chip is ready
while (digitalRead(AR) == 0);
}

Have fun with the pitch pot and enjoy the distinct sound of the beast.