Hola a todos! Paso a comentar... Soy novato en el manejo del arduino y hace poco compré un módulo de reconocimiento de voz que permite almacenar instrucciones de unos pocos segundos, pudiendo asi activar alguna salida y manejar algun circuito por medio de la voz. Los componentes que utilizo son:
- Voice Recognition Module V3
- Arduino Nano
- Adaptador Conversor PL2303 Serial TTL a USB
Para poder programar el modulo en cuestion, el fabricante nos muestra en su manual dos formas de poder llevarlo a cabo. Uno de ellos seria mediante arduino, donde el fabricante ofrece las librerias ya preparadas con el código fuente donde lo único que se debe alterar es cuando se establece el uso del puerto serial TX y RX:
#include <SoftwareSerial.h>
#include "VoiceRecognitionV3.h"
/**
- Connection
- Arduino VoiceRecognitionModule
- 6 -------> TX
- 5 -------> RX
*/
VR myVR(6,5); // 6:RX 5:TX, you can choose your favourite pins.
En mi caso como es Arduino Nano, utilicé dos entradas digitales de software como puerto de envio de bus de datos (D2 y D3) en vez de utilizar el RX y TX del hardware del Arduino (D0 y D1).
Luego en "Herramientas" configure el Arduino Nano que utilizo, el procesador ATmega328P (Old bootloader) y active el puerto COM7.
En cuanto al circuito, conecté el 5v pin del Arduino al VCC del módulo, el GND del Arduino a GND del módulo, RX del módulo con TX del Arduino y TX del módulo con RX del Arduino.
Una vez compilado y subido el programa, abro el monitor serie donde pongo una velocidad de sincronizacion de 115200 baudios y activo "Newline", donde me aparece el menú de comandos a utilizar para poder grabar, borrar, etc... en mi caso deseo grabar una palabra, para ello debo utilzar el comando "sigtrain 0 EJEMPLO" y en vez de empezar a grabar y parpadear el led, me salta un mensaje de que fallo el tiempo, algo asi como "Check system settings error or timeout" y basicamente no puedo hacerlo andar.
También probe utilizando la segunda manera que ofrece el fabricante, que es usando un conversor TTL a USB y conectarlo al módulo. la conexión es la misma, y del conversor utilizo los 5v en vez de los 3,3v que ofrece tambien. Para escribir un comando de esta manera el fabricante propone utilizar el "ACCESS PORT" que permite manejar el puerto USB y enviar datos. para poder programar el modulo con este programa, segun el manual y segun varias paginas de internet, se debe primero que nada configurar el puerto COM7 que es el que utilizo... luego se debe configurar la velocidad de baudios en 9600, los bit de paridad en NONE, el data bit en 8 y el stop bit en 1. Una vez configurado se debe enviar el comando en formato hexadecimal 00000000: AA 36, y luego para comenzar a grabar se debe enviar 00000000: AA 11, pero el problema resulta en lo mismo, el monitor no me muestra que este haciendo ningun comando ni nada y el módulo esta activado y todo, pero no graba nada y tampoco parpadea el led de señalización, y puedo notar que en el programa el RX va subiendo su valor pero TX queda en cero. Es como si el módulo no respondiera y no le puedo encontrar solución. Si alguno está mas metido en el tema me vendria genial una mano.
El manual es el siguiente:
Las librerias con el programa la van a encontrar en el manual de Arduino que me da el fabricante.
MUCHAS GRACIAS!