Arduino animatronics-Vérifiez vos costumes génial plus impressionnants ! (13 / 15 étapes)

Étape 13 : Aller sans fil avec XBee


Exemple 9-sans fil XBee radios

Cela vous permet d’utiliser la commande Nunchuck mais faut-il en mettant en place un contrôleur comme un émetteur et un autre contrôleur que le récepteur. J’utilise la carte sans fil Adafruit XBee parce que c’est super facile à utiliser et peut fonctionner sur 3V et 5V, alors c’est génial pour plus tout projet sans fil de l’Arduino. Le jury de servo est mis en place à la communication point à point et l’adaptateur XBee se branche directement sur une prise au sommet de la Commission. Cette configuration serait vraiment bien pour contrôler les attraits de la maison hantée.

Vous pouvez obtenir l’adaptateur XBee et radios ici-
http://www.Adafruit.com/index.php?main_page=product_info&cPath=29&products_id=126

Il y a un tutoriel complet de XBee pour construire l’adaptateur XBee et en le configurant ici-
http://www.Ladyada.net/make/XBee/

Contrairement à la précédente nuchuck code de contrôle, ce code utilise une nouvelle bibliothèque de nunchuck qui nettoie le code considérablement. On l’appelle nunchuck_funcs.h
Vous pouvez l’obtenir ici-
http://todbot.com/blog/2008/02/18/wiichuck-Wii-Nunchuck-adapter-available/comment-page-3/

Il suffit de placer la bibliothèque nunchuck_funcs.h dans votre dossier de bibliothèques Arduino et vous voilà prêt à partir.

Le câblage pour cela est exactement comme le câblage par exemple 6 sauf le nunchuck est relié à l’émetteur et les LEDs et les servos sont connectés au récepteur.

Note - vous ne connectez l’adaptateur USB pour série tandis que l’adaptateur XBee est branché sur la prise car ils utilisent les mêmes lignes de transmission de données. Vous devez programmer le contrôleur tout d’abord et puis branchez l’adaptateur XBee. Si vous avez besoin être en mesure de surveiller le port série en utilisant le XBee, vous pouvez utiliser un couple de fils pour connecter le XBee RX et TX au numérique sur les broches 2 et 3 comme indiqué dans le tutoriel de point à point Adafruit.

Voici le code pour l’émetteur-

/*
* Exemple 9 a
* Émetteur de Nunchuck XBee
* Copiez le code suivant utilise la bibliothèque de fonctions nunchuck et une radio XBee (w / adaptateur Adafruit XBee)
* faire un nunchuck Wii un périphérique d’entrée sans fil
* Honus 2010
* Nunchuck fonctions de bibliothèque de Tod E. Kurt, http://todbot.com/blog
*/

#include « Wire.h » / / include de la bibliothèque de fils
#include « nunchuck_funcs.h » / / inclure la bibliothèque de fonctions nunchuck

int loop_cnt = 0 ;

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

void setup()
{
Serial.Begin(9600) ;
nunchuck_setpowerpins() ;
nunchuck_init() ; Envoyer l’initialisation du handshake
pinMode (ledPin, sortie) ;
}

void loop()
{
digitalWrite (ledPin, HIGH) ;   la valeur de la LED sur

Si (loop_cnt > 100) {/ / chaque 100 millisecondes pendant laquelle obtenir de nouvelles données
loop_cnt = 0 ;

nunchuck_get_data() ;

ACCx = nunchuck_accelx() ; varie entre environ 70-182
ACCY = nunchuck_accely() ; varie entre environ 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) ;
}

Voici le code pour le récepteur-

/*
* Exemple 9 b
* Nunchuck XBee récepteur
* Copiez le code suivant reçoit l’entrée d’un nunchuck Wii à l’aide d’une radio XBee (w / adaptateur Adafruit XBee)
* et contrôles quatre servos et deux broches numériques pour allumer les LEDs
* Honus 2010
*/

#include « Servo.h » / / inclure la bibliothèque de Servo

joyx int, joyy = 135 ;
int accx, accy = 135 ;
int zbut, cbut = 0 ;
int ledPin1 = 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 ;

Servo servo1 ;
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, sortie) ;
pinMode (ledPin2, sortie) ;
}

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) {/ / l’état du bouton a changé !
Si (cbut == 1) {/ / vérifier si le bouton est enfoncé
Si (lightMode1 == 0) {/ / le voyant est éteint
lightMode1 = 1 ;               la lumière est sur !
digitalWrite (ledPin1, HIGH) ;
} else {}
lightMode1 = 0 ;               la lumière est sur !
digitalWrite (ledPin1, basse) ;
}
}
}

Si (zbut! = buttonState2) {/ / l’état du bouton a changé !
Si (zbut == 1) {/ / vérifier si le bouton est enfoncé
Si (lightMode2 == 0) {/ / le voyant est éteint
lightMode2 = 1 ;               la lumière est sur !
digitalWrite (ledPin2, HIGH) ;
} else {}
lightMode2 = 0 ;               la lumière est sur !
digitalWrite (ledPin2, basse) ;
}
}
}
buttonState1 = cbut ;               enregistrer le nouvel État dans notre variable
buttonState2 = zbut ;               enregistrer le nouvel État dans notre variable



{while(Serial.available())}
tempVal = Serial.read() ;
Si (tempval == « x ») {}
nunchuckData = « x » ;
Val = 0 ;
}
ElseIf (tempval == « y ») {}
nunchuckData = « y » ;
Val = 0 ;
}
ElseIf (tempval == « X ») {}
nunchuckData = « X » ;
Val = 0 ;
}
ElseIf (tempval == « Y ») {}
nunchuckData = « Y » ;
Val = 0 ;
}
ElseIf (tempval == « Z ») {}
nunchuckData = « Z » ;
Val = 0 ;
}
ElseIf (tempval == « C ») {}
nunchuckData = « C » ;
Val = 0 ;
}
ElseIf (tempval > = « 0 » & & tempval < = « 9 ») {}
Val = val * 10 ;
Val = val + (tempval - « 0 ») ;

Si (nunchuckData == « x ») {}
joyx = val ;
}
ElseIf (nunchuckData == « y ») {}
joyy = val ;
}
ElseIf (nunchuckData == « X ») {}
ACCx = val ;
}
ElseIf (nunchuckData == « Y ») {}
ACCY = val ;
}
ElseIf (nunchuckData == « Z ») {}
Zbut = val ;
}
ElseIf (nunchuckData == « C ») {}
CBUT = val ;
}
}
} //end d’entrée dans le tampon série
}

Articles Liés

Danse de Dave dans un un Arduino basée mouvement sensible costume clair

Danse de Dave dans un un Arduino basée mouvement sensible costume clair

Un Arduino basé mouvement sensible costume clairIl peut également afficher les patrons et autres même si c'est juste la détection de mouvement dans la vid. Il utilise un accéléromètre ADXL335 pour détecter le mouvement des porteurs. Mon ami Dave aima
Vérifiez vos vieilles chaussures brillent à nouveau

Vérifiez vos vieilles chaussures brillent à nouveau

Rendre vos vieilles chaussures nouveau avec quelques paillettes scintillantes !Étape 1: Matériaux de Gather Matériel nécessaire :Vieilles espadrillesCouvercle en plastique ou la paletteColleRuban adhésif de peintreRubanCiseauxPinceau épongePaillettes
Vérifiez vos fléchettes longshot aller plus loin

Vérifiez vos fléchettes longshot aller plus loin

dans ce instructable (mon premier seul) je vais vous montrer comment faire votre Nerf streamline fléchettes aller plus loin par environ 3 à 5 pieds (non mesurés)... au moins ils l'ont fait sur mon longshot. Vos longshot tire 3 pieds en face de vous,
Costume de double-FACE impressionniste !

Costume de double-FACE impressionniste !

Ayant eu un certain succès quelques années en arrière avec mon Costume de Joker impressionniste, pour 2013, j'ai décidé de prendre une fissure à un autre méchant de Batman, Double-Face.  Une de mes raisons pour prendre cette route est que j'ai lassés
Comment rendre votre site génial encore plus impressionnant en le rendant accessible

Comment rendre votre site génial encore plus impressionnant en le rendant accessible

partie 0: IntroductionChaque fois que possible, essayez de concevoir un site Web pour être utilisable par autant de personnes que possible.  Il peut s'agir de personnes qui ne peuvent voir, entendre ou déplacent leur souris bien, ou même du tout.  Vo
Jazzez vos câbles (et plus) avec des bandes de Loom Rainbow

Jazzez vos câbles (et plus) avec des bandes de Loom Rainbow

dans ce instructable nous allons décorer câbles et autres choses, créant une bande standard « queue de poisson » métier à tisser autour d'eux.Un jour férié la caravane des pluies la semaine dernière ma fille de sept ans m'a montré comment faire des b
Capteur de température de l’Arduino entoilage (LM35). LA façon la plus simple

Capteur de température de l’Arduino entoilage (LM35). LA façon la plus simple

Un capteur de température simple à l'aide d'une sonde de température LM35 précision et Arduino. Le circuit enverra série d'informations sur la température que vous pouvez utiliser sur votre ordinateur.Étape 1: matériauxVous aurez besoin :Arduino Uno
Puissance suivi utilisant Arduino et ouvrez une session dans la feuille de Google

Puissance suivi utilisant Arduino et ouvrez une session dans la feuille de Google

Depuis ces dernières semaines, je pensais à faire un projet qui peut m'aider à garder une piste sur mon usages d'énergie quotidienne. Dans ce projet, j'utilise un Conseil de surveillance actuel 30 a. ce Conseil a 6 capteur de courant qui peut lire le
Lumière d’intensité de calcul à l’aide de BH1715 et Arduino Nano

Lumière d’intensité de calcul à l’aide de BH1715 et Arduino Nano

Hier que nous avons travaillé sur l'écran LCD affiche et tout en travaillant sur eux, nous avons réalisé l'importance du calcul de l'intensité lumineuse. L'intensité lumineuse est importante non seulement dans le domaine physique de ce monde, mais il
Mesure de l’accélération à l’aide de H3LIS331DL et Arduino Nano

Mesure de l’accélération à l’aide de H3LIS331DL et Arduino Nano

H3LIS331DL, un accéléromètre linéaire de 3 axes de haute performance de faible puissance est appartenant à la famille de « nano », avec interface numérique I²C. H3LIS331DL a échelles complet sélectionnables de l'utilisateur de ±100g/±200g/±400g et il
Température et humidité suivi à l’aide de SHT25 et Arduino Nano

Température et humidité suivi à l’aide de SHT25 et Arduino Nano

Nous avons récemment travaillé sur divers projets nécessitant la surveillance de l'humidité et température, et puis nous avons réalisé que ces deux paramètres jouent effectivement un rôle essentiel d'avoir une estimation de l'efficacité de fonctionne
Android / Arduino - contrôle d’accès BLUETOOTH porte serrure électrique Strike Lock

Android / Arduino - contrôle d’accès BLUETOOTH porte serrure électrique Strike Lock

Bonjour tout le monde! Aujourd'hui, j'ai fait un soft pour verrouiller et déverrouiller une serrure électrique à l'aide d'un relais, protégé par un mot de passe. L'app est disponible open source ! Il suffit de me contacter ! Contact suivez l'étape su
Thermomètre à matrice de LED

Thermomètre à matrice de LED

Quelques mises à jour ! Le code a été modifié après la virgule est donc dans l'emplacement correct. J'ai aussi ajouté une étape, que j'ai oublié dans la section soddering.Projet en bref :En utilisant une matrice de LED conseil comme un capteur de tem
Self Balancing Scooter Ver 2.0

Self Balancing Scooter Ver 2.0

01/11/2013******************************************************************************************************************Malheureusement la portion de frites IDG500/ADXL335 sur l'accelometer est hors d'usage.Alors ils seront n'est plus la fabricat