Reconocimiento de voz con BitVoicer y Arduino

el objetivo principal de este proyecto era probar el funcionamiento del reconocimiento de discurso de BitVoicer (http://www.bitsophia.com/BitVoicer.aspx). Para ello, diseñé un bosquejo simple control led que integrado con BitVoicer. Por supuesto puede hacerlo que quieras una vez que han recibido las órdenes de Bitvoicer, pero para mantener las cosas simples, me pareció que una prueba led haría bien.

Aquí está el YouTube video con los resultados:

Este es el sketch de Arduino que controla los leds y recupera datos enviados desde BitVoicer:

Incluye la biblioteca de BitVoicer el dibujo de
#include < BitVoicer.h >

Configura los pines y variables por defecto
pinR int = 3;
int pinY = 5;
pinG de int = 6;
int blinkDelay = 250;
int sequenceDir = 0;
int lightLevel = 0;

Crea una nueva instancia de la clase BitVoicerSerial
Configura puerto serial 0
BitVoicerSerial bitVoicer = BitVoicerSerial(0);

void setup()
{
Comunicación en serie se inicia y configura la pinModes
Serial.Begin(9600);
pinMode (pinR, salida);
pinMode (pinY, salida);
pinMode (pinG, salida);
}

void loop()
{
Recupera los datos desde el búfer serial
bitVoicer.getData();

Se cierra el bucle si se devuelve ningún dato de la cadena de getData
Si (bitVoicer.strData == "")
{
retorno;
}

Cada una de las declaraciones de 'if' siguiente realiza una diferente
trabajo basado en los datos recibidos de BitVoicer
Si (bitVoicer.strData == "wake")
{
digitalWrite (pinR, LOW);
digitalWrite (pinY, baja);
digitalWrite (pinG, LOW);
digitalWrite (pinR, HIGH);
digitalWrite (pinY, alto);
digitalWrite (pinG, HIGH);
Delay(200);
digitalWrite (pinR, LOW);
digitalWrite (pinY, baja);
digitalWrite (pinG, LOW);
Delay(200);
digitalWrite (pinR, HIGH);
digitalWrite (pinY, alto);
digitalWrite (pinG, HIGH);
Delay(200);
digitalWrite (pinR, LOW);
digitalWrite (pinY, baja);
digitalWrite (pinG, LOW);
Delay(200);
digitalWrite (pinR, HIGH);
digitalWrite (pinY, alto);
digitalWrite (pinG, HIGH);
Delay(200);
digitalWrite (pinR, LOW);
digitalWrite (pinY, baja);
digitalWrite (pinG, LOW);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "sueño")
{
digitalWrite (pinR, LOW);
digitalWrite (pinY, baja);
digitalWrite (pinG, LOW);
digitalWrite (pinR, HIGH);
digitalWrite (pinY, alto);
digitalWrite (pinG, HIGH);
Delay(200);
digitalWrite (pinR, LOW);
digitalWrite (pinY, baja);
digitalWrite (pinG, LOW);
Delay(200);
digitalWrite (pinR, HIGH);
digitalWrite (pinY, alto);
digitalWrite (pinG, HIGH);
Delay(200);
digitalWrite (pinR, LOW);
digitalWrite (pinY, baja);
digitalWrite (pinG, LOW);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "RH")
{
digitalWrite (pinR, HIGH);
bitVoicer.strData = "";
lightLevel = 255;
}
else if (bitVoicer.strData == "RL")
{
digitalWrite (pinR, LOW);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "YH")
{
digitalWrite (pinY, alto);
bitVoicer.strData = "";

lightLevel = 255;
}
else if (bitVoicer.strData == "YL")
{
digitalWrite (pinY, baja);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "GH")
{
digitalWrite (pinG, HIGH);
bitVoicer.strData = "";
lightLevel = 255;
}
else if (bitVoicer.strData == "GL")
{
digitalWrite (pinG, LOW);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "blink")
{
digitalWrite (pinR, HIGH);
digitalWrite (pinY, alto);
digitalWrite (pinG, HIGH);
Delay(blinkDelay);
digitalWrite (pinR, LOW);
digitalWrite (pinY, baja);
digitalWrite (pinG, LOW);
Delay(blinkDelay);
lightLevel = 255;
}
else if (bitVoicer.strData == "BF")
{
blinkDelay = 100;
bitVoicer.strData = "parpadear";
lightLevel = 255;
}
else if (bitVoicer.strData == "BFF")
{
interruptor (blinkDelay)
{
caso 500:
blinkDelay = 250;
rotura;
caso 250:
blinkDelay = 100;
rotura;
por defecto:
rotura;
}
bitVoicer.strData = "parpadear";
lightLevel = 255;
}
else if (bitVoicer.strData == "BS")
{
blinkDelay = 500;
bitVoicer.strData = "parpadear";
lightLevel = 255;
}
else if (bitVoicer.strData == "BSS")
{
interruptor (blinkDelay)
{
caso 100:
blinkDelay = 250;
rotura;
caso 250:
blinkDelay = 500;
rotura;
por defecto:
rotura;
}
bitVoicer.strData = "parpadear";
lightLevel = 255;
}
else if (bitVoicer.strData == "secuencia")
{
Si (sequenceDir == 0)
{
digitalWrite (pinR, HIGH);
Delay(250);
digitalWrite (pinR, LOW);
digitalWrite (pinY, alto);
Delay(250);
digitalWrite (pinY, baja);
digitalWrite (pinG, HIGH);
Delay(250);
digitalWrite (pinG, LOW);
}
otra cosa
{
digitalWrite (pinG, HIGH);
Delay(250);
digitalWrite (pinG, LOW);
digitalWrite (pinY, alto);
Delay(250);
digitalWrite (pinY, baja);
digitalWrite (pinR, HIGH);
Delay(250);
digitalWrite (pinR, LOW);
}
lightLevel = 255;
}
else if (bitVoicer.strData == "volver")
{
Si (sequenceDir == 0)
{
sequenceDir = 1;
}
otra cosa
{
sequenceDir = 0;
}
bitVoicer.strData = "secuencia";
lightLevel = 255;
}
else if (bitVoicer.strData == "ALLON")
{
digitalWrite (pinR, HIGH);
digitalWrite (pinY, alto);
digitalWrite (pinG, HIGH);
bitVoicer.strData = "";
lightLevel = 255;
}
else if (bitVoicer.strData == "ALLOFF")
{
digitalWrite (pinR, LOW);
digitalWrite (pinY, baja);
digitalWrite (pinG, LOW);
bitVoicer.strData = "";
lightLevel = 0;
}
else if (bitVoicer.strData == "más brillante")
{
Si (lightLevel < 255)
{
lightLevel += 85;
analogWrite (pinR, lightLevel);
analogWrite (pinY, lightLevel);
analogWrite (pinG, lightLevel);
}
bitVoicer.strData = "";
}
else if (bitVoicer.strData == "más oscuro")
{
Si (lightLevel > 0)
{
lightLevel-= 85;
analogWrite (pinR, lightLevel);
analogWrite (pinY, lightLevel);
analogWrite (pinG, lightLevel);
}
bitVoicer.strData = "";
}
otra cosa
{
Serial.println ("ERROR:" + bitVoicer.strData);
bitVoicer.strData = "";
}
}

Este esbozo utiliza la librería de Arduino BitVoicer que puede ser descargado de th.

El esquema de voz BitVoicer que reconoce el discurso se muestra en el video está disponible en: http://www.justbuss.xpg.com.br/BitVoicerTest.zip (tienes que tener el BitVoicer instalado para abrirlo).

Espero que ustedes tienen diversión con ella!

Artículos Relacionados

Arduino voz / reconocimiento de voz con el módulo de Geeetech [Tutorial]

Arduino voz / reconocimiento de voz con el módulo de Geeetech [Tutorial]

Cómo: Arduino voz / reconocimiento de voz con el módulo de Geeetech [Tutorial]. Este video le mostrará cómo hablar con tu Arduino con el módulo de control de voz Geeetech (barato). Entonces puede utilizar el código para controlar un motor o hacer luc
Reconocimiento de voz con Arduino y el servidor de BitVoicer

Reconocimiento de voz con Arduino y el servidor de BitVoicer

En este Instructable voy a mostrar cómo usar una placa Arduino y el Servidor de BitVoicer para controlar unos LEDs con comandos de voz. Que usando el Arduino Micro en este Instructable, pero puede utilizar cualquier placa de Arduino que tiene a mano.
Reconocimiento de voz con Arduino

Reconocimiento de voz con Arduino

en este proyecto utilizo de BitVoicer características de reconocimiento de discurso (http://www.bitsophia.com/BitVoicer.aspx), una placa Arduino y un micrófono electret (https://www.sparkfun.com/products/9964) para controlar unos LEDs.Este proyecto e
Inalámbrica de Streaming de Audio y reconocimiento de voz con Arduino

Inalámbrica de Streaming de Audio y reconocimiento de voz con Arduino

en este proyecto conecto mi placa de Arduino a un módulo WiFly (https://www.sparkfun.com/products/10822) de las redes de la vagueación y stream de audio a la PC, para que BitVoicer (http://www.bitsophia.com/BitVoicer.aspx) puede realizar reconocimien
Fácil reconocimiento de voz - habla a tu Arduino Serial Cable

Fácil reconocimiento de voz - habla a tu Arduino Serial Cable

Por qué utilizar escudo de reconocimiento de voz mientras tenga esta característica desde tu smartphone (Android). En este tutorial sabes como fácil de usar reconocimiento de voz para comandos de voz enviar a tu Arduino usando la aplicación BlueAct.U
Reconocimiento de voz y síntesis con Arduino

Reconocimiento de voz y síntesis con Arduino

En mi Instructable anterior mostré cómo controlar unos LEDs utilizando una placa Arduino y el Servidor de BitVoicer. En este Instructable, voy a hacer las cosas un poco más complicadas. También voy a sintetizar discurso utilizando el Arduino DUEconve
Cómo utilizar un módulo de reconocimiento de voz serie - Arduino Tutorial

Cómo utilizar un módulo de reconocimiento de voz serie - Arduino Tutorial

En este tutorial usted aprenderá cómo utilizar un módulo - serial - de reconocimiento de voz con la placa de Arduino uno. Este módulo puede almacenar hasta 15 comandos de voz. Ésos se dividen en 3 grupos, con 5 comandos en cada grupo.Primero debemos
Voz de Control Arduino con reconocimiento de voz de Windows 7

Voz de Control Arduino con reconocimiento de voz de Windows 7

En primer lugar, siento cualquier ortografía o errores de gramática que se pueden encontrar aquí, como el inglés no es mi idioma nativo.Esto hice instructable porque no he visto uno que se centra en este tema, así que quería compartir este método. Es
Control de dispositivos por comando de voz con arduino y android

Control de dispositivos por comando de voz con arduino y android

Este ible servirá preguntas como, cómo a los dispositivos de control por comandos de voz, reconocimiento de voz disponible en android.Todos los dispositivos androides viene con el reconocimiento de voz incorporado. Esto puede ser usado para convertir
Reconocimiento de voz de Arduino Via Bluetooth HC-05

Reconocimiento de voz de Arduino Via Bluetooth HC-05

Es realmente fácil y rápido de agregar control de voz para su proyecto de arduino. Si se trata de inicio de automatización o cerradura de la puerta o robots, control de voz podría ser un ojo captura característica en un proyecto de arduino. En este t
SOS demonio con reconocimiento de voz!

SOS demonio con reconocimiento de voz!

El concepto es crear un programa de alarma de seguridad. Cuando hay un peligro, usuario gritará "heeelp!" y Arduino iniciará una alarma, señales en código Morse a través de los led. Cuando el peligro se ha ido, usuario puede decir "Cancelar
Reconocimiento de voz de Arduino. (Básico)

Reconocimiento de voz de Arduino. (Básico)

Hola chicos, hoy tenemos un gran proyecto para usted. Reconocimiento de voz de Arduino! Utilizamos el VR fácil y un Arduino. Este proyecto le enseñará cómo usar el easyVR para reconocimiento de voz: Nota: reconocimiento de voz es diferente de reconoc
Robot - reconocimiento de voz

Robot - reconocimiento de voz

Pido disculpas si encuentra errores de ortografía o de texto sin sentido, mi idioma es el español y no ha sido fácil de traducir, mejoro mi inglés para continuar componiendo instructables.Paso 1: pedazos.Es interesante encontrar estas piezas cuando s
Cómo utilizar el reconocimiento de voz ES6928P hablar System_Stand-solo, NO PC requiere

Cómo utilizar el reconocimiento de voz ES6928P hablar System_Stand-solo, NO PC requiere

Hola todo el mundo!  ¡ Bienvenido a mi Instructable!Gracias por tener un vistazo.  Hace unos ocho meses decidí que uno de mis nuevos emprendimientos sería crear un sistema de reconocimiento de voz que podría ser entrenado manualmente y sin necesidad