Paso 31: SpeakJet - escudo de Arduino de SparkFun
Aquí está el montaje y pruebas de la caja de la voz de SparkFun.
Esto es bastante fácil - sin embargo, es no lo que yo pensaba que sería. Esperaba poder vomitar palabras de texto normal. Esto se puede hacer, pero necesita un segundo chip que hace el texto a voz. Como es, hay una mesa de sonidos fonéticos que ensartados para hacer palabras. Que debe estar bien, pero estaba esperando realmente muy fácil.
-Soldadura en algunos headers apilables y conecte un altavoz.
Cargar algún código de ejemplo y ver cómo suena!
Aquí es molly corriendo-
ARDUINO CÓDIGO / / /
/*
Caja de voz Demo dibujo
Escrito por Ryan Owens
SparkFun Electronics
Utiliza el escudo de la caja de la voz de SparkFun para enviar el mensaje «Todas su base son nos pertenecen» y una serie
sonidos de robot al chip SpeakJet en el escudo.
Un altavoz puede conectarse directamente a la SPK + y - los pernos en el escudo.
*/
Biblioteca serie suave utilizada para enviar comandos seriales en el pin 2 en lugar de pin serial regular.
#include
Definir los números para el bosquejo.
#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
Crear un objeto de SoftSerial
Speakjet SoftwareSerial = SoftwareSerial (0, txPin);
La matriz de mensaje contiene el comando para que sonidos enviará en orden inunciate las palabras "su base pertenecen a nosotros". Consulta el SpeakJet Manual para más información
en la producción de palabras
Todas su Base son nos pertenecen
char mensaje [] = {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};
La matriz de sonidos contiene los comandos para enviar sonidos de robot al chip SpeakJet.
char sonidos [] = {200, 201, 202, 203, 220, 221, 222};
void setup()
{
Configurar los pines para el módulo de SpeakJet
pinMode (txPin, salida);
pinMode (SPK, entrada);
Configurar un puerto serie para hablar de Arduino con el módulo de SpeakJet en el pin 3.
speakjet.Begin(9600);
Configurar el pin listo como insumo
pinMode (RDY, entrada);
Configurar la línea de Reset como una salida
pinMode (RES, salida);
Configurar todos los pasadores de eventos como salidas de Arduino y ponlos bajo.
para (int i = E0; i < = E7; i ++)
{
pinMode (i, salida);
digitalWrite (i, LOW);
}
Se configuran todos los pines I/O. RESET del módulo de SpeakJet
digitalWrite (RES, LOW);
Delay(100);
digitalWrite (resolución alta);
}
void loop()
{
«Todas su Base son pertenecen a nosotros» enviar al módulo de SpeakJet
speakjet.Print(Message);
Esperar antes de enviar la siguiente cadena.
Delay(3000);
Enviar los sonidos robóticos al módulo.
speakjet.Print(Sounds);
while(1);
}