Tutoriel pour XBee Module et XBee Shield avec Arduino
Vue d'ensemble
L'(ZigBee) Module XBee offre une autre façon de transférer des données sans utiliser de fils.
Voici comment faire:
Le XBee (ZigBee) utilise un émetteur-récepteur sans fil 2,4 GHz pour communiquer avec un autre module XBee (ZigBee). En outre, les modules (XBee ZigBee) sont capables de communiquer avec plus d'un module XBee (ZigBee). Ainsi, cela signifie que vous pouvez créer un réseau de modules XBee partout! Tant qu'ils sont à portée, bien sûr.
Dans ce tutoriel, nous allons fournir comment utiliser le module XBee
en utilisant le bouclier XBee en combinaison avec un conseil de
développement Arduino out-of-the-box. Le module XBee standard sera utilisé, mais vous pouvez utiliser le module XBee Pro ainsi.
Tutoriel
Outils nécessaires:
Le module XBee est un accessoire génial d'avoir, surtout si vous
essayez de communiquer ou de contrôler des périphériques sans utiliser
de fils.
Alors, comment fonctionne la communication sans fil?
Eh bien, en un mot, câblé et communication sans fil utilisent un émetteur et un récepteur pour communiquer.
Contrairement communication filaire, communication sans fil utilise des
ondes électromagnétiques accordés à une certaine fréquence dans
laquelle la fois un émetteur et le récepteur peuvent comprendre la
fréquence d'accord des deux parties (voir l'illustration ci-dessous).
Maintenant vous pouvez penser "wow c'est cool!" Oui, il est cool,
cependant, il ya une légère défi que représente l'utilisation de la
communication sans fil.
Lorsque la transmission d'un signal (les données) s'implique avec le
monde réel dans lequel nous vivons, parfois des données peuvent devenir
perturbé par des facteurs connus et inconnus.
Ces facteurs peuvent être considérés comme des interférences ou du
bruit qui pourrait comprendre un autre signal de fréquence radio, la
conduction du signal ou une combinaison d'autres facteurs comme les
conditions météorologiques et ce qui est le blocage de la ligne de
signal de communication de la vue.
Cependant, les ingénieurs ont compris les problèmes qui ont surgi de
ces facteurs et mis en œuvre des régimes pour éviter toute interférence.
Dans ce cas, le module XBee utilise un protocole sans fil particulier
de parler à un autre module XBee connu sous le nom DSSS ou Direct
Sequence Spread Spectrum.
Nous n'allons pas entrer dans trop de détails à ce sujet mais en termes
simples, la technologie utilisée dans le XBee utilise un modèle de
transmission de fréquences multiples (saut de fréquence) pour éviter les
interférences laquelle le XBee réception comprend le motif.
Étant donné que les deux appareils comprennent le modèle de fréquence,
il est supposé que les données peuvent être reçues avec succès avec un
minimum d'interférences.
Jouir de
Maintenant que vous avez appris et j'espère que nous ne l'avez pas vous
ennuyer avec le concept de communication sans fil, nous allons
commencer!
Partie 1: un émetteur, un récepteur, plus voyants
Étape préliminaire: Raccorder le blindage XBee et XBee Module ensemble. Ensuite, fixez bouclier XBee à la carte Arduino.
Veillez à ce que les deux cavaliers du bouclier XBee sont placés sur le
côté «USB» ou bien vous ne serez pas en mesure de programmer l'Arduino
(Voir schéma ci-dessous). Ensuite, branchez le pouvoir pour commencer la programmation.
SCHÉMA DE PIN
Nous allons avoir besoin d'un programme qui vous permet de transmettre un signal d'un module XBee à un autre module XBee. Ainsi, une carte de développement Arduino sera l'émetteur.
Alors, voici le programme ci-dessous pour l'émetteur:
Ensuite, réglez les deux cavaliers du bouclier XBee sur le côté «XBEE
'ou bien vous ne serez pas en mesure de transmettre vos données via le
module XBee (Voir schéma ci-dessus Pin).
Le récepteur XBee-Arduino va avoir besoin d'une certaine façon de
savoir qu'il reçoit des données correctes et c'est là LEDs (Light
Emitting Diodes) viennent en place.
En utilisant le schéma ci-dessous nous allons configurer chacune des
LED afin qu'il puisse émettre une couleur quand un certain données ont
été reçues.
En utilisant une planche à pain, connectez une résistance de 1K Ohm à
la terre et relier la LED en série avec la résistance verte et connectée
en série au numéro d'identification numérique 10.
Ensuite, connectez une résistance de 1K Ohm à la terre et relier la LED
en série avec la résistance rouge et connectée en série au numéro
d'identification numérique 11. Pour une meilleure compréhension voir l'image ci-dessous.
Ensuite, nous allons avoir besoin d'un programme qui vous permet de recevoir un signal d'un module XBee à un autre module XBee. Ainsi, le second conseil de développement Arduino sera le récepteur.
(Encore une fois, s'il vous plaît assurez-vous de débrancher
l'alimentation électrique de l'Arduino définir les paramètres des
cavaliers sur le bouclier à côté «USB». Après que mettre le pouvoir à
l'Arduino pour la programmation)
Alors, voici le programme ci-dessous pour le récepteur:
fois que vous avez réussi à programmer l'Arduino récepteur, débrancher
l'alimentation électrique de l'Arduino et assurez-vous de régler la
position du cavalier de l'écran à côté »XBEE» (voir schéma ci-dessus
Pin). Fire it up! Branchez jusqu'à deux cartes de développement Arduino et regarder l'action! N'est-ce pas incroyable??
Partie 2: émetteur-récepteur. Permettez-moi de vous entendre dire quelque chose et la réponse!
Maintenant, nous allons obtenir chaque Arduino pour envoyer un message à
l'autre et les faire répondre (émetteurs-récepteurs aka). Alors maintenant, nous avons besoin d'une autre configuration LED pour obtenir la rétroaction de l'autre Arduino.
Prenez la planche à pain et connectez résistance 1K Ohm à la terre et
connectée en série à la LED, puis à la broche numérique 10 de la
deuxième Arduino. Voir le schéma ci-dessous. Gardons la configuration précédente de LEDs pour la première Arduino.
Veillez à ce que les deux cavaliers du bouclier XBee sont placés sur le
côté «USB» ou bien vous ne serez pas en mesure de programmer l'Arduino
(Voir schéma ci-dessus Pin). Ensuite, branchez le pouvoir pour commencer la programmation.
Pour la deuxième Arduino qui initie la conversation, nous allons utiliser ce code:
fois que vous avez programmé avec succès la deuxième Arduino,
débrancher l'alimentation électrique de l'Arduino et assurez-vous de
régler la position du cavalier de l'écran à côté »XBEE» (Voir le schéma
de Pin-dessus).
Maintenant, nous allons configurer le programme avec le premier Arduino
Veillez à ce que les deux cavaliers du bouclier XBee sont placés sur le
côté «USB» ou bien vous ne serez pas en mesure de programmer l'Arduino
(Voir schéma ci-dessus Pin). Ensuite, branchez le pouvoir pour commencer la programmation.
Voici la programmation pour la première Arduino:
Aussi, essayez de frapper le bouton de réinitialisation sur le second
Arduino et vous verrez que la première Arduino ne reconnaît pas le code
et réagit en conséquence.
Imaginez
Maintenant que vous avez appris, programmée et j'espère apprécié ce
tutoriel, voici quelques idées que vous pourriez utiliser pour stimuler
l'imagination:
Vue d'ensemble
L'(ZigBee) Module XBee offre une autre façon de transférer des données sans utiliser de fils.
Voici comment faire:
Le XBee (ZigBee) utilise un émetteur-récepteur sans fil 2,4 GHz pour communiquer avec un autre module XBee (ZigBee). En outre, les modules (XBee ZigBee) sont capables de communiquer avec plus d'un module XBee (ZigBee). Ainsi, cela signifie que vous pouvez créer un réseau de modules XBee partout! Tant qu'ils sont à portée, bien sûr.
Maintenant, pour les détails techniques, les caractéristiques du module XBee:
802.15.4 protocole créé par la Fondation de l'IEEE.
Le débit de données de 250 kbps (kilobits par seconde).
Peut être utilisé à l'intérieur et à l'extérieur.
La portée est de 100 pieds-300 pour les modules XBee standard et
300ft-1 mile pour XBee Pro Modules (selon l'endroit où elle est utilisée
et la ligne de visée d'un XBee à l'autre XBee).
Le XBee standard a une puissance d'émission 1mW et le XBee Pro dispose d'une puissance d'émission de 60mW.
Communication série pour l'interface.
Aucune configuration n'est requise hors de la boîte.
vitesse de transmission par défaut est 9600 bps.
Bien, vous pouvez modifier la configuration de la vitesse à laquelle
vous souhaitez transmettre, mais pour ce tutoriel, nous allons
simplement laisser la vitesse de transmission en cas de défaut.
Dans ce tutoriel, nous allons fournir comment utiliser le module XBee
en utilisant le bouclier XBee en combinaison avec un conseil de
développement Arduino out-of-the-box. Le module XBee standard sera utilisé, mais vous pouvez utiliser le module XBee Pro ainsi.
Tutoriel
Outils nécessaires:
2 - Conseils de développement Arduino.Apprendre
2 - XBee Shields.
2 - Modules XBee.
1 ou 2 - Platine.
3 - LEDs (Light Emitting Diodes)
2 - Résistances 1K Ohm
Fils de câblage
Une source d'alimentation pour le Conseil de développement Arduino. (USB ou Power Supply)
Cap penser
Le module XBee est un accessoire génial d'avoir, surtout si vous
essayez de communiquer ou de contrôler des périphériques sans utiliser
de fils.
Alors, comment fonctionne la communication sans fil?
Eh bien, en un mot, câblé et communication sans fil utilisent un émetteur et un récepteur pour communiquer.
Contrairement communication filaire, communication sans fil utilise des
ondes électromagnétiques accordés à une certaine fréquence dans
laquelle la fois un émetteur et le récepteur peuvent comprendre la
fréquence d'accord des deux parties (voir l'illustration ci-dessous).
Maintenant vous pouvez penser "wow c'est cool!" Oui, il est cool,
cependant, il ya une légère défi que représente l'utilisation de la
communication sans fil.
Lorsque la transmission d'un signal (les données) s'implique avec le
monde réel dans lequel nous vivons, parfois des données peuvent devenir
perturbé par des facteurs connus et inconnus.
Ces facteurs peuvent être considérés comme des interférences ou du
bruit qui pourrait comprendre un autre signal de fréquence radio, la
conduction du signal ou une combinaison d'autres facteurs comme les
conditions météorologiques et ce qui est le blocage de la ligne de
signal de communication de la vue.
Cependant, les ingénieurs ont compris les problèmes qui ont surgi de
ces facteurs et mis en œuvre des régimes pour éviter toute interférence.
Dans ce cas, le module XBee utilise un protocole sans fil particulier
de parler à un autre module XBee connu sous le nom DSSS ou Direct
Sequence Spread Spectrum.
Nous n'allons pas entrer dans trop de détails à ce sujet mais en termes
simples, la technologie utilisée dans le XBee utilise un modèle de
transmission de fréquences multiples (saut de fréquence) pour éviter les
interférences laquelle le XBee réception comprend le motif.
Étant donné que les deux appareils comprennent le modèle de fréquence,
il est supposé que les données peuvent être reçues avec succès avec un
minimum d'interférences.
Jouir de
Maintenant que vous avez appris et j'espère que nous ne l'avez pas vous
ennuyer avec le concept de communication sans fil, nous allons
commencer!
Partie 1: un émetteur, un récepteur, plus voyants
Étape préliminaire: Raccorder le blindage XBee et XBee Module ensemble. Ensuite, fixez bouclier XBee à la carte Arduino.
Veillez à ce que les deux cavaliers du bouclier XBee sont placés sur le
côté «USB» ou bien vous ne serez pas en mesure de programmer l'Arduino
(Voir schéma ci-dessous). Ensuite, branchez le pouvoir pour commencer la programmation.
SCHÉMA DE PIN
Nous allons avoir besoin d'un programme qui vous permet de transmettre un signal d'un module XBee à un autre module XBee. Ainsi, une carte de développement Arduino sera l'émetteur.
Alors, voici le programme ci-dessous pour l'émetteur:
- Code:
void setup()
void setup() { //Arduino initial setup
Serial.begin(9600); //set baud rate on Arduino to 9600
}
void loop() { //loop program
Serial.print("L"); //Send the character L
delay(2000); //wait 2 seconds
Serial.print("H"); //Send the character H
delay(2000); //wait 2 seconds
Serial.print (“X”); //Send the character X
delay(2000); //wait 2 seconds
}
Ensuite, réglez les deux cavaliers du bouclier XBee sur le côté «XBEE
'ou bien vous ne serez pas en mesure de transmettre vos données via le
module XBee (Voir schéma ci-dessus Pin).
Le récepteur XBee-Arduino va avoir besoin d'une certaine façon de
savoir qu'il reçoit des données correctes et c'est là LEDs (Light
Emitting Diodes) viennent en place.
En utilisant le schéma ci-dessous nous allons configurer chacune des
LED afin qu'il puisse émettre une couleur quand un certain données ont
été reçues.
En utilisant une planche à pain, connectez une résistance de 1K Ohm à
la terre et relier la LED en série avec la résistance verte et connectée
en série au numéro d'identification numérique 10.
Ensuite, connectez une résistance de 1K Ohm à la terre et relier la LED
en série avec la résistance rouge et connectée en série au numéro
d'identification numérique 11. Pour une meilleure compréhension voir l'image ci-dessous.
Ensuite, nous allons avoir besoin d'un programme qui vous permet de recevoir un signal d'un module XBee à un autre module XBee. Ainsi, le second conseil de développement Arduino sera le récepteur.
(Encore une fois, s'il vous plaît assurez-vous de débrancher
l'alimentation électrique de l'Arduino définir les paramètres des
cavaliers sur le bouclier à côté «USB». Après que mettre le pouvoir à
l'Arduino pour la programmation)
Alors, voici le programme ci-dessous pour le récepteur:
- Code:
<blockquote>
int LEDredPin =10; //Assign Pin 10 for Red LED
int LEDgreenPin = 11; // Assign Pin 11 for Green LED
void setup() { //Arduino initial setup
Serial.begin(9600); //Set baud rate for Arduino to 9600
pinMode(LEDredPin, OUTPUT); //Make Digital Pin 10 as Output Pin
pinMode(LEDgreenPin, OUTPUT); // Make Digital Pin 11 as Output Pin
}
void loop() { // loop program
if (Serial.available()) { //If there is data in the Serial Line
int dataByte = Serial.read(); //save data into integer variable dataByte
Serial.print(dataByte, BYTE); //Print to screen the variable received
if(dataByte == 'H'){ //if the variable is the character H
digitalWrite(LEDredPin, HIGH); //then Red LED pin is ON
digitalWrite(LEDgreenPin, LOW); // then Green LED pin is OFF
}
else if(dataByte == 'L') { // if the variable is the character L
digitalWrite(LEDgreenPin, HIGH); // then Green LED pin is ON
digitalWrite(LEDredPin, LOW); // then Red LED pin is OFF
}
Else //otherwise
{ digitalWrite(LEDredPin, HIGH); // Green LED pin is ON
digitalWrite(LEDgreenPin, HIGH);// Red LED pin is ON
}
}
}
</blockquote>
fois que vous avez réussi à programmer l'Arduino récepteur, débrancher
l'alimentation électrique de l'Arduino et assurez-vous de régler la
position du cavalier de l'écran à côté »XBEE» (voir schéma ci-dessus
Pin). Fire it up! Branchez jusqu'à deux cartes de développement Arduino et regarder l'action! N'est-ce pas incroyable??
Partie 2: émetteur-récepteur. Permettez-moi de vous entendre dire quelque chose et la réponse!
Maintenant, nous allons obtenir chaque Arduino pour envoyer un message à
l'autre et les faire répondre (émetteurs-récepteurs aka). Alors maintenant, nous avons besoin d'une autre configuration LED pour obtenir la rétroaction de l'autre Arduino.
Prenez la planche à pain et connectez résistance 1K Ohm à la terre et
connectée en série à la LED, puis à la broche numérique 10 de la
deuxième Arduino. Voir le schéma ci-dessous. Gardons la configuration précédente de LEDs pour la première Arduino.
Veillez à ce que les deux cavaliers du bouclier XBee sont placés sur le
côté «USB» ou bien vous ne serez pas en mesure de programmer l'Arduino
(Voir schéma ci-dessus Pin). Ensuite, branchez le pouvoir pour commencer la programmation.
Pour la deuxième Arduino qui initie la conversation, nous allons utiliser ce code:
- Code:
int LEDredPin =10; //Red LED assigned to Digital Pin 10
void setup() { //setup procedures
pinMode(LEDredPin, OUTPUT); //Make digital pin 10 an output pin
Serial.begin(9600); //Serial communication
}
void loop() { //loop sequence
delay(1000); //wait for a second (optional, but recommended for startups)
Serial.print('x',BYTE); //Send the letter x as a byte
if (Serial.available() > 0){ //if the serial port is ready to receive
byte retcommand = Serial.read(); //create a byte variable retcommand and read serial input
if (retcommand == byte(44)) //if the retcommand is equal to byte 44
{
digitalWrite(LEDredPin,HIGH); //turn on the LED
delay(4000); //hold it for 4 seconds
digitalWrite(LEDredPin,LOW); //turn off the LED
}
else if (retcommand == byte('n')) //else if the return is equal to byte n
{
digitalWrite(LEDredPin,HIGH); //then turn LED on
delay(1000); //wait for 1 second
digitalWrite(LEDredPin,LOW); //turn off LED
delay(1000); //wait for 1 second
digitalWrite(LEDredPin,HIGH); //then turn on LED again
delay(1000); //wait for 1 second
digitalWrite(LEDredPin,LOW); //turn off LED again
delay(1000); //wait for 1 second
}
delay(6000); //wait for 6 seconds (optional or value can be decreased)
}
}
fois que vous avez programmé avec succès la deuxième Arduino,
débrancher l'alimentation électrique de l'Arduino et assurez-vous de
régler la position du cavalier de l'écran à côté »XBEE» (Voir le schéma
de Pin-dessus).
Maintenant, nous allons configurer le programme avec le premier Arduino
Veillez à ce que les deux cavaliers du bouclier XBee sont placés sur le
côté «USB» ou bien vous ne serez pas en mesure de programmer l'Arduino
(Voir schéma ci-dessus Pin). Ensuite, branchez le pouvoir pour commencer la programmation.
Voici la programmation pour la première Arduino:
- Code:
int LEDredPin = 10; //set Red LED for digital pin 10
int LEDgreenPin = 11; //set Green LED for digital pin 11
void setup() { //initial setup
Serial.begin(9600); //set baud rate of Arduino to 9600
pinMode(LEDredPin, OUTPUT); //Set digital pin 10 to Output
pinMode(LEDgreenPin, OUTPUT); //Set digital pin 11 to Output
}
void loop() { //loop program
if (Serial.available() > 0){ //if serial line is available
byte command = Serial.read(); //store data into byte command from serial
if (command == byte('x')) //if command = byte x
{
delay(3000); //then wait 3 seconds (optional, but recommended)
Serial.print(44,BYTE); //send byte 44
digitalWrite(LEDredPin,HIGH); //turn on the Red LED
digitalWrite(LEDgreenPin,LOW); //turn off the Green LED
}
Else //else
{
delay(3000); //wait 3 seconds
Serial.print('n',BYTE); //send byte of character n
digitalWrite(LEDredPin,LOW); //turn off Red LED
digitalWrite(LEDgreenPin,HIGH); //turn on Green LED
}
}
}
Aussi, essayez de frapper le bouton de réinitialisation sur le second
Arduino et vous verrez que la première Arduino ne reconnaît pas le code
et réagit en conséquence.
Imaginez
Maintenant que vous avez appris, programmée et j'espère apprécié ce
tutoriel, voici quelques idées que vous pourriez utiliser pour stimuler
l'imagination:
Communicator XBee avec Ecran LCD: utiliser deux écrans LCD de série et découvrir ce que chaque Arduino parle.
Contrôleur de porte ou alarme: utiliser un capteur de porte et un
module XBee avec Arduino pour informer si quelqu'un est entré dans votre
maison.
Brewski Détecteur: Utilisez un capteur de température / de la porte et
un module XBee avec Arduino pour informer si votre frigo à bière est en
panne ou si quelqu'un est saisissant votre bière!
Contrôle d'orientation Robot: utiliser un module XBee avec Arduino pour contrôler un robot!