Étape 6: Quelques notes sur le XBee
En utilisant le XBee peut être délicate et source de confusion si vous ne comprenez pas quoi/comment que l’unité XBee communique avec l’Arduino et autres XBees. Cet article va essayer d’expliquer mon mieux comment le programmer l’Arduino avec le XBee attaché comme le XBee permet de transmettre et de recevoir des informations.
Pour commencer, il convient de noter la le XBee est un dispositif de communication série. Comme c’est le cas, le XBee doit utiliser les broches Tx et Rx (D0 et D1). Cela pose un problème. La connexion USB de l’ordinateur utilise également ces goupilles pour parler à l’Arduino. C’est le cas, vous ne pouvez pas utiliser le XBee et l’USB en même temps. Pour résoudre ce problème, vous devez utiliser des cavaliers fournis avec le bouclier de XBee pour passer sans fil XBee communication et communication USB.
Pour programmer l’Arduino, le blindage doit être en mode de communication USB. Cela signifie que les cavaliers doivent être placés dans la deuxième position, vue dans le diagramme de la broche et à nouveau dans la première image du bouclier.
Pour utiliser la communication sans fil de XBee, le blindage doit être en mode XBee. Cela signifie que les cavaliers doivent être placés en première position vue dans le diagramme de la broche et à nouveau dans la seconde image du bouclier.
Ce fut l’une des parties plus difficiles du projet. Puisque c’était si difficile, j’ai inclus quelques débogage de code dans la section afin de pouvoir tester vos connexions XBee avant d’avancer. À l’intérieur de ce fichier zip, il y a 3 programmes. L’un est pour l’office récepteur, l’un est pour le jury de l’émission et l’autre est un script de configuration qui peut être utilisé pour personnaliser le matériel XBee en utilisant le terminal X-CTU. Le code de transmission indique au récepteur pour allumer et éteindre une LED basée sur un caractère reçu. Pour tester les comms XBee, charger un Arduino avec le code de transmission et un autre avec le code de réception. Faire toutes les connexions appropriées et de regarder au tour de LED sur et en dehors.
Plus, une note sur le XBee, synchronisation est tout. Assurez-vous qu’il n’y a pas de retards inutiles ou hoquets dans votre code pour ralentir les choses. En outre, il est primordial d’effacer la mémoire tampon de série (à l’aide de Serial.flush()) après chaque cycle de lecture. Si vous n’avez pas, données transmises vont être en retard dans le tampon de la série et le rover va agir de façon erratique. En vidant le tampon série après que chaque itération s’assure que la nouvelle commande est lu.