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

  • 0 Respuestas
  • 3139 Vistas

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

Desconectado fermino

  • *
  • Underc0der
  • Mensajes: 330
  • Actividad:
    0%
  • Reputación 1
  • Aprendiz de todo, maestro de nada...
    • Ver Perfil
    • In The Middle Of Knowledge
Continuando con la primera entrada sobre el tema, Solo los usuarios pueden ver los links. Registrate o Ingresar, 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: C++
  1. <Clase>::<Método>(<Parámetros>)
  2. {
  3.     <Código>
  4. }

Por ejemplo:

Código: C++
  1. Led::Led(int P)
o
Código: C++
  1. Led::Encender()


Ahora sí, el código completo:

Código: C++
  1. // Librería de control de Led para Arduino 1.x
  2.     #include "Led.h"
  3.  
  4.     Led::Led(int P)
  5.     {
  6.  
  7.     }
  8.  
  9.     void Led::Encender()
  10.     {
  11.  
  12.     }
  13.  
  14.     void Led::Apagar()
  15.     {
  16.  
  17.     }

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 Solo los usuarios pueden ver los links. Registrate o Ingresar).

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: C++
  1. // Librería de control de Led para Arduino 1.x
  2.     #include "Led.h"
  3.  
  4.     Led::Led(int P)
  5.     {
  6.         Pin = P;
  7.     }
  8.  
  9.     void Led::Encender()
  10.     {
  11.         digitalWrite(Pin, HIGH);
  12.     }
  13.  
  14.     void Led::Apagar()
  15.     {
  16.         digitalWrite(Pin, LOW);
  17.     }

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): Solo los usuarios pueden ver los links. Registrate o Ingresar
« Última modificación: Febrero 18, 2015, 10:59:38 pm por fermino »
Visita mi blog: Solo los usuarios pueden ver los links. Registrate o Ingresar.

 

Arduino + Snap4Arduino "Hola Mundo"

Iniciado por Riojas

Respuestas: 1
Vistas: 3394
Último mensaje Febrero 19, 2017, 09:31:50 pm
por rreedd
Arduino + Snap4Arduino "Juego PONG" [Parte1]

Iniciado por Riojas

Respuestas: 0
Vistas: 2627
Último mensaje Febrero 24, 2017, 04:59:07 pm
por Riojas
Arduino + Snap4Arduino "Juego PONG" [Final]

Iniciado por Riojas

Respuestas: 0
Vistas: 2083
Último mensaje Marzo 15, 2017, 02:33:08 pm
por Riojas
Arduino + Snap4Arduino "Juego PONG" [Parte2]

Iniciado por Riojas

Respuestas: 0
Vistas: 2296
Último mensaje Marzo 03, 2017, 07:07:08 pm
por Riojas
Entornos Gráficos para la Programación: Plataforma Open Hardware Arduino

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2936
Último mensaje Junio 30, 2012, 06:47:30 pm
por ANTRAX