miércoles, 18 de febrero de 2015

Creando librerías en Arduino #2: Clases, métodos y propiedades

Continuando con la primera entrada sobre el tema, Creando librerías en Arduino #1: Introducción y cabeceras, en esta veremos la clase principal de la librería, sus métodos y sus propiedades...

Nota: En la entrada anterior olvidé aclarar que estas librerías sólo funcionarán con la versión de Arduino 1.x o posterior. Para utilizarla con versiones anteriores, hay que hacer un par de modificaciones que posiblemente comente luego.

Aquí tenemos que crear tres métodos, el constructor, Encender, y Apagar.
En lugar de crear una clase contenida por la palabra class, vamos a definir cada método por separado.

Este archivo lo guardaremos como Led.cpp, o en todo caso, si nuestra librería se llama CloruroDeSodio, CloruroDeSodio.cpp :P

La estructura de cada método sería algo así.

<Clase>::<Método>(<Parámetros>)
{
    <Código>
}

Por ejemplo:
Led::Led(int P)
o
Led::Encender() 

Ahora sí, el código completo:

// Librería de control de Led para Arduino 1.x
    #include "Led.h"

    Led::Led(int P)
    {

    }

    void Led::Encender()
    {

    }

    void Led::Apagar()
    {

    }

La primera línea es tan solo un comentario. Especificamos la versión de la IDE para la cual la librería está hecha, y podemos también agregar nuestro nombre, sitio web, etc...
En la siguiente, incluimos la cabecera que contiene las definiciones de la clase (ver entrada #1).

Luego, definimos el constructor, con el parámetro entero P, el método Encender (del tipo void, sin retornar ningún dato), y Apagar.

Pero esperen, esos métodos no tienen ningún código dentro, ¡no hacen nada! D:

// Librería de control de Led para Arduino 1.x
    #include "Led.h"

    Led::Led(int P)
    {
        Pin = P;
    }

    void Led::Encender()
    {
        digitalWrite(Pin, HIGH);
    }

    void Led::Apagar()
    {
        digitalWrite(Pin, LOW);
    }

Ahí agregamos el código. En el constructor, hacemos que la propiedad Pin (privada, de la clase), sea igual al parámetro P. Todo esto supongo que deberían saber hacerlo, ¿no? :P
En el método Encender, hacemos que la salida digital correspondiente a Pin (Si inicializamos la clase con el número 3, actuaremos sobre dicha salida) sea alta. En Apagar, haremos que la salida sea baja.

Eso es todo por hoy, la próxima vez veremos cómo generar palabras clave que la IDE pueda detectar y marcar con colores xD

Saludos!
-fermino-

No hay comentarios.:

Publicar un comentario