Hola a todos
Durante estos primeros días del mes de agosto he estado trabajando en un nuevo proyecto que tenía en mente desde hace tiempo: un pequeño laboratorio virtual que te permita experimentar con alguna placa Arduino, sensores y elementos de salida sin necesidad de programar nada en absoluto.
ArduLab, que es como hemos llamado a este proyecto, está orientado sobre todo a jóvenes estudiantes como los que solemos tener en nuestro aula de robótica. La idea principal es facilitar esa primera toma de contacto con Arduino y dispositivos electrónicos simple, para que posteriormente puedan realizar sus propios proyectos con Arduino (esencialmente pequeños robots, aunque no solo eso).
ArduLab también puede resultar de utilidad para otro tipo de usuarios ya que permitirá verificar y caracterizar el funcionamiento de sensores, comprobar el conexionado de los dispositivos conectados a nuestra placa Arduino antes de programarlos e incluso comunicar con dispositivos I2C para comprobar su funcionamiento o cambiar su dirección (los que lo permitan).
ArduLab consta de dos programas, un pequeño gestor de comandos que descargamos en nuestra placa Diecimila o Duemilanove (las dos únicas soportadas por el momento) y otro que se ejecuta en el ordenador, desarrollado en LabView y que (por ahora) corre en Win XP o similares
Inicialmente nos sugirieron usar firmata para el programa residente en la placa Arduino, pero no tenemos mucho tiempo para el desarrollo y no hemos conseguido que funcionase como queremos en un tiempo razonable, así pues hemos decidido que para esta primera versión usar un sencillo interprete de comandos que usa un protocolo del tipo pregunta/respuesta.
Por ahora está todo en una fase muy preliminar aunque ya tiene una funcionalidad aceptable. En unos días subiremos a nuestro servidor la primera versión (llena de fallos, naturalmente) por si alguien se anima a probarla. En este momento solo hemos implementado alguna de las funcionalidades más básicas, pero esperamos tener algo más completo para finales de agosto. A continuación os pongo algunas capturas de pantalla para que veáis el aspecto que va teniendo:
Ventana de configuración, podemos configurar cada "pin" como queramos, incluso las entradas analógicas las podemos poner como entradas o salidas digitales
Desde la ventana de "Digital" podemos actuar o leer el estado de cualquier entrada que hallamos configurado previamente
Las entradas analógicas se muestran en voltios o cuentas del convertidor y además podemos seleccionar una de ellas para mostrarla de forma gráfica. Insisto, solo aparecen las entradas configuradas
El control de las salidas PWM también es muy sencillo y lo podemos realizar en % o en cuentas (0 a 255)
El siguiente paso sería poner la parte de experimentación. una especie de guias e interfaces que nos permitan jugar con distintos dispositivos (LED, LDR, NTC, Relé, Altavoz...), pero algunas veces hacemos las cosas siguiendo un orden que nos del todo lógico y ayer mismo implementamos dos pequeños "juguetes":
En primer lugar un sencillo "piano" que se maneja con el ratón y que suena en nuestra placa Arduino mediante un Altavoz, para ello hemos usado las funciones "tone" que ya vienen en la versión 018 sin necesidad de incluir librería alguna.
El segundo juguete es otra "pequeña tontería", se trata de un mezclador de colores usando como base el rojo, verde y azúl. La mezcla de color se consigue mediante tres potenciómetros conectadas a sus respectivas entradas analógicas.
Pensamos que la principal aportación de ArduLab respecto de otras posibilidades es la documentación que estamos preparando en forma de guías que ayudarán al profesor/alumno/aficionado a realizar los experimentos de forma correcta. Todo esto lleva bastante trabajo así que lo iremos sacando poco a poco y ampliaremos las posibilidades y la funcionalidad de ArduLab en función de nuestra experiencia y de los comentarios de los usuarios.
Naturalmente ArduLab será una aplicación que se podrá descargar y usar de forma gratuita ya que nuestro LAbVIEW es Legal y tenemos las licencias pertinentes para poder generar los ejecutables.
Un saludo:
Eduardo