elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Java [Guía] Patrones de diseño - Parte 1


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  Arduno - Probando el NunChuk
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Arduno - Probando el NunChuk  (Leído 3,384 veces)
Banti

Desconectado Desconectado

Mensajes: 228


NULL


Ver Perfil
Arduno - Probando el NunChuk
« en: 17 Julio 2010, 04:47 »

Buenas ahora es mi turno de hacer un thread hablando de mis expperiencias/experimentos con arduino. Ya que Daemon Freedom parece que esta en alguna menuda playa refresacandose (?) y braulio parece que no tiene el presupuesto para comprarse un potencimetro  :xD

Bueno el tema del NunChuk es simple es hardware que cualquier adolesente tiene en su casa (excepto yo que tuve que pedir prestado  :P) y tiene muy lindas cosillas como es la palanca, los botones y el ... acelerometro!

El problema de la conexion era que tenias 2 opciones romper la ficha propietaria para conectar los cables o comprarte un extraño adaptador que venden por internet. Pero claro habia otra solucion! Hincar las agujas de los cables del protobard al puerto propietario  :xD
http://img819.imageshack.us/i/20100715220158295.jpg/
Tendriamos 4 cables: rojo 3.3v, blanco GND, verde Analog4, amarillo Analog5.

La libreria esta aqui:
http://todbot.com/arduino/sketches/WiichuckDemo.zip

Y aca mi pequeña demo con el cual manejo con el joy 4 led por medio de PWM.
Código:
#include <Wire.h>
#include <C:\nunchuck_funcs.h>

int loop_cnt=0;

byte accx,accy,zbut,cbut,ajjx,ajjy,menx,masx,meny,masy;
int mnx = 3;
int msx = 5;
int mny = 6;
int msy = 9;
int ledPin = 13;

void setup()
{
    pinMode(mnx, OUTPUT);
    pinMode(msx, OUTPUT);
    pinMode(mny, OUTPUT);
    pinMode(msy, OUTPUT);
    nunchuck_setpowerpins();
    nunchuck_init(); // send the initilization handshake
}

void loop()
{
        nunchuck_get_data();
        accx  = nunchuck_accelx(); // ranges from approx 70 - 182      
        accy  = nunchuck_accely(); // ranges from approx 65 - 173
        ajjx  = nunchuck_joyx();
        ajjy  = nunchuck_joyy();    
        zbut = nunchuck_zbutton();
        cbut = nunchuck_cbutton();
        //funcion masx
        if (ajjx > 130)
        {
          if (ajjx > 210)
          {
            masx = 255;
          }
          else
          {
            masx = (ajjx - 120) * 255 / 100;
          }
        }
        else
        {
          masx = 0;
        }
        //funcion menosx
        if (ajjx < 110)
        {
          if (ajjx < 30)
          {
            menx = 255;
          }
          else
          {
            menx = (120 - ajjx) * 255 / 100;
          }
        }
        else
        {
          menx = 0;
        }
        //comienza con los y
        if (ajjy > 25)
        {
          if (ajjy > 210)
          {
            masy = 255;
          }
          else
          {
            masy = (ajjy - 120) * 255 / 100;
          }
        }
        else
        {
          masy = 0;
        }
        //funcion menosy
        if (ajjy < 110)
        {
          if (ajjy < 25)
          {
            meny = 255;
          }
          else
          {
            meny = (120 - ajjy) * 255 / 100;
          }
        }
        else
        {
          meny = 0;
        }
        analogWrite(mnx, menx);
        analogWrite(msx, masx);
        analogWrite(mny, meny);
        analogWrite(msy, masy);
        delay(1);
}
Los valores de X e Y serian: 20 min, 120 medio, 220 max.
Entonces si X o Y llegase a 130/110 se encenderia levemente el led y si supera los 210/30 (cerca del maximo teorico) el led se encedera al maximo.

PD: Si si el codigo es un asco se podria simplificar mucho con matrices pero era una simple prueba.
http://img413.imageshack.us/img413/4775/20100716090827556.jpg


« Última modificación: 17 Julio 2010, 20:34 por Vaati » En línea

@synthesize
Wiki

Desconectado Desconectado

Mensajes: 639


Another Brick in the Wall


Ver Perfil WWW
Re: Arduno - Probando el NunChuk
« Respuesta #1 en: 17 Julio 2010, 05:24 »

Ojalá estuviera en la playa o similar, pero no, estoy de estudios y exámenes XD

Añado el post a la lista en mi post de arduino y en la wiki, saludos

https://sites.google.com/a/elhacker.net/wiki/electronica/arduino

Y por cierto, no pongas la imagen directamente, es demasiado grande y hace incómodo ver el post, pon el enlace o hazla pequeña  :)


« Última modificación: 17 Julio 2010, 05:27 por Daemon Freedom » En línea

braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: Arduno - Probando el NunChuk
« Respuesta #2 en: 18 Julio 2010, 13:24 »

Muy interesante, yo esperaba practicar con el nunchuck en breve, pero no he tenido la oportunidad. Ahora postearé un robot seguidor de luz que he hecho.
En línea

Banti

Desconectado Desconectado

Mensajes: 228


NULL


Ver Perfil
Re: Arduno - Probando el NunChuk
« Respuesta #3 en: 18 Julio 2010, 22:29 »

Muy interesante, yo esperaba practicar con el nunchuck en breve, pero no he tenido la oportunidad. Ahora postearé un robot seguidor de luz que he hecho.
Que bien! Lo esperare con ansias.

PD: Tan lejos te queda la casa de electronica?
En línea

braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: Arduno - Probando el NunChuk
« Respuesta #4 en: 18 Julio 2010, 22:46 »

Muy interesante, yo esperaba practicar con el nunchuck en breve, pero no he tenido la oportunidad. Ahora postearé un robot seguidor de luz que he hecho.
Que bien! Lo esperare con ansias.

PD: Tan lejos te queda la casa de electronica?
Tengo que coger un bus que pasa cada media hora y hace demasiado calor como para ir de poco en poco.

También tiene un componente de vagueza que es ineludible :xD

Ahora lo grabo (el robot) y lo posteo.
En línea

snaker190

Desconectado Desconectado

Mensajes: 26



Ver Perfil WWW
Re: Arduno - Probando el NunChuk
« Respuesta #5 en: 19 Julio 2010, 03:15 »

yo tanbien tenia ese problem ..
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines