Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <IRremote.h> // Biblioteca IRremote Version - 2.2.1 https://github.com/z3t0/Arduino-IRremote
- int recvPin = 11; // Port para entrada do sinal do IR
- IRrecv irrecv(recvPin); // Estabelecendo
- IRsend control;
- unsigned int botao[RAWBUF]; // Criando a array para os RAWs
- //------------------------------------
- void setup ( )
- {
- Serial.begin(9600); // Inicialisa a serial
- irrecv.enableIRIn(); // Inicialisa recepecao de IR
- Serial.println("Click no RC"); // Print
- }
- //------------------------------------
- void ircode (decode_results *results) // Decodifica os dados recebidos
- {
- if (results->decode_type == PANASONIC) // Panasonic tem um endereco
- {
- Serial.print(results->address, HEX); // Informa o endereco
- Serial.print(":"); // Print
- }
- Serial.print(results->value, HEX); // Print o Code
- }
- //------------------------------------
- void encoding (decode_results *results) // Identifica o tipo do RC
- {
- switch (results->decode_type) // Seleciona o tipo de RC
- { // Imprime o tipo de RC
- default:
- case UNKNOWN: Serial.print("UNKNOWN"); break ;
- case NEC: Serial.print("NEC"); break ;
- case SONY: Serial.print("SONY"); break ;
- case RC5: Serial.print("RC5"); break ;
- case RC6: Serial.print("RC6"); break ;
- case DISH: Serial.print("DISH"); break ;
- case SHARP: Serial.print("SHARP"); break ;
- case JVC: Serial.print("JVC"); break ;
- case SANYO: Serial.print("SANYO"); break ;
- case MITSUBISHI: Serial.print("MITSUBISHI"); break ;
- case SAMSUNG: Serial.print("SAMSUNG"); break ;
- case LG: Serial.print("LG"); break ;
- case WHYNTER: Serial.print("WHYNTER"); break ;
- case AIWA_RC_T501: Serial.print("AIWA_RC_T501"); break ;
- case PANASONIC: Serial.print("PANASONIC"); break ;
- case DENON: Serial.print("Denon"); break ;
- }
- }
- //------------------------------------
- void dumpInfo (decode_results *results) // Monta o HEX do IR
- {
- if (results->overflow) // Verifica se houve buffer overflow
- { // Se houve print
- Serial.println("IR code too long. Edit IRremoteInt.h and increase RAWLEN");
- return;
- }
- Serial.print("Encoding: "); // Print
- encoding(results); // Chama a rotina de identificação
- Serial.print(""); // Print
- Serial.print(" Code: "); // Print
- ircode(results); // Imprime o code em HEX
- Serial.print(" ("); // Print
- Serial.print(results->bits, DEC); // Informa qtos bits tem o code
- Serial.println(" bits)"); // Print
- }
- //------------------------------------
- void loop ( )
- {
- decode_results results; // Guarda os resultados lidos
- if (irrecv.decode(&results)) // Se recebeu um code
- {
- dumpInfo(&results); // Mostra os resultados
- irrecv.resume(); // prepare para nova recepecao
- irrecv.enableIRIn(); // Inicialisa recepecao de IR
- }
- delay(200); // Delay
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement