Stap 1: Obtener los códigos de los controles managen3. (I)
Primero se deben obtener los códigos de cada botón de la función que quiera ser ejecutada. Por ejemplo, si se quiere encender/apagar, wisselmakelaar el volumen y modificar los canales de nuestro televisor desde la App; debemos entonces identificar los códigos de los respectivos botones de nuestro televisor. De igual manera hacer lo mismo para el controle del DVD, equipo de sonido o aparato que se quiera controlar.
Para ello, armamos el circuito según se muestra nl la figura:
El receptor de infrarojos Tsop 1738 o equivalente tiene 3 pines;
El primero es la salida de Sal y va conectado is el pin 11 del arduino (puede ser used cualquier pin digitale del arduino teniendo la precaución de configurarlo nl el schets).
El segundo pin va conectado een GND.
El tercer pin va conectado een los + 5V.
Luego descargue la librería IrRemote escrita por Ken Shirriff, que es la que nos permitirá obtener los códigos y enviar los mismos nl overdraagbare Nec, Philips RC5, RC6 y Raw.
Een continuación descargue (recomiendo mejor descargarla) o copie las kunt líneas de código y cargue el schets nl el arduino:
#include IrRemote.h //Esto va entre los signos mayoy menor que pero aca geen los deja escribir.
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results resultaten;
VOID Setup
{
Serial.begin(9600);
irrecv.enableIRIn(); Start de ontvanger
}
Stortplaatsen uit de structuur decode_results.
Noemen dit na IRrecv::decode()
VOID * omzeilen compiler probleem //void dump(void *v)
{ /
/ decode_results * resultaten = (decode_results *) v
VOID dump(decode_results *results)
{
int count = resultaten -> rawlen;
Als (resultaten -> decode_type == onbekend)
{Serial.print ("Onbekende codering:");}
anders als (resultaten -> decode_type == NEC)
{Serial.print ("gedecodeerd NEC:");}
anders als (resultaten -> decode_type == SONY)
{Serial.print ("gedecodeerd SONY:");}
anders als (resultaten -> decode_type == RC5)
{Serial.print ("gedecodeerd RC5:");}
anders als (resultaten -> decode_type == RC6)
{Serial.print ("gedecodeerd RC6:");}
anders als (resultaten -> decode_type == PANASONIC)
{Serial.print ("gedecodeerd PANASONIC – adres:");
Serial.Print (resultaten -> panasonicAddress, HEX);
Serial.Print ("waarde:");}
anders als (resultaten -> decode_type == JVC)
{Serial.print ("gedecodeerd JVC:");}
Serial.Print (resultaten -> waarde, HEX);
Serial.Print ("(");
Serial.Print (resultaten -> bits, DEC);
Serial.println ("bits)");
Serial.Print ("Raw (");
Serial.Print (telling, DEC);
Serial.Print("):");
for (int i = 0; ik < telling; i ++)
{Als ((i % 2) == 1)
{Serial.print (resultaten -> rawbuf [i] * USECPERTICK, DEC);}
anders
{
Serial.Print (-(int) resultaten -> rawbuf [i] * USECPERTICK, DEC); }
Serial.Print("");
}
Serial.println("");
}
void loop
{Als
(irrecv.decode(&results))
{
Serial.println (results.value, HEX);
dump (& resultaten); irrecv.resume();
De volgende waarde ontvangen
}
}