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 es similar a la de mi primer (de correos), pero ahora usar streaming de audio para enviar audio a BitVoicer.

El esquema de fritzing que añadí a este instructable muestra cómo alambré mi placa de Arduino.

También estoy agregando un par de fotos y un video de YouTube del proyecto.

Por desgracia, el bosquejo que escribí para mi primer post ya no es compatible con la nueva versión de BitVoicer. Aquí está el bosquejo nuevo:

#include < BitVoicer11.h >

Crea una instancia de la clase BitVoicerSerial
BitVoicerSerial bvSerial = BitVoicerSerial();

True si tiendas la herramienta de calibración de Audio Streaming
se está ejecutando
sampleTest boolean = false;
Almacena el tipo de datos obtenido por getData()
tipo de datos byte = 0;
Configura los pines y variables por defecto
pinR int = 3;
int pinY = 5;
pinG de int = 6;
int lightLevel = 0;

void setup()
{
Establece la referencia analógica externa (pin AREF)
¡ ADVERTENCIA! Si nada es conectado al pin AREF,
Esta función debe ser llamada primero. De lo contrario, será
dañar la Junta.
bvSerial.setAnalogReference(BV_EXTERNAL);
Configura el microcontrolador para realizar más rápidos analógicos lecturas
en el pin especificado
bvSerial.setAudioInput(0);
Comienza comunicación serie a 115200 bps
Serial.Begin(115200);
Configura la pinModes
pinMode (pinR, salida);
pinMode (pinY, salida);
pinMode (pinG, salida);
}

void loop()
{
Captura audio y lo envía a BitVoicer si el Audio
Herramienta de calibración de streaming se está ejecutando
Si (sampleTest == true)
{
El valor pasado a la función es el tiempo
(en microsegundos) que la función tiene que esperar antes de
realizar la lectura. Se utiliza para alcanzar sobre
8000 lecturas por segundo.
bvSerial.processAudio(46);
}

Captura audio y lo envía a BitVoicer si el discurso
Reconocimiento está en marcha
Si (bvSerial.engineRunning)
{
El valor pasado a la función es el tiempo
(en microsegundos) que la función tiene que esperar antes de
realizar la lectura. Se utiliza para alcanzar sobre
8000 lecturas por segundo.
bvSerial.processAudio(46);
}
}

Esta función se ejecuta cada vez que los datos en serie están disponibles
en el buffer serial después de un bucle
void serialEvent()
{
Lee el buffer serial y almacena el tipo de datos recibidos
tipo de datos = bvSerial.getData();

Cambia el valor de sampleTest si los datos recibidos fue
el comando de muestreo de arranque/parada
Si (dataType == BV_COMMAND)
sampleTest = bvSerial.cmdData;

Señales motor de BitVoicer de reconocimiento de voz para iniciar
escuchar streams de audio después del estado de engineRunning
fue recibido
Si (dataType == BV_STATUS & & bvSerial.engineRunning == true)
bvSerial.startStopListening();

Comprueba si el tipo de datos es el mismo que el de la
Esquema de la voz
Si (dataType == BV_STR)
setLEDs();
}

Realiza los cambios de LED según el valor de
bvSerial.strData
void setLEDs()
{
Si (bvSerial.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);
lightLevel = 0;
}
else if (bvSerial.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);
lightLevel = 0;
}
else if (bvSerial.strData == "RH")
{
digitalWrite (pinR, HIGH);
lightLevel = 255;
}
else if (bvSerial.strData == "RL")
{
digitalWrite (pinR, LOW);
lightLevel = 0;
}
else if (bvSerial.strData == "YH")
{
digitalWrite (pinY, alto);
lightLevel = 255;
}
else if (bvSerial.strData == "YL")
{
digitalWrite (pinY, baja);
lightLevel = 0;
}
else if (bvSerial.strData == "GH")
{
digitalWrite (pinG, HIGH);
lightLevel = 255;
}
else if (bvSerial.strData == "GL")
{
digitalWrite (pinG, LOW);
lightLevel = 0;
}
else if (bvSerial.strData == "ALLON")
{
digitalWrite (pinR, HIGH);
digitalWrite (pinY, alto);
digitalWrite (pinG, HIGH);
lightLevel = 255;
}
else if (bvSerial.strData == "ALLOFF")
{
digitalWrite (pinR, LOW);
digitalWrite (pinY, baja);
digitalWrite (pinG, LOW);
lightLevel = 0;
}
else if (bvSerial.strData == "más brillante")
{
Si (lightLevel < 255)
{
lightLevel += 85;
analogWrite (pinR, lightLevel);
analogWrite (pinY, lightLevel);
analogWrite (pinG, lightLevel);
}
}
else if (bvSerial.strData == "más oscuro")
{
Si (lightLevel > 0)
{
lightLevel-= 85;
analogWrite (pinR, lightLevel);
analogWrite (pinY, lightLevel);
analogWrite (pinG, lightLevel);
}
}
otra cosa
{
bvSerial.startStopListening();
bvSerial.sendToBV ("ERROR:" + bvSerial.strData);
bvSerial.startStopListening();
}
}

El esquema de la voz de BitVoicer usé puede descargarse de: http://www.justbuss.xpg.com.br/BitVoicerTest2.zip (tienes que tener el BitVoicer instalado para poder abrirlo).

Ahora quiero controlar algunas cosas (luces y ventilador celling) en casa. Sugerencias son bienvenidas.

Artículos Relacionados

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.
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
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
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
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
Sin ataduras, reconocimiento de voz y síntesis de voz con Arduino

Sin ataduras, reconocimiento de voz y síntesis de voz con Arduino

MOVI 'Mi propia voz interfaz' y es un escudo de Arduino con respaldo de kickstarter que hace muy fácil construir tus propios diálogos discurso a dispositivos de control en el IDE de Arduino. Este instructable rápida le muestra cómo empezar a configur
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
Reconocimiento de voz con BitVoicer y Arduino

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 pued
Reconocimiento de voz de Arduino con Android

Reconocimiento de voz de Arduino con Android

Hola amigos!! Desde mi primer tutorial para controlar motores con Android me preguntaba ¿y si puedo controlar un robot con mi discurso, ¿no sería interesante? Así que con la ayuda del inventor de la aplicación MIT pude controlar Arduino usando Androi
Activado por voz de LEDs con Arduino

Activado por voz de LEDs con Arduino

Este proyecto es una extensión para el reconocimiento de voz con Arduino (leandro4b). Sin embargo, en lugar de usar 3 LEDs de color separados, usé un multicolor RGBW LED emisor de 4 canales. Tuve la oportunidad de trabajar en LED Engin el verano pasa
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
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
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