entramado.net

Diseño modular en Arduino

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:

Libreria Contribuido
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.

3 respuestas a “Diseño modular en Arduino”

  1. P.Trujillo dice:

    arduino! veo que te has ido al lado oscuro! y encima por lo que veo en el IDE tienes una arduino mega, en el lado oscuro y a lo grande! jaja me parece una muy buena plataforma para iniciarse, aunque solo sea eso, para iniciarse 😉 espero ver más entradas sobre electrónica y micros!! incluso, ya que estudias lo que estudias… algo de control embebido!! que se note de donde vienes!

    Un saludo

  2. litox9 dice:

    ¡Por supuesto! El Arduino lo necesitaba sí o sí para hacer informática industrial este año y he aprovechado y he empezado un proyecto que tenia en mente hace tiempo, poco a poco voy a ir mostrándolo ¡esto solo es la introducción! Lo de el control embebido (que palabra más fea) no es mala idea, no hay mucho de control en la escena open source, puedo empezar por alguna librería PID y tal…lo pensaré.
    ¡Saludos!

  3. […] 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 …  […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Todos usamos cookies, acéptalo ya. más información

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close