- Exigences matérielles
- Configuration des modules XBee à l'aide de XCTU
- Programmation et test de la communication XBee à l'aide d'Arduino
Dans les didacticiels précédents, nous avons découvert le protocole ZigBee et son architecture, ainsi que la communication sans fil entre deux modules Xbee. Maintenant, dans ce tutoriel, nous allons interfacer le module XBee avec la carte Arduino Uno. Le XBee connecté à la carte Arduino agira comme un récepteur et communiquera sans fil avec un autre module XBee qui est connecté en série avec l'ordinateur portable à l'aide d'une carte Explorer. Explorons donc davantage la communication sans fil Arduino à l'aide de XBee.
Exigences matérielles
- 1 x Arduino Uno
- 2 x modules XBee Pro S2C (tout autre modèle peut être utilisé)
- 1 x carte d'exploration Xbee (en option)
- 1 x carte de dérivation Xbee (en option)
- Câbles USB
- LED
Configuration des modules XBee à l'aide de XCTU
Comme nous l'avons appris dans les didacticiels précédents, le module XBee peut agir en tant que coordinateur, routeur ou appareil terminal, mais il doit être configuré pour fonctionner dans le mode souhaité. Donc, avant d'utiliser les modules XBee avec Arduino, nous devons configurer ces modules à l'aide du logiciel XCTU.
Pour connecter le module XBee à l'ordinateur portable, un convertisseur USB vers série ou une carte d'exploration spécialement conçue est utilisée. Connectez simplement le module XBee à la carte Explorer et branchez-le à l'ordinateur portable à l'aide d'un câble USB.
Si vous n'avez pas de convertisseur ou de carte d'exploration, une carte Arduino peut être utilisée comme périphérique USB vers série qui peut facilement communiquer avec le XBee et l'ordinateur portable. Il suffit de télécharger un croquis vierge sur la carte Arduino et il peut maintenant se comporter comme un convertisseur USB vers série.
Les connexions pour l' interfaçage du module ZigBee avec Arduino sont indiquées dans le schéma de circuit.
Connexions:
- Tx (pin2) de XBee -> Tx de la carte Arduino
- Rx (pin3) de Xbee -> Rx de la carte Arduino
- Gnd (pin10) de Xbee -> GND de la carte Arduino
- Vcc (Pin1) de Xbee -> 3.3v de la carte Arduino
Ici, dans ce tutoriel, une carte Explorer est utilisée pour configurer les modules XBee.
Téléchargez le logiciel XCTU à partir de ce lien et installez-le. Après avoir téléchargé et installé le logiciel XCTU, ouvrez-le et assurez-vous que votre module XBee est correctement connecté. Vérifiez le port COM de la carte Arduino dans le gestionnaire de périphériques.
Étape 1: - Maintenant, cliquez sur le bouton de recherche. Cela vous montrera tous les appareils RF connectés à votre ordinateur portable. Dans notre cas, il affichera un seul module XBee.
Étape 2: - Sélectionnez le port série de la carte Explorer / carte Arduino et cliquez sur Suivant.
Étape 3: - Dans la fenêtre suivante, définissez les paramètres du port USB comme indiqué ci-dessous et cliquez sur Terminer.
Étape 4: - Sélectionnez l'appareil détecté et cliquez sur Ajouter l'appareil sélectionné . Ce processus ajoutera votre module XBee au tableau de bord XCTU.
Étape 5: - Vous pouvez maintenant configurer votre module XBee dans cette fenêtre. Utilisez les commandes AT ou placez les données manuellement. Comme vous pouvez le voir, R apparaît sur le panneau de gauche, ce qui signifie que Xbee est en mode routeur. Nous devons en faire un coordinateur pour la partie émetteur.
Tout d'abord, mettez à jour le micrologiciel en cliquant sur le bouton Mettre à jour le micrologiciel.
Étape 6: - Choisissez la famille de produits de votre appareil qui est disponible à l'arrière du module XBee. Sélectionnez le jeu de fonctions et la version du micrologiciel comme indiqué ci-dessous et cliquez sur Mettre à jour.
Étape 7: - Maintenant, vous devez donner des données ID, MY et DL pour établir une connexion avec d'autres XBee. L'ID reste le même pour les deux modules. Seul l'échange de données MY et DL c'est-à-dire MY pour le récepteur XBee devient DL de l'émetteur XBee (coordinateur) et DL pour le récepteur XBee devient MY de l'émetteur XBee. Faites de CE comme coordinateur, puis appuyez sur le bouton Écrire. Comme indiqué ci-dessous.
ATDL |
À MON |
||
Coordinateur XBee 1 |
|||
Appareil d'extrémité XBee 2 |
Étape 8: - Après avoir écrit les données ci-dessus sur la partie émetteur, débranchez-la de la carte d'exploration et branchez-la dans le deuxième module XBee. Répétez le même processus que ci-dessus, seuls les changements sont les DL, MY et CE. Comme nous allons créer le deuxième XBee en tant que périphérique final, dans le menu déroulant CE, sélectionnez le périphérique final et appuyez sur le bouton Écrire.
Étape 9: - Maintenant, nos modules XBee sont prêts à s'interfacer avec la carte Arduino. Nous allons connecter l'émetteur XBee à l'ordinateur portable et le récepteur XBee avec la carte Arduino. Ensuite, donnez des commandes à la partie récepteur à l'aide d'un ordinateur portable.
Schéma de circuit pour la partie récepteur:
Connexions:
- Tx (pin2) de XBee -> Rx de la carte Arduino
- Rx (pin3) de Xbee -> Tx de la carte Arduino
- Gnd (pin10) de Xbee -> GND de la carte Arduino
- Vcc (Pin1) de Xbee -> 3.3v de la carte Arduino
Si vous utilisez la carte Arduino pour connecter l'émetteur ZigBee à l'ordinateur portable, les connexions seront les mêmes que pour la programmation du ZigBee.
Programmation et test de la communication XBee à l'aide d'Arduino
Maintenant, nous allons écrire un code pour le récepteur Arduino pour allumer la LED chaque fois que la partie du récepteur reçoit 'a', et faire clignoter la LED chaque fois qu'elle reçoit 'b', pour les autres caractères, la LED restera éteinte.
Le code est simple et facilement compréhensible. Nous allons simplement vérifier les caractères entrants en utilisant la fonction Serial.available () et stocker ce caractère dans une variable en utilisant Serial.read (); et associez-le à «a» et «b». Si la correspondance est correcte, exécutez la tâche spécifiée dans la condition. Le code complet de la partie récepteur est donné à la fin. Téléchargez le code dans la partie Récepteur Arduino. Retirez les fils Tx et Rx de XBee avant le téléchargement.
Maintenant, nous sommes tous prêts à tester notre émetteur et notre récepteur. Pour donner la commande à la partie émetteur, nous utiliserons le terminal console de XCTU. Cliquez sur l'icône de la console à côté de l'option des paramètres. Ensuite, cliquez sur le bouton Ouvrir pour connecter le XBee à l'ordinateur portable.
Entrez «a» dans le journal de la console. Vous verrez que la LED s'allumera pendant 2 secondes, puis entrez «b» pour que la LED clignote 5 fois.
Vous pouvez également connecter l'émetteur XBee à la carte Arduino, il suffit de changer un peu le code du récepteur. À la place de la fonction Serial.read (), utilisez la fonction Serial.println () pour envoyer les caractères.
Consultez la vidéo de démonstration ci-dessous.
Cette configuration XBee-Arduino peut être utilisée pour créer de nombreuses applications sans fil utiles telles que le système domotique, la salle de discussion, etc.