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

  • 0 Respuestas
  • 3204 Vistas

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

Desconectado fermino

  • *
  • Ex-Staff
  • *****
  • 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, You are not allowed to view links. Register or Login, 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 You are not allowed to view links. Register or Login).

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): You are not allowed to view links. Register or Login
« Última modificación: Febrero 18, 2015, 10:59:38 pm por fermino »
Visita mi blog: You are not allowed to view links. Register or Login.

 

Arduino + Snap4Arduino "Hola Mundo"

Iniciado por Riojas

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

Iniciado por Riojas

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

Iniciado por Riojas

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

Iniciado por Riojas

Respuestas: 0
Vistas: 2433
Ú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: 2998
Último mensaje Junio 30, 2012, 06:47:30 pm
por ANTRAX