Etape 31 : SpeakJet - Shield Arduino de SparkFun
Voici le montage et les essais de l’écu de la boîte vocale de SparkFun.
C’est assez facile - cependant, ce n'est pas ce que j’ai pensé qu’il serait. Je m’attendais à pouvoir cracher les mots directement à partir de texte ordinaire. Cela peut être fait, mais vous avez besoin d’une deuxième puce qui fait la synthèse vocale. Comme c’est, il y a une table des sons phonétiques qui peuvent être chaînées ensemble pour former des mots. Qui devrait être bon, mais je m’attendais à vraiment vraiment facile.
De toute façon - souder sur certains en-têtes empilables et fixez une enceinte.
Charger un exemple de code et voir comment ça sonne !
Voici molly en cours d’exécution-
ARDUINO CODE / / /
/*
Esquisse de démonstration de boîte vocale
Écrit par Ryan Owens
SparkFun Electronics
Utilise le bouclier de la boîte vocale de SparkFun pour envoyer le message « Toutes votre base sont appartiennent à nous » et une série
des sons de robot à la puce de SpeakJet sur le bouclier.
Un haut-parleur peut être branché directement dans les épingles sur le bouclier SPK + et.
*/
Bibliothèque série douce utilisée pour envoyer des commandes de série sur la broche 2 au lieu de la broche série régulière.
#include
Définir les numéros de broches pour l’esquisse.
#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
Créer un SoftSerial Objet
SoftwareSerial speakjet = SoftwareSerial (0, txPin) ;
Le tableau de message contenant la commande pour les sons à envoyer dans l’ordre à inunciate les mots « toute votre base nous appartiennent. » Vérifiez le manuel de SpeakJet pour plus d’informations
sur la production de mots
Toutes votre Base sont appartiennent à nous
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} ;
Le tableau de sons contient les commandes à envoyer des sons de robot à la puce SpeakJet.
sons de char [] = {200, 201, 202, 203, 220, 221, 222} ;
void setup()
{
Configurer les broches pour le module SpeakJet
pinMode (txPin, sortie) ;
pinMode (SPK, entrée) ;
Mettre en place un port série pour parler de Arduino au module SpeakJet sur la broche 3.
SpeakJet.Begin(9600) ;
Configurer la broche prête comme intrant
pinMode (entrée, RDY) ;
Configurer la ligne Reset comme sortie
pinMode (RES, sortie) ;
Configurer toutes les broches de l’événement comme sorties de Arduino et les bas.
pour (int i = E0; i < = E7; i ++)
{
pinMode (i, sortie) ;
digitalWrite (i, faible) ;
}
Toutes les broches e/s sont configurés. Réinitialiser le module SpeakJet
digitalWrite (RES, faible) ;
Delay(100) ;
digitalWrite (RES, élevé) ;
}
void loop()
{
Envoyer « All Your Base sont Belong to Us » pour le module SpeakJet
SpeakJet.Print(message) ;
Attendez avant de composer la chaîne suivante.
Delay(3000) ;
Envoyez les sons robotiques au module.
SpeakJet.Print(Sounds) ;
while(1) ;
}