Paso 6: Algunas notas sobre el XBee
Usando el XBee puede ser complicado y confuso si no entiendes qué y cómo que la unidad XBee se comunica con el Arduino y con otros XBees. En esta sección se tratan y explicar lo mejor que pueda como a programar el Arduino con el XBee conectado, así como utilizar el XBee para transmitir y recibir información.
Para empezar, cabe destacar el el XBee es un dispositivo de comunicación serial. Como es el caso, el XBee deberá utilizar los pines Tx y Rx (D0 y D1). Esto presenta un problema. La conexión USB para el ordenador también utiliza estos pernos para comunicarse con Arduino. Porque este es el caso, se pueden utilizar el XBee y el USB al mismo tiempo. Para solucionar este problema, debe utilizar puentes con el XBee shield para cambiar de comunicación inalámbrica XBee con comunicación USB.
Para programar el Arduino, el escudo debe estar en modo de la comunicación USB. Esto significa que los puentes deben ser colocados en la segunda posición en el diagrama de polos y otra vez en la primera imagen del escudo.
Para usar la comunicación inalámbrica XBee, el escudo debe estar en modo de XBee. Esto significa que los puentes deben ser colocados en la primera posición en el diagrama de polos y otra vez en la segunda imagen del escudo.
Esta fue una de las partes más difíciles del proyecto. Puesto que era tan difícil, he incluido algunos código de depuración en la sección de así que usted puede probar sus conexiones XBee antes de seguir adelante. Dentro de este archivo zip hay 3 programas. Uno es para la Junta receptora, una es para la placa que transmite y el otro es una secuencia de comandos que puede utilizar para personalizar el hardware del XBee mediante el terminal X-CTU. El código de transmisión dice el receptor para encender y apagar un LED basado en un carácter recibido. Para probar la comunicación XBee, carga un Arduino con el código de transmisión y el otro con el código de recepción. Hacer todas las conexiones apropiadas y ver la vuelta de LED de encendido y apagado.
Una nota más en el XBee, tiempo lo es todo. Asegúrese de que no hay demoras innecesarias ni hipos en el código para ralentizar las cosas. También, es de suma importancia para borrar el búfer serial (utilizando Serial.flush()) después de cada ciclo de lectura. Si no lo hace, datos transmitidos serán atrasados en el buffer serial y el rover actuará correctamente. Borrar el buffer serial después de cada iteración asegura sólo el último comando se lee.