Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

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

  • 0 Respuestas
  • 3080 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
« en: Febrero 18, 2015, 10:57:00 pm »
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.

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 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:

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): http://itmk-labs.blogspot.com.ar/2015/02/creando-librerias-en-arduino-2-clases.html
« Última modificación: Febrero 18, 2015, 10:59:38 pm por fermino »

 

¿Te gustó el post? COMPARTILO!



Arduino + Snap4Arduino "Hola Mundo"

Iniciado por Riojas

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

Iniciado por Riojas

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

Iniciado por Riojas

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

Iniciado por Riojas

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