Control de servomotores utilizando el mando de la Wii

En unos post anteriores comentamos como funcionaba a grandes rasgos el Nunchuck de la Wii y en otro como controlar servomotores utilizando Arduino. ¿Qué os parece si controlamos los servomotores utilizando el Nunchuck?

 

Pues bien, vamos a hacerlo posible gracias a Arduino. Lo primero que tenemos que hacer es buscar la forma de conectar el Nunchuck por I2c a Arduino, para ello tenemos 2 opciones, o cortamos el cable o nos hacemos un circuito impreso de doble cara que encaje en el conector.

 

En esta guía me voy a decantar por la primera opción, y es que cuando me compré el Nunchuck lo primero que hice fue cortar los cables para ver que pasaba por ahí. Vosotros podéis ser menos destructivos y crearos un conector, los pasos vienen aquí: http://es.makezine.com/archive/2009/11/hecho_en_casa_adaptador_del_wii_nunchuck.html

 

Las conexiones que tenemos que hacer son:

 

  • Blanco a GND
  • Rojo a 3.3 V
  • Verde (Datos) al pin analogico 4
  • Amarilo (Reloj) al pin analogico 5

 

Cargamos el Arduino con la librería para el manejo de I2C y en concreto para recibir datos del Nunchuck. http://www.arduino.cc/playground/Main/WiiChuckClass

 

Modificamos para que en el void loop() (secuencia que se repite siempre) cambie el valor de una salida PWM con el valor que lee por ejemplo del acelerómetro:

 

myservo.write((int)chuck.readAccelX());

//el servomotor cambiará según la orientación del Nunchuck en el eje X

 

Y aquí está el resultado:

 

Espero que os haya gustado.


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *