Paso 6: Sketch de Arduino
RF de Arduino proyecto IR
por Jack Zaldivar
Manda de alta señal (250ms) cada 5 segundos, como prueba de escenario
#include < IRremote.h >
definir las salidas de Pin basados en el diseño del control remoto original
const int OFF1_PIN = 2;
const int OFF2_PIN = 3;
const int OFF3_PIN = 4;
const int ON1_PIN = 5;
const int ON2_PIN = 6;
const int ON3_PIN = 7;
int BASE_PIN;
la sección siguiente si para el proceso de IR
int RECV_PIN = 11;
char * recv_IR;
Irrecv(RECV_PIN) de IRrecv;
Irsend de IRsend;
resultados de la decode_results;
durante la función setup(); definir todos los pines como salida excepto el receptor de infrarrojos, que será una aportación
Esto también encenderá todos los pines de salida para bajo por defecto
void setup() {}
Definir todos los pines de encendido y modo en baja
pinMode (ON1_PIN, salida);
digitalWrite (ON1_PIN, bajo);
pinMode (ON2_PIN, salida);
digitalWrite (ON2_PIN, bajo);
pinMode (ON3_PIN, salida);
digitalWrite (ON3_PIN, bajo);
Definir todos de pernos y el modo de ajuste a la baja
pinMode (OFF1_PIN, salida);
digitalWrite (OFF1_PIN, bajo);
pinMode (OFF2_PIN, salida);
digitalWrite (OFF2_PIN, bajo);
pinMode (OFF3_PIN, salida);
digitalWrite (OFF3_PIN, bajo);
Serial.Begin(9600); Abrir puerto serie y fijar la tarifa de datos
irrecv.enableIRIn();
}
void loop() {}
Si (irrecv.decode (y resultados)) {}
/*
Descomentar estas líneas y controlar los valores en el monitor de Arduino Serial para ver datos de depuración
Serial.Print ("bits:");
Serial.println(Results.bits);
Serial.Print("type");
Serial.println(Results.decode_type);
Serial.Print ("ul valor:");
Serial.println(Results.Value);
Serial.println("---");
Serial.println (ultoa (results.value, NULL, results.bits));
prueba larga sin signo = strtoul ("a90", NULL, 12);
Serial.println(test);
*/
Si (results.value == 2704) //piano luz en - luz 1
{
processReceived(ON1_PIN);
}
Si (results.value == 2705) {//piano lámpara OFF - 1 luz
processReceived(OFF1_PIN);
}
Si (results.value == 2706) {//Table de luz - Light 2
processReceived(ON2_PIN);
}
Si (results.value == 2707) {//Table apagado - luz 2
processReceived(OFF2_PIN);
}
irrecv.resume(); Recibir el siguiente valor
}
}
{} void processReceived (int BASE_PIN)
digitalWrite (BASE_PIN, alto);
Delay(1000);
/*
Serial.Print líneas sólo se utilizan para propósitos de depuración. Descomentar si tendrá que ver el estado de la función
Serial.Print ("escribió");
Serial.Print(BASE_PIN);
Serial.println ("alto"); * /
digitalWrite (BASE_PIN, bajo);
/*
Serial.println ("escribió bajo");
Serial.Print ("procesar:");
Serial.println(BASE_PIN);
*/
}