miércoles, 18 de mayo de 2011

Video Demo Interface

En esta entrada se explicará las funciones básicas de la interfaz gráfica que se implementa en la placa de desarrollo ChipWorkx.

La interfaz gráfica se ha desarrollado en Microsoft Visual Studio C# 2010 en .Net Micro Frameowrk. Al no tener componentes gráficos ni "Form", ni botones, ni "TextBox", ni "Labels", etc, todo se ha creado mediante código en lenguaje C#.

Para la creación de una ventana, se crea un Panel con las dimensiones de la pantalla de la ChipWorkx, dónde se ubicarán todos los elementos que se crean y que se utilizan. Después se crean tantos "Text" y "StackPanels" como componentes se quieran introducir al Panel.

Para la realización de un botón, primero se crea una clase Boton.cs dónde se programa las funciones y eventos del botón. Para que aparezca un botón en la ventana, primero se necesita crear un "Text" y un "Boton", para que el botón contenga el texto que se crea. Después se crea un "StackPanel para que contenga el botón que se ha creado. A continuación, se le dice que el Panel contenga el StackPanel, y ya se tiene un botón dentro del Panel y que se pueda visualizar en la pantalla.

A partir de esto, se puede crear una interfaz como la siguiente:



En la siguiente entrada, se explicará los avances sobre la interacción de la interfaz gráfica con el XBee.

jueves, 12 de mayo de 2011

Ampliando el proyecto: Módulo Zigbee




















Una vez comprobado que las funcionalidades básicas del proyecto funcionan, planteamos ampliar el proyecto con una interfaz grafica que implementaremos en una placa de desarrollo chipworkx y que estará conectada con la fez panda mediante un módulo Zigbee. De esta manera podemos controlar y configurar nuestro disparador a distancia además de tener una cómoda interfaz táctil.

En este post repasaremos el funcionamiento del módulo Zigbee. Hemos comprado dos de estos módulos http://www.watterott.com/de/Digi-XBee-1mW-Chip-Antenna que tienen un coste de 24€ cada uno.

El funcionamiento de este módulo es muy sencillo. Una vez conectado correctamente a ambas placas (hace falta hacer algún tipo de soporte para la Panda ya que no tiene socket para Zigbee) solo necesitamos configurar un puerto serie y transmitir por él. Hemos tenido que hacer algunos ajustes ya que la velocidad del zigbee no es la de un puerto serie estándar y tendremos por ejemplo que esperar un tiempo antes de leer el mensaje si no queremos leer el mensaje fragmentado. Solucionados estos problemas tenemos un sistema capaz de transmitir datos a una distancia de como mínimo 10m (No lo hemos probado aun a más distancia)

La siguiente imagen muestra las pruebas realizadas desde un mismo ordenador en Visual Studio 2010


Después de conseguir una comunicación básica hemos creado un protocolo que estableceremos para dar las diferentes informaciones y ordenes, es el siguiente:

Protocolo Proyecto Disparador

Primera letra significará disparo o configuración

· D (disparo)

· C (configuración)

Si enviamos un disparo el valor siguiente decidirá el tiempo de disparo en ms

Ejemplo: D0010 significaría haz un disparo de 10 ms.

En el caso de configuración la siguiente letra indicará el sensor que estamos configurando

Ejemplo: CPXXX indica que queremos configurar el sensor de proximidad

CMXXX indica que queremos configurar el micro

En el caso del micro el valor que enviemos después será el umbral del micrófono

Ejemplo: CM100 Pondrá el valor umbral del micrófono en 1000

Para activar o desactivar un sensor enviaremos CX000 (desactivar) o CX999 (activar)

La placa Panda podrá indicar que se ha hecho una foto enviando la palabra “foto”



En la siguiente entrada hablaremos del diseño de la interfaz.