• electronica-2

Diseño modular en Arduino

January 04, 2013

Una buena plataforma para comenzar con diseño electrónico modular es Arduino, aunque su IDE sea mejorable en este sentido no es difícil empezar a trabajar con módulos y librerías en nuestros proyectos, vamos a empezar por usar librerías creadas por terceras personas, lo que se suele llamar Contribuido:

En primer lugar vamos a nuestro sketchbook de Arduino, una carpeta que en Ubuntu suele estar en tu home, si no está aún creada, hacemos una nueva carpeta que se llame libraries, en esta carpeta colocaremos los directorios de cada librería.

Una vez pongamos las librerías que queramos ahí ya podremos acceder a ellas desde el IDE de Arduino, en él veremos algo como esto:

Ya tenemos por donde empezar, es muy útil en diseño electrónico utilizar librerías de componentes electrónicos que se comunican con el procesador, estas librerías proveen de un acceso sencillo a los componentes, consiguiendo de esta forma una programación orientada a componentes.

Lo siguiente que vamos a hacer es dividir nuestro programa en módulos, aunque Arduino utiliza su propio lenguaje de programación podemos usarlo como si fuera C o C++, por esto podemos utilizar archivos “.cpp” para añadir código y archivos “.h” para enlazar este código con el archivo principal que será el “.ino”.

Vamos a la carpeta de nuestro proyecto donde podremos ver nuestro archivo principal “.ino”, vamos a crear un nuevo módulo que vamos a llamar “datos”, por lo tanto creamos dos archivos, “datos.cpp” y “datos.h”, en el primero pondremos el código las funciones que vamos a crear y en el segundo las cabeceras de las funciones creadas anteriormente, sólo si vamos a hacer uso de ellas en el exterior del módulo. Nos tenemos que asegurar que el archivo de cabeceras no se incluya en el proyecto más de una vez, para eso usamos:

#ifndef datos_h
#define datos_h
Al principio del archivo “.h” y:
#endif
Al final.

Por ultimo vamos a nuestro programa principal, si reiniciamos Arduino IDE ya nos abrirá los archivos que hemos creado en diferentes pestañas. Ahora los incluimos en nuestro programa principal usando:

#include "datos.h"
Y ya podremos acceder a los módulos que hemos creado. Un consejo, si utilizáis librerías dentro de módulos y no están muy bien hechas os dará error, para solucionarlo lo que hago es incluirlas también en el programa principal, pero tenéis que aseguraros de que las librerías tienen un #ifndef como se ha explicado anteriormente. Para más información sobre como hacer una librería para Arduino visitad el siguiente enlace: Library Tutorial Esto es todo por hoy, espero continuar con la serie sobre Arduino, tengo muchas cosas que publicar.


Profile picture

Carlos Sanmartín Bustos

Desarrollador de software embebido comprometido con el software libre. Progresista y antiautoritario.