Lo primero hay que mencionar los archivos básicos de la librería, que son dos, uno con extensión .h y otro con extensión .cpp.
A la librería le llamaremos Rgb, por lo tanto serán los archivos Rgb.h y Rgb.cpp
Empezamos con el .h
- Rgb.h
/*
Rgb.h
Created by millan2525 http://arduinofacill.blogspot.com.es/
*/
#ifndef Rgb_h
#define Rgb_h
#include "Arduino.h"
class Rgb
{
public: Rgb(int red, int green, int blue); void color(int rojo, int verde, int azul);
private:
int _red;
int _green;
int _blue;
};
#endif
Si vamos por partes, el ifndef y el define Rgb_h lo quita errores de incompatibilidad al llamar varias veces a la clase.
El #include "Arduino.h" incluye las funciones principales de arduino, que un scketch carga por defecto.
Despues simplemente nombramos los metodos y procesos, y los asignamos según sean públicos o privados(Solo pueden ser editados y ejecutados desde dentro de la clase).
#endif finaliza la clase.
Si pasamos al segundo archivo, el cpp.
Rgb.cpp
/*
Rgb.cpp
Created by millan2525 http://arduinofacill.blogspot.com.es/
*/
#include "Arduino.h"
#include "Rgb.h"
Rgb::Rgb(int red, int green, int blue)
{
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
_red = red;
_green = green;
_blue = blue;
}
void Rgb::color(int rojo, int verde, int azul)
{
if(rojo == 1){
digitalWrite(_red, HIGH);
} else {
digitalWrite(_red, LOW); }
if(verde == 1){
digitalWrite(_green, HIGH);
} else {
digitalWrite(_green, LOW); }
if(azul == 1){
digitalWrite(_blue, HIGH);
} else {
digitalWrite(_blue, LOW); }
}
#include "Arduino.h"
#include "Rgb.h"
Incluye los archivos Arduino.h y Rgb.h(el que hemos creado y el de arduino básico)
Rgb::Rgb(int red, int green, int blue)
{
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
pinMode(blue, OUTPUT);
_red = red;
_green = green;
_blue = blue;
}
Inicia los valores al iniciar la clase, Rgb:Rgb hace referencia a la clase.
void Rgb::color(int rojo, int verde, int azul)
{
if(rojo == 1){
digitalWrite(_red, HIGH);
} else {
digitalWrite(_red, LOW); }
if(verde == 1){
digitalWrite(_green, HIGH);
} else {
digitalWrite(_green, LOW); }
if(azul == 1){
digitalWrite(_blue, HIGH);
} else {
digitalWrite(_blue, LOW); }
}
crea la función color, con los parametros de los tres leds independientes.
Mañana explicaré como se usa y algunas otras cosas
Un saludo ;)
No hay comentarios:
Publicar un comentario