Arduino animatronics-hacer tu vestuario impresionante más impresionante! (13 / 15 paso)

Paso 13: Ir inalámbrico con XBee


Ejemplo 9-XBee Wireless radios

Esto le permite utilizar el control Nunchuck pero no al configurar un controlador como transmisor y otro controlador como el receptor. Utilizar el adaptador inalámbrico Adafruit XBee porque es super fácil de usar y puede trabajar a 3V y 5V por lo que es ideal para cualquier proyecto inalámbrico de Arduino. El tablero servo está configurado para la comunicación punto a punto y el adaptador XBee se conecta directamente a un enchufe en la parte superior de la Junta. Esta configuración sería muy bien para controlar la casa embrujada de interés.

Usted puede conseguir el adaptador XBee y radios aquí-
http://www.Adafruit.com/index.php?main_page=product_info&cPath=29&products_id=126

Hay un completo tutorial de XBee para construir el adaptador XBee y configurarlo aquí-
http://www.Ladyada.net/make/XBEE/

A diferencia del código de control nuchuck anterior, este código utiliza una nueva biblioteca de nunchuck que limpia mucho el código. Se llama nunchuck_funcs.h
Usted puede conseguirlo aquí,
http://todbot.com/blog/2008/02/18/WiiChuck-Wii-nunchuck-Adapter-available/comment-Page-3/

Simplemente coloque la biblioteca nunchuck_funcs.h en la carpeta de las bibliotecas de Arduino y eres bueno para ir.

El cableado para esto es exactamente como el cableado por ejemplo 6 excepto el nunchuck es conectado con el transmisor y los servos y los LEDs están conectados al receptor.

Nota: no se puede conectar el USB al adaptador serial mientras que está enchufado el adaptador XBee en su toma ya que utilizan las mismas líneas de transmisión de datos. Debe programar el controlador primero y luego conecte el adaptador XBee. Si usted necesita ser capaz de controlar el puerto serie utilizando el XBee puede utilizar un par de cables para conectarse el XBee RX y TX pines 2 y 3 de salida digital como se muestra en el tutorial de punto a punto de Adafruit.

Aquí está el código para el transmisor-

/*
* Ejemplo 9a
* Transmisor XBee Nunchuck
* Este código utiliza la biblioteca de funciones del nunchuck y una radio XBee (w / adaptador de Adafruit XBee)
* hacer un nunchuck de Wii un dispositivo de entrada inalámbrico
* Honus 2010
* Nunchuck funciona biblioteca de Tod E. Kurt, http://todbot.com/blog
*/

#include "Wire.h" / / incluir la biblioteca de alambre
#include "nunchuck_funcs.h" / / incluir la biblioteca de funciones nunchuck

int loop_cnt = 0;

accx bytes, accy, zbut, cbut, joyx joyy,
int ledPin = 13;

void setup()
{
Serial.Begin(9600);
nunchuck_setpowerpins();
nunchuck_init(); enviar el protocolo de inicialización
pinMode (ledPin, salida);
}

void loop()
{
digitalWrite (ledPin, HIGH);   prende el LED

Si (loop_cnt > 100) {/ / cada 100 milisegundos Obtén nuevos datos
loop_cnt = 0;

nunchuck_get_data();

accx = nunchuck_accelx(); se extiende de aproximadamente 70-182
Accy = nunchuck_accely(); se extiende de aproximadamente 65-173
zbut = nunchuck_zbutton();
CBUT = nunchuck_cbutton();
joyx = nunchuck_joyx();
joyy = nunchuck_joyy();

Serial.Print("joyx:");
Serial.Print((byte)joyx,DEC);
Serial.Print("joyy:");
Serial.Print((byte)joyy,DEC);
Serial.Print("accx:");
Serial.Print((byte)accx,DEC);
Serial.Print("Accy:");
Serial.Print((byte)Accy,DEC);
Serial.Print("\tzbut:");
Serial.Print((byte)zbut,DEC);
Serial.Print("\tcbut:");
Serial.println((byte)CBUT,DEC);
}
loop_cnt ++;
Delay(1);
}

Aquí está el código para el receptor-

/*
* Ejemplo 9b
* Receptor Nunchuck XBee
* Este código recibe la entrada de un nunchuck de Wii usando un radio XBee (w / adaptador de Adafruit XBee)
* y controles cuatro servos y dos pines digitales para encender LEDs
* Honus 2010
*/

#include "Servo.h" / / incluye la librería Servo

int joyx, joyy = 135;
accx int, accy = 135;
int zbut, cbut = 0;
ledPin1 int = 13;
int ledPin2 = 12;
int lightvalue1 = 255;
int lightvalue2 = 255;
char nunchuckData;
int val = 0;
tempval int = 0;
int servo1Pos;
int servo2Pos;
int servo3Pos;
int servo4Pos;
int buttonState1 = 0;
int buttonState2 = 0;
int lightMode1 = 0;
int lightMode2 = 0;

Servo1 servo;
Servo servo2;
Servo servo3;
Servo servo4;

int servoPin1 = 9;
int servoPin2 = 8;
int servoPin3 = 7;
int servoPin4 = 6;

void setup()
{
Serial.Begin(9600);
Serial.Print ("Nunchuck ready\n");
Serial.Begin(9600);

servo1.Attach(servoPin1);
servo2.Attach(servoPin2);
servo3.Attach(servoPin3);
servo4.Attach(servoPin4);
pinMode (ledPin1, salida);
pinMode (ledPin2, salida);
}

void loop() {}

Si {} (accy > 125)
servo1Pos = 90-(accy-125);
Si (servo2Pos < 45)
servo1Pos = 45;
servo1.Write(servo1Pos);
}
Si {} (accy < 125)
servo1Pos = 90+(125-accy);
Si (servo1Pos > 135)
servo1Pos = 135;
servo1.Write(servo1Pos);
}


Si {} (accx > 125)
servo2Pos = 90-(accx-125);
Si (servo2Pos < 45)
servo2Pos = 45;
servo2.Write(servo2Pos);
}
Si {} (accx < 125)
servo2Pos = 90+(125-accx);
Si (servo2Pos > 135)
servo2Pos = 135;
servo2.Write(servo2Pos);
}

Si {} (joyy > 125)
servo3Pos = 90-(joyy-125);
Si (servo3Pos < 45)
servo3Pos = 45;
servo3.Write(servo3Pos);
}
Si {} (joyy < 125)
servo3Pos = 90+(125-joyy);
Si (servo3Pos > 135)
servo3Pos = 135;
servo3.Write(servo3Pos);
}


Si {} (joyx > 125)
servo4Pos = 90-(joyx-125);
Si (servo4Pos < 45)
servo4Pos = 45;
servo4.Write(servo4Pos);
}
Si {} (joyx < 125)
servo4Pos = 90+(125-joyx);
Si (servo4Pos > 135)
servo4Pos = 135;
servo4.Write(servo4Pos);
}

Si (cbut! = buttonState1) {/ / el estado de botón ha cambiado!
Si (cbut == 1) {/ / comprobar si se presiona el botón
Si (lightMode1 == 0) {/ / la luz está apagada
lightMode1 = 1;               luz está encendida!
digitalWrite (ledPin1, HIGH);
} else {}
lightMode1 = 0;               luz está encendida!
digitalWrite (ledPin1, LOW);
}
}
}

Si (zbut! = buttonState2) {/ / el estado de botón ha cambiado!
Si (zbut == 1) {/ / comprobar si se presiona el botón
Si (lightMode2 == 0) {/ / la luz está apagada
lightMode2 = 1;               luz está encendida!
digitalWrite (ledPin2, HIGH);
} else {}
lightMode2 = 0;               luz está encendida!
digitalWrite (ledPin2, LOW);
}
}
}
buttonState1 = cbut;               guardar el nuevo estado en nuestra variable
buttonState2 = zbut;               guardar el nuevo estado en nuestra variable



{while(serial.Available())}
tempVal = Serial.read();
Si (tempval == 'x') {}
nunchuckData = 'x';
Val = 0;
}
else if (tempval == 'y') {}
nunchuckData = 'y';
Val = 0;
}
else if (tempval == 'X') {}
nunchuckData = 'X';
Val = 0;
}
else if (tempval == 'Y') {}
nunchuckData = 'Y';
Val = 0;
}
else if (tempval == 'Z') {}
nunchuckData = 'Z';
Val = 0;
}
else if (tempval == 'C') {}
nunchuckData = 'C';
Val = 0;
}
else if (tempval > = '0' & & tempval < = '9') {}
Val = val * 10;
Val = val + (tempval - '0');

Si (nunchuckData == 'x') {}
joyx = val;
}
else if (nunchuckData == 'y') {}
joyy = val;
}
else if (nunchuckData == 'X') {}
accx = val;
}
else if (nunchuckData == 'Y') {}
Accy = val;
}
else if (nunchuckData == 'Z') {}
zbut = val;
}
else if (nunchuckData == 'C') {}
CBUT = val;
}
}
} //end de entrada búfer serial
}

Artículos Relacionados

Hacer un sofá impresionante muñeca Chic y elegante (fácil-NO-coser)

Hacer un sofá impresionante muñeca Chic y elegante (fácil-NO-coser)

Hacer que este increíble sofá de 2 colores elegante y chic para tus muñecas y figuras de acción.Es fácil, barato y sin coser!!Mira nuestro video tutorial aquí:O leyendo para un completo paso a paso las instrucciones con fotos.:-)Paso 1: Para hacer el
Hacer jabón impresionante

Hacer jabón impresionante

este es el proceso que utilizo para hacer jabon personalizado impresionante.Mi esposa y yo hemos hecho jabones personalizados como favores, regalos y eventos para recaudar fondos.Ordeno mi jabón que hace fuentes de http://www.elementsbathandbody.com/
Conectar el arduino y hacer que el altavoz

Conectar el arduino y hacer que el altavoz

para hacer tu Arduino para jugar una melodía necesita accesorios de thes.Un altavoz de 5 ohmUna placa de Arduino unoUn Push buttomUno 10 kohm resistencia8 LED ' sY un montón de cables de núcleoPaso 1: Conectar el arduino y hacer que el altavoz Se tra
Cómo hacer una comida impresionante

Cómo hacer una comida impresionante

estos pasos van a hacer un impresionante. Puede estar intentando impresionar a tu cita, o quiera demostrar a alguien que realmente puede tirar hacia abajo en la cocina. Sea cual sea la situación es, estos pasos le ayudarán.Paso 1: Ajuste de mesa prim
Cómo hacer una camiseta impresionante

Cómo hacer una camiseta impresionante

cómo hacer una camiseta impresionante con pintura de tela.Paso 1: fuentes de Suministros que necesitarás:CamisetaCartón y cartulinaAlmohadilla de corte y cuchilloPintura de tela + cepillo de espumaHierroPapel de aluminioPaso 2: Paso 1: hacer la plant
RFIDuino - usando un lector de RFID y Arduino para hacer un rompecabezas GeoCache

RFIDuino - usando un lector de RFID y Arduino para hacer un rompecabezas GeoCache

disfruto de Geocaching y electrónica y han hecho un par de electrónico puzzle-caches utilizando un Arduino.Mi más reciente creación (con la ayuda de un compañero cacher del código) está utilizando un Arduino y RFID lector para hacer un geocaché de ro
Hacer un reloj impresionante de Sugru + ramitas

Hacer un reloj impresionante de Sugru + ramitas

En el funcionamiento hasta las vacaciones de Navidad este año que estamos compartiendo una idea de genio cada día, durante 24 días! (algo así como un calendario de Adviento) De ideas para preparar la casa, a hacer regalos impresionantes y planificaci
Cómo hacer un minecraft impresionante piscina y trampolín!

Cómo hacer un minecraft impresionante piscina y trampolín!

Cómo hacer un minecraft piscina y trampolín muy fácilmente y muy rápido y es realmente bueno para partes en minecraft para fin de año 2015 y a pasar un buen rato y espero que ustedes esta y deciden hacerlo usted mismo porque es tan impresionante y di
Cómo hacer un burdel impresionante!

Cómo hacer un burdel impresionante!

Para mi gato impresionante J fue escalada dentro y fuera de una caja de aire acondicionado. Es un poco más así que pensé que quieran mudarse a su propio. Con un poco de creatividad y tiempo libre, hice "burdel de Crazy J!Paso 1: Cortar la caja. No el
Hacer una tortilla impresionante

Hacer una tortilla impresionante

Tortillas son deliciosas y la belleza de ella es las combinaciones que usted puede hacer para hacer emocionantes nuevos sabores.Paso 1: ingredientes -2eggs-atún/jamón-amarillo queso mozzarella/queso/blanco-medio tomate o / y setas/nada de uso-Aceite-
Cómo hacer una tarjeta impresionante con bolso de té plegable

Cómo hacer una tarjeta impresionante con bolso de té plegable

plegable del bolso de té es una forma grande, divertida y fácil de hacer tarjetas grandes y decorar prácticamente cualquier cosa! Requiera ninguna herramienta especial y es barato, también. Además, una tarjeta hecha en casa es muy especial para algui
Hacer un reloj impresionante con palos de polo!

Hacer un reloj impresionante con palos de polo!

Permite hacer un genial reloj con bolas y palos de polo! También no se olvide de revisar mi video al final de esta insuperable!Lo que necesita-Cuartos de galón del kit del movimiento relojPalos de polo - 44 +Perlas de Pony de color elegido - 84 +CDTa
Cómo hacer una tortilla impresionante

Cómo hacer una tortilla impresionante

En este instructable le mostraré cómo hacer una tortilla bonito, caliente, perfectamente coloreado...Paso 1: Lo que usted necesita - Pan-Espátula-Cuchillo-Mantequilla-Estufa (obviamente)-2 o 3 huevos-Queso-Carne; tocino, jamón, etc. (opcional)Paso 2:
Cómo hacer una foto impresionante, personalizada!

Cómo hacer una foto impresionante, personalizada!

me encanta hacer fotos personalizadas! Sé que será, por lo que le mostrará cómo! Me decidí a la mía sobre mi gato!Lo siento si no aparece la foto entera!Paso 1: Descargar la aplicación Por lo tanto, usted tendrá que descargar la aplicación que le ayu