manual de programación arduina Manual+Programacion+Arduino | Page 39
Arduino: Manual de Programación
Luego viene el constructor. Ahora se indicará lo que debería suceder cuando alguien
crea una instancia a la clase. En este caso, el usuario especifica el pin que les gustaría
utilizar. Configuramos el pin como salida guardarlo en una variable privada para su uso
en las otras funciones:
Morse::Morse(int pin)
{
pinMode(pin, OUTPUT);
_pin = pin;
}
Hay un par de cosas extrañas en este código. El primero es el Morse:: antes del nombre
de la función. Esto indica que la función es parte de la clase Morse. Verá este de nuevo
en las otras funciones en la clase. La segunda cosa inusual es el guión bajo en el nombre
de nuestra variable privada, _pin. Esta variable puede tener cualquier nombre que
desee, siempre y cuando coincida con la definición que figura en el fichero de cabecera.
La adición de un guión bajo al comienzo del nombre es una convención para dejar claro
que las variables son privadas, y también a distinguir el nombre de la del argumento a la
función (pin en este caso).
Después viene el código del programa que queremos convertir en una función (¡por
fin!). Parece casi igual, excepto con Morse:: delante de los nombres de las funciones, y
_pin en lugar de pin:
void Morse::dot()
{
digitalWrite(_pin, HIGH);
delay(250);
digitalWrite(_pin, LOW);
delay(250);
}
void Morse::dash()
{
digitalWrite(_pin, HIGH);
delay(1000);
digitalWrite(_pin, LOW);
delay(250);
}
Por último, es típico incluir el comentario de cabecera en la parte superior de la fuente
así como el archivo. Vamos a ver el fichero completo:
39