El Teensy es un microcontrolador (ver artículo inicial aquí) cuya principal característica es ser pequeño, esto es muy ventajoso sobre todo cuando queremos usarlo en lugares complicados o inaccesibles. Pero ¿Cómo nos comunicamos con él? La opción mas simple sería usando un cable serial, ¿y si no podemos usar un cable? en ese caso podemos usar la comunicación inalámbrica.
Una opción de comunicación inalámbrica que hemos explorado es XBee. En este link hay un artículo básico sobre XBee.
Lo que haremos entonces es usar el Teensy para enviar un mensaje via Xbee a un PC. Además, para probar en un entorno mas realista usaremos el Lipo Rider Pro como fuente de alimentación del equipo remoto. Los XBee estarán configurados en modo transparente, es decir, están reemplazando un cable de comunicación serial
Entonces tendremos un sistema basado en una Unidad Remota y una Unidad Central.
Unidad Remota :
Lipo Rider pro + Teensy + Xbee
Unidad central :
Xbee + adaptador USB + PC
Materiales
- Teensy 3.0
- Protoboard
- Cables para protoboard
- 2 x XBee Serie 2
- Adaptador XBee
- XBee USB Explorer (usado para programar XBee y conectar a PC)
- Lipo Rider Pro de Seeedstudio.com
- Cable USB a micro USB
- Batería 3,7 V
- PC con Win7 con X-CTU y Arduino Teensy instalado
Referencia inicial
El pinout del adaptador Xbee esta en este link de Adafruit
El pinout del Teensy esta aqui
Procedimiento
Se deben configurar los módulos XBee, esto se indica con detalles en este link
Para el equipo remoto, entre el XBee y Teensy realizamos las siguientes conexiones
XBee Teensy 3.0
Tx Rx Pin0
Rx Tx Pin1
3V 3,3V output
La conexión se muestra en las siguientes fotos
Ahora usamos el PC, cable adaptador y el software Teensyduino, para cargar el siguiente sketch en el Teensy
HardwareSerial Uart1 = HardwareSerial(); void setup() { // Abre puerto UART 1 y lo configura a 9600 bps Serial.begin(9600); Uart1.begin(9600); } void loop() { Uart1.print("Hola Mundo \n"); // Espera 2 segundos para repetir el loop delay(2000); }
Conectamos la Batería al LipoRider Pro
Desconectamos el Teensy del puerto USB y lo conectamos al LipoRider Pro mediante cable adaptador USB
Esto se muestra en la siguiente foto.
Para la Unidad Central conectamos el XBee al USB Explorer y este al PC usando el cable adaptador USB, como se muestra en la foto 4
Los siguientes pasos son para identificar la puerta COM correspondiente
Identificar la puerta COM correspondiente, para esto usamos Windows-R y escribimos devmgmt.msc así veremos el device manager.
Abrimos el X-CTU y vamos a la ventana de Terminal para ver lo que recibe el XBee
Para finalizar encendemos el conector del Lipo Rider Pro alimentando a la unidad Remota
Ahora en la ventana de Terminal veremos el mensaje que estamos transmitiendo: Hola Mundo, pero sin cables
Es evidente que podemos ampliar las posibilidades de comunicación, algunos ejemplos
- Reportar variables remotamente
- configurar una red de sensores inalambricos
- Usar un Beaglebone o un RaspBerryPi como unidades centrales
- Usar XBee en modo API para Tx datos mas complejos
En los próximos artículos exploraremos estas y otras posibilidades.
Bibliografía
Building Wireless Sensor Networks disponible en Amazon.
Este link muestra un artículo sobre Teensy 2.0 y XBee