Stap 31: SpeakJet - Arduino schild van SparkFun
Hier is de assemblage en het testen van het strottenhoofd schild van SparkFun.
Dit is vrij eenvoudig - het is echter niet wat ik dacht dat het zou. Ik verwacht te kunnen spuwen uit woorden rechte van gewone tekst. Dit kan gebeuren, maar moet u een tweede chip die tekst naar spraak doet. Zoals is, is er een tabel van fonetische geluiden die samen kan worden gespannen om woorden. Dat moet wel goed, maar ik hoopte voor echt heel gemakkelijk.
Anyway - soldeer op sommige stapelbare koppen en hechten een spreker.
Laad-up wat voorbeeldcode en zie hoe het klinkt!
Hier is molly runnen van het -
ARDUINO CODE / / /
/*
Strottenhoofd Demo schets
Geschreven door Ryan Owens
SparkFun elektronica
Het strottenhoofd schild van SparkFun gebruikt voor het verzenden van het bericht "All your base are belong to us" en een reeks
van de geluiden van de robot naar de SpeakJet-chip op het schild.
Een luidspreker kan worden aangesloten rechtstreeks op de SPK + en -pinnen op het schild.
*/
Zachte seriële bibliotheek gebruikt voor het verzenden van seriële commando's op pin 2 in plaats van reguliere seriële pin.
#include
Definieer de pincodes voor de schets.
#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
#define txPin 2
Maak een SoftSerial Objet
SoftwareSerial speakjet = SoftwareSerial (0, txPin);
De matrix bericht bevat de opdracht voor geluiden worden verzonden in volgorde naar inunciate de woorden "All your base belong to us." Raadpleeg de handleiding van de SpeakJet voor meer informatie
op het produceren van woorden
All Your Base Are Belong aan ons
char [message] = {20, 96, 21, 114, 22, 88, 23, 5, 8, 135, 8, 146, 5, 128, 153, 5, 170, 154, 8, 188, 5, 152, 5, 170, 8,128,146,8,135,8,144,5,8,191,162,5,8,134,187};
De geluiden array bevat de opdrachten voor het verzenden van de robot geluiden naar de SpeakJet-chip.
char klinkt [] = {200, 201, 202, 203, 220, 221, 222};
VOID Setup
{
Configureren van de pinnen voor de SpeakJet module
pinMode (txPin, OUTPUT);
pinMode (SPK, INPUT);
Een seriële poort instellen om te praten van Arduino met de module SpeakJet op pin 3.
speakjet.begin(9600);
Configureren van de klaar pin als input
pinMode (RDY, INPUT);
Reset lijn configureert als uitgang
pinMode (RES, uitvoer);
Alle van de pinnen van de gebeurtenis zoals uitgangen van Arduino configureren en deze laag instellen.
for (int i = E0; ik < = E7; i ++)
{
pinMode (ik, OUTPUT);
digitalWrite (i, laag);
}
Alle I/O pinnen zijn geconfigureerd. Reset de SpeakJet module
digitalWrite (RES, laag);
delay(100);
digitalWrite (RES, hoge);
}
void loop
{
"All Your Base zijn behoren tot Us" verzenden van de SpeakJet module
speakjet.Print(Message);
Gewacht voordat de volgende tekenreeks verzonden.
delay(3000);
De robot geluiden verzenden in de module.
speakjet.Print(sounds);
while(1);
}