Pages: [1]   Go Down
Author Topic: SOLUCIONADO!!!!!!!!!!!! Necesito ayuda con Mando wii Nunchuck para mover servos.  (Read 2504 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola en  primer lugar saludos a todos y decir que soy novato en esto, he echo alguna cosita pero siempre copiando ejemplos y siguiendo las instrucciones, como conectar una pantalla ldc a arduino y modificar varios paretros para que escriba lo que yo quiero en la pantalla, poner un medidor de distancia mediante el ultrasonidos, mover un servo basicamente y poca cosa mas, en cuanto a pogramacion estoy muy muy pez, pero voy mirando ejemplos e intentando comprender cada cosa para que sirve y como.

Bueno a lo que vengo es que el mando Nunchuck cargo la libreria que viene en un ejemplo que hay en youtube con el mando y leds y perfecto.
Pero despues he visto unos cuantos ejemplos con el mismo mando y moviendo servos y el programa siempre me da error, el adruino que yo tengo es el uno, no si esque la programacion que copio es antigua y el arduino este no me reconoce algunos comandos porque han cambiado o no se que es lo que hago mal porque no hay manera siempre me da error ya en la programacion.

Si alguien me puede explicar o pasar el codigo y el diagrama de conexionado por favor, ya no se que mas probar.
Otra cosa que me pierde bastante es que cuando entras en la libreria para el mando Nunchuck en la pagina de arduino hay varias librerias, creo entender que una es para las versiones antiguas y la otra es para la version 1.0  e incluso hay creo ententer varios ejemplos con un cubo que tampoco se como se acaba de hacer o si necesito algo mas.
Aqui esta la libreria:
 http://www.arduino.cc/playground/Main/WiiChuckClass
en los ejemplos con servos tambien cargo la libreria servos pero no hay manera siempre da algun error en la programacion, decir que los ejemplos ya tienen su tiempo y quizas sea problema de la programacion que usa terminos que ya no se utilizan.

Si alguien me puede echar un cable y pasarme las librerias y codigos  o decirme algun ejemplo que sea actual o que ustedes esten utilizando para manejar servos con este mando por favor estaria muy agradecido.
Gracias y saludos a todos.

Bueno gracias a una persona que conoci gracias a unos videotutoriales que pone en youtube y despues de hacerle la consulta aqui esta la solucion que me aporto, la pongo aqui gracias a su consentimiento y por si quereis ver videotutoriales suyos que seguro que a mas de uno le sera de ayuda. Desde aqui agradecerle otra vez todas las molestias para ayudarme.



Aqui teneis el enlace, debajo del video en la explicacion estan los archivos para descargar el CODE.[/font]
Saludos.
[/color]
[/color]



« Last Edit: September 05, 2012, 04:49:08 pm by stoki57 » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-cry Bufff, veo que nadie lo a realizado y puede ayudarme...............

Dejo el codigo que he utilizado para poder encender los leds con el mando, depende como lo muevas se encienden mas leds.
Si alguien me dice por favor partiendo aunque sea de este  codigo si se puede que tengo que modificar para mover los servos en vez de encender los leds.

este es el codigo::


#include <wiichuk.h>

#include <WiiChuck.h>
#include <Wire.h>


int cnt;
WiiChuck chuck = WiiChuck();

//Setup de la aplicacion
void setup() {
  cnt=13;
  int i;
  Serial.begin(9600);
  chuck.begin();
  chuck.update();
  for(i=4;i<14;i++){
    pinMode(i,OUTPUT);
  }
}

//Funcion para encender los leds
void visualizar (int val){
  int i;
  val=12-val;
  for(i=val;i>3;i--)digitalWrite(i,LOW);
  for(i=12;i>val;i--){
    digitalWrite(i,HIGH);
    delay(2);
  }
 
}

void loop() {
  byte valor;
  int roll,pitch;
  int Z; 
  chuck.update();
 
  // Visualizacion de valores
  valor = chuck.joyX;
  roll = chuck.readRoll();
  pitch = chuck.readPitch();
  Serial.print("\nValor: ");
  Serial.print(valor,DEC);
  Serial.print("   Roll: ");
  Serial.print(roll,DEC);
  Serial.print("   Pitch: ");
  Serial.print(pitch,DEC);
 
  //Encender leds por inclinacion
  if (roll>=0&&roll<10){
    visualizar(0);
  }
  else if (roll>=10&&roll<20){
    visualizar(1);
  }
  else if (roll>=20&&roll<30){
    visualizar(2);
  }
  else if (roll>=30&&roll<40){
    visualizar(3);
  }
  else if (roll>=40&&roll<50){
    visualizar(4);
  }
  else if (roll>=50&&roll<60){
    visualizar(5);
  }
  else if (roll>=60&&roll<70){
    visualizar(6);
  }
  else if (roll>=70&&roll<80){
    visualizar(7);
  }
  else if (roll>80&&roll<90){
    visualizar(smiley-cool;
  }
  else if (roll>90&&roll<100){
    visualizar(9);
  }
 
  else if(roll<0 || roll>100){
    visualizar(0);
  }


  delay(50);

  //encender el led integrado al pulsar Z del mando 
  Z = chuck.buttonZ;
  if (Z==1){
  digitalWrite(13,HIGH);
  }
  else{
    digitalWrite(13,LOW);
  } 
}



Gracias de nuevo..
Logged

COM22
Offline Offline
God Member
*****
Karma: 6
Posts: 702
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Utilizando la función map(); puedes transformar un tamaño de valores en otro y creo que te puede servir para lo que quieres hacer.
Logged


Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Lo siento JRodrigo pero estoy muy muy verde para entender cómo hacerlo usando lo que me comentas.
Por ello pedía sí alguien  lo ha realizado y quiere compartir el código y a partir de ahí ir investigando y modificando para llegar a entender un poco cómo funciona.
He puesto el código que utilizo para los leds por si  hay alguna manera sencilla o que yo llegué a entender poder hacer para cambiar los leds  por servos,  pero quizás sea más complicado de lo que me pensaba.
Ojo no espero que nadie me lo programe eh, simplemente sí alguien lo a realizado y puede o quiere compartirlo.
Muchas gracias de nuevo.
« Last Edit: June 29, 2012, 11:37:07 pm by stoki57 » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola................ smiley-cry
Sigo con la busqueda de como poder hacer el movimiento de servos con el mando de la wii Nunchuck.......hasta ahora sigo probando los codigos ANTIGUOS que he encontrado por ahi pero me siguen dando fallos diciendome que esos codigos no existen o que han sido renombrados y no hay manera, como dije anteriormente con las luces y el emplo que puse perfecto pero no se como transladar las luces a movimientos con los servos.
POR FAVOR si alguien sabe de alguna pagina donde pueda encontrar iformacion mas reciente o que funcione que me lo diga, ya no se como buscarlo, seguramente estar tiene que estar esa informacion pero ya no se por donde buscar..
Gracias de nuevo
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 9
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Solucion en el primer mensaje.
Logged

Pages: [1]   Go Up
Jump to: