Twitter aktiverad Text till tal (2 / 5 steg)
Steg 2: Använda TTS256 Text till tal med SpeakJet
Jag har löst följt de anvisningar finns på Sparkfun webbplats för att få TTS256 igång med SpeakJet. Anslut först 5V till nåla fast 28 och marken till stift 14 av TTS256. Nästa koppla bort anslutningen mellan digital stift 2 av Arduino och stift 10 av SpeakJet. Anslut digitala stift 2 till stift 18 av TTS256 i stället. Anslut stift 24 i TTS256 till pinne 10 i SpeakJet. Anslut stift 20 i TTS256 till stift 15 av SpeakJet. En schematisk visas i figur 2, och fikon 1, 3, 4 och 5 Visa kretsen på en skärbräda. Nu när du har installationen av maskinvara, ladda upp följande kod. Du bör höra SpeakJet utgång ordet "ready" när det är gjort resetting, då det kommer ut oavsett meddelande du kapsla in i raden:
speakjet.println ("ditt meddelande här")
SpeakJet och TTS256 verkligen grundläggande inställning
Amanda Ghassaei 2012
delar av denna kod är hämtade från följande två bitar av kod:
TTS256 Speakjet gränssnitt Chip Demo skiss
Skrivet av Ryan Owens
SparkFun elektronik
SpeakJetTTS Hello World skiss
en demo som visar en minimal skiss för SpeakJet/TTS Shield
Skrivet av Galenos Raben / www.droidbuilder.com
ställa in en SoftwareSerial port för Speakjet sköld
#include < SoftwareSerial.h >
#define txPin 2
SoftwareSerial speakjet = SoftwareSerial (0, txPin);
Definiera Pin-koder på Voicebox Shield för skissen.
#define E0 5
#define E1 6
#define E2 7
#define E3 8
#define E4 9
#define E5 10
#define E6 11
#define E7 12
#define RDY 13
#define RES 3
#define SPK 4
void setup() {
initiera den seriell kommunikationen med SpeakJet-TTS256
pinMode (txPin, produktionen);
speakjet.BEGIN(9600); / / set datahastigheten för SoftwareSerial port
Konfigurera Återställ linje som en utgång
pinMode (RES, OUTPUT);
PIN-kod som låter oss veta att SpeakJet är upptagen pratar
pinMode (SPK, indata);
Konfigurera redo PIN-koden som en input-lets oss vet SpeakJet är redo för mer data
pinMode (RDY, indata);
Konfigurera alla Event stift som utgångar från Arduino och ange dem låg.
för (int jag = E0; jag < = E7; i ++)
{
pinMode (i, matas);
digitalWrite (i, låg);
}
Alla I/O stift är konfigurerade. Återställa modulen SpeakJet
digitalWrite (RES, låg);
Delay(100);
digitalWrite (RES, hög);
Delay(1000); vänta en sekund (talar "redo")
speakjet.println ("amanda är så cool!"); Skicka det till SpeakJet-ändra detta meddelande till vad du vill
}
void loop() {
göra andra saker här
}
Du kanske har märkt i den här koden att stiften E0-E7 (gula kablarna) används inte längre, de är inställda till låg och höll låg medan TTS256 skickar data till SpeakJet. Jag lämnade dessa anslutningar bc jag inte vill förvirra dig innan, men om koden ovan fungerar, sedan kan du gå vidare och koppla dessa pins från Arduino och permanent bifoga dem till marken. Detta kommer att frigöra många av den Arduino pins för andra saker. Du kan också bifoga den SpeakJet Återställ pin direkt till Arduino's reset (nära power stiften), det var tidigare knuten till digital stift 3. Jag har bifogat en schematisk (Fig. 6) och några bakbord pics (figurerna 7 och 8). Nu ska det bara finnas tre anslutningar mellan Arduinos data stift och SpeakJet/TTS256:
Digital Pin 2- detta stift är ansvarig för att skicka meddelanden till TTS256
Digital stift 4 - detta ansluter till den SpeakJet SPK pn - detta stift låter oss veta att SpeakJet är för närvarande talar (hög) och för närvarande inte tala (låg)
Digital Pin 13 - detta är ansluten till den SpeakJet RDY pin-detta stift låter oss veta att SpeakJet är redo för mer data (hög) eller inte redo (låg)
Obs - någon av Arduino's digital pin-anslutningar kan bli omplacerad, det finns inget speciellt om de inställningar jag har förutsatt som exempel här. För att ändra inställningen för pin ändra siffrorna i följande rader:
#define txPin 2
#define RDY 13
#define SPK 4
Här är förenklade koden för att gå med den förenklade maskinvaruinställningar. För att få denna kod för att börja om från början igen, är tryck på Arduino återställningsknapp.
SpeakJet och TTS256 förenklas installationen
Amanda Ghassaei 2012
delar av denna kod är hämtade från den följande kodsnutt:
TTS256 Speakjet gränssnitt Chip Demo skiss
Skrivet av Ryan Owens
SparkFun elektronik
ställa in en SoftwareSerial port för Speakjet sköld
#include < SoftwareSerial.h >
#define txPin 2
SoftwareSerial speakjet = SoftwareSerial (0, txPin);
#define RDY 13
#define SPK 4
void setup() {
initiera den seriell kommunikationen med SpeakJet-TTS256
pinMode (txPin, produktionen);
speakjet.BEGIN(9600); / / set datahastigheten för SoftwareSerial port
PIN-kod som låter oss veta att SpeakJet är upptagen pratar
pinMode (SPK, indata);
Konfigurera redo PIN-koden som en input-lets oss vet SpeakJet är redo för mer data
pinMode (RDY, indata);
Delay(1000); vänta en sekund (talar "redo")
speakjet.println ("speakjet är lätt"); Skicka det till SpeakJet-ändra detta meddelande till vad du vill
}
void loop() {
göra andra saker här
}
Slutligen, här är en bit kod som skickar meddelanden till SpeakJet från lagrade strängar:
SpeakJet och TTS256 förenklas installationen-läsning från strängar
Amanda Ghassaei 2012
delar av denna kod är hämtade från den följande kodsnutt:
TTS256 Speakjet gränssnitt Chip Demo skiss
Skrivet av Ryan Owens
SparkFun elektronik
ställa in en SoftwareSerial port för Speakjet sköld
#include < SoftwareSerial.h >
#define txPin 2
SoftwareSerial speakjet = SoftwareSerial (0, txPin);
#define RDY 13
#define SPK 4
Sträng meddelande = "Jag kan läsa strängar också"; //store meddelanden som strängar för speakjet
void setup() {
initiera den seriell kommunikationen med SpeakJet-TTS256
pinMode (txPin, produktionen);
speakjet.BEGIN(9600); / / set datahastigheten för SoftwareSerial port
PIN-kod som låter oss veta att SpeakJet är upptagen pratar
pinMode (SPK, indata);
Konfigurera redo PIN-koden som en input-lets oss vet SpeakJet är redo för mer data
pinMode (RDY, indata);
Delay(1000); vänta en sekund (talar "redo")
speakjet.println(Message); Skicka strängen till SpeakJet
}
void loop() {
göra andra saker här
}