Arduino + Delphi

Arduino Duemilanove + Delphi

La plataforma Arduino es sin duda alguna uno de esos proyectos de Hardware libre en los que uno puede sumergirse por horas sin sentir pasar el tiempo, hace solo un mes llego a mi puerta mi placa “Duemilanove” adquirida con los chicos de BricoGeek.com ;) y a medida que experimento con ella, mas cosas deseo hacer y más curiosidad me surge.

Luego de seguir algunos excelentes tutoriales de ladyada.net y la sección “Learning“, como el encendido de leds, el funcionamiento de display LCD, las comunicaciones via serie, etc. Decidi que era hora de ir un paso mas alla y probar a comunicar mi Arduino con algún software externo.

Encontre entonces que era posible comunicarse desde y hacia un arduino con cerca de 30 diferentes plataformas, para mencionar algunas se encuentran Flash, Processing, Java, C/C++, Matlab, incluso con la consola de mi sistema Linux, sin embargo poco o nada acerca de comunicación con nuestro viejo servidor DELPHI ;)

Pues bien, de esta forma y en vista que una extensa busqueda en google sobre comunicación Delphi + Arduino no arrojo buenos resultados (más alla de un solo ejemplo con Código fuente que por ningún motivo quiso funcionar), quise contribuir de alguna forma construyendo un trozo de Software demostrando que si es posible comunicar Arduino con Delphi (enhorabuena!).

Delphi Arduino Leds

El software es realmente muy sencillo, se trata del control de 5 LEDs via puerto serie utilizando funciones basicas del propio lenguaje en las librerias de Arduino (algo que ya se habia hecho) pero esta vez enviando los comandos desde el programa escrito en Delphi, suprimiendo asi el uso del IDE Nativo y utilizando ComPort Library, un componente libre que a pesar de encontrarse en fase Beta, funciona muy bien para lo que se requiere.

He colocado la guia completa en la sección proyectos, incluyendo código fuente tanto para la placa Arduino como para el Host en el PC, esquema de conexión y muchos comentario de código (Programadores consagrados pueden encontrarlo muy básico e incluso redundante, pero es solo para que novatos como yo entendamos mejor lo que hay dentro ;) ).