Paso 5: código
El código para el proyecto se puede descargar como Code.txt desde abajo. Proporciono un resumen básico del código a continuación.CÓDIGO RESUMEN-
Primero incluimos la librería remota IR para control remoto hecho por sheriff ken puede descargar la biblioteca en el siguiente enlace-http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
#include
Ahora definimos los diferentes botones por su código hexadecimal. Observe que este código es único para un particular .esta remoto puede encontrarse hacia fuera usando el ejemplo de demostración de recibir en la propia biblioteca.
largo colores [11] = {}
0x33FFFF,
.
.
.
.
.
}
Inicializa el pin 7 como el pin de recepción
int RECV_PIN = 7;
Para comenzar a recibir y descifrar la señal Ir del control remoto que tenemos el siguiente segmento de código.
Irrecv(RECV_PIN) de IRrecv;
resultados de la decode_results;
Declarar varios pines de entrada y salidas en la función de configuración.
void setup()
{
Serial.Begin(9600); Empezar comunicación serial a 9600 baudios
irrecv.enableIRIn(); Habilita el receptor
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
digitalWrite (4, bajo); //Connected al pin GND de IR tsop
digitalWrite (5, HIGH); //Connected al pin VCC de IR tsop
pinMode(redPin,OUTPUT);
pinMode(greenPin,OUTPUT);
pinMode(bluePin,OUTPUT);
}
En la función loop comprueban si ningún botón ha sido presionado y hacer la operación requerida.
void loop() {}
Si (irrecv.decode (y resultados)) {}
Serial.println (results.value, hexagonal);
if(Results.Value==EQ)
{
modo =! modo;
}
Comparar el valor almacenado en la variable de resultados y almacén correspondiente valor en la variable i.
if(Results.Value==Zero)
{
i = 0;
}
if(Results.Value==One)
{
i = 1;
}
.
.
.
irrecv.resume(); Recibir el siguiente valor
}
El parámetro se pasa a la función de colores que muestra el color correspondiente.
setColor(Colors[i]);
El siguiente código se utiliza para dar una vela como efecto que oscila. Este efecto se logra teniendo un retraso aleatorio.
if(Mode)
{
analogWrite(redPin,0);
analogWrite(greenPin,0);
analogWrite(bluePin,0);
Delay(Random(200));
}
}
Nota: - los mejores cuando las velas se agrupan
Gracias a todos y me encantaría saber de usted