Creando librerías en Arduino #2: Clases, métodos y propiedades... [ITMK Blog]

Iniciado por fermino, Febrero 18, 2015, 10:57:00 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Continuando con la primera entrada sobre el tema, No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, 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.

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

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


Por ejemplo:

Código: cpp
Led::Led(int P)

o
Código: cpp
Led::Encender() 



Ahora sí, el código completo:

Código: cpp
// 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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta).

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:

Código: cpp
// 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-

Fuente (mi blog :P): No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Visita mi blog: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.