martes, 4 de septiembre de 2012

Control de un Servomotor por voz y de forma inálambrica

Pues nada, después de la ultima practica, de envío de mensajes entre Arduinos mediante el módulo de Radio Frecuencia, había que complicarlo un poco, así que nada, manos a la obra.

La idea de hoy es como dice el título, controlar por voz y de forma inalámbrica un Servomotor, empleando el módulo easyVr, dos Arduinos, el módulo de RF y un microservo.
Ya lo habíamos intentado J y yo pero habíamos tenido bastante problema con el ruido que generaba el Servo a la placa de Arduino, lo que impedía la recepción inalámbrica, aparte de la incompatibilidad de la libreria servo.h con virtualwire, etc...

Así que nada... trabajando un poquito en ello, e investigando, poco a poco fuimos encontrando las soluciones, y aquí se puede observar el resultado.





En el vídeo se puede apreciar que el funcionamiento se divide en dos partes, arriba a la izquierda tenemos el primer Arduino que esta conectado al módulo EasyVr y al emisor RF. En la cual se realiza el reconocimiento de voz se procesa y es enviado de forma inalámbrica mediante el emisor.
La segunda parte o receptora(abajo a la derecha), esta formada por el segundo Arduino conectado al Receptor RF, que procesa las ordenes recibidas y gobierna el Microservo.





23 comentarios:

  1. hola podrían subir mas información sobre este proyecto. porque quiero controlar un servo vía RF con ayuda de Arduino, gracias.

    ResponderEliminar
  2. Hola, se programar algo fluido con Arduino y me he comprado el EasyVR y querría pedirte si me podrías mandar un codigo en el que al decir "ENCENDER" se encienda un led(pin13) y al decir "APAGAR" se apague para poder iniciarme y ver como trabaja, muchas gracias anticipadas, un saludo.

    ResponderEliminar
    Respuestas
    1. Hola chino, en primer lugar te recomiendo que te leas el manual, porque yo por ejemplo al principio no lo hice y es un poco locura sino jeje. Tengo pendiente subir una entrada explicando el módulo, haber si un día saco algo de tiempo.. Lo del código, si me facilitas tu email, te envío el código que me sirvió ami de ejemplo para arrancar y algo de información para que te sea mas fácil entender el funcionamiento. Un saludo!

      Eliminar
  3. Jose, interesante, que librería utilizaste para manejar el servo. gracias

    ResponderEliminar
  4. Hola Selwins, perdona por tardar en responderte. Utilice la librería "ServoTimer2.h", ya que la librería "servo.h" es incompatible con virtualwire.
    Un saludo

    ResponderEliminar
  5. Hola Jose, me estoy iniciando en comando por voz EasyVR, y quisiera que me pasaras la programacion como le pasaste a Chino Rodriguez para empezar con EasyVR.
    mi correo electronico: nico_accastello@hotmail.com

    Muchas Gracias!!

    ResponderEliminar
  6. buenas tardes oye me interesa mucho saber un poco mas de este tipo de control serias tan amable en pasarme el esquema y el programa.
    mi correo a.andresclavijo@hotmail.com

    muchas gracias
    y te felicito por los proyectos están muy interesantes y ayudan a las personas que iniciamos con arduino

    ResponderEliminar
  7. Hola. He llegado hasta aquí porque estoy haciendo un proyecto con Arduino en el que tengo virtualwire y servos. Ya me funcionan los servos gracias a la librería ServoTimer2.h.

    El problema que tengo ahora es que al conectar los servos se reduce mucho la distancia efectiva del mando a distancia que se basa en virtualware. De muchos metros paso solo a 2. Seguro que son los servos metiendo ruido a la placa.

    ¿Cómo lo solucionanste?

    Un abrazo

    ResponderEliminar
  8. Hola. Al trabajar con la librería ServoTimer2 Arduino no la reconoce. Al importarla no la marca de naranja como el resto de librerías e instrucciones y al compilar me da errores. alguna sugerencia?.

    ResponderEliminar
  9. oye nos podrias pasar el codigo? tenemos problemas con las librerias

    ResponderEliminar
  10. Hola Zion
    Pasame tu correo e intento enviartelo. Que librerías empleas?

    ResponderEliminar
  11. hola me podrás ayudar a programar 3 servos a rf con potenciometro para cada uno o uno servo con potenciometro y los otros 2 con boton pulsador cada uno (agradeceria si me ayudas con el codigo o una asesoria) ya he provado con las librerias virtual white y rc swich y simpre tengo problemas con mas de un servo (con virtualwrite los servos lso controlod e manera digital) (con rc swich los controlo con liberia pero no puedo controlar los datos del potenciometro) espero tu respuesta mi correo es protecteru@gmail.com

    ResponderEliminar
  12. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  13. hola amigo me podrias pasar el código te lo agradecería amigo mi correo es molimolina61@gmail.com

    ResponderEliminar
  14. hola me podrías mandar los códigos de programación que utilizaste en arduino y el reconocimiento de voz. hector.sanhueza91@gmail.com

    ResponderEliminar
  15. hola me podrías mandar los códigos de programación que utilizaste en arduino y el reconocimiento de voz. hector.sanhueza91@gmail.com

    ResponderEliminar
  16. hola amigos, estoy teniendo dificultades con el reconocimiento ante presencia de ruido, el modulo al escuchar el ruido entiende como si se estan diciendo los comandos entonces este cambia de foma aletoria sin que la persona diga nada a causa del ruido

    ResponderEliminar
    Respuestas
    1. Hola José,
      si a mi me pasó algo similar... se activaba con algunos ruidos ambiente. ¿Que micrófono utilizas? ¿el que lleva la placa? como consejo te recomiendo que utilices órdenes y palabras claras y si usas una orden de trigger mejor.

      Eliminar
  17. Hola crees que me puedas mandar el código porfavor, te lo afradeceria mucho
    pantera.ricardo@hotmail.com

    ResponderEliminar
  18. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  19. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  20. Holaa, crees que también me puedas mandar los códigos que utilizaste por favor

    alexvc6298@gmail.com

    ResponderEliminar
  21. hola, me puedes mandar a mi tmabien el codigo que usaste porfavor?
    gmail:28oruiz@gmail.com

    ResponderEliminar