Étape 1: Obtener los códigos de los controles Quarto. (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, cambiar el volumen y Québec los canales de nuestro desde la televisor App ; debemos entonces identificar los códigos de los respectivos botones de nuestro televisor. De igual manera hacer lo mismo el de para contrôler del DVD, equipo de sonido o aparato que se quiera controlar.
Para ello, armamos el circuito según se muestra en la figura :
El du récepteur de infrarojos Tsop 1738 o equivalente tiene 3 pines ;
El primero es la salida de señal y va conectado hacia el broche 11 del arduino (puede ser usado cualquier broche numérique del arduino teniendo la precaución de configurarlo en el croquis).
El segundo broche va conectado une GND.
El tercer broche va conectado a 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 fr protocolos Nec, Philips RC5, RC6 y Raw.
A continuación descargue (recomiendo mejor descargarla) o copie las siguientes líneas de código y cargue el croquis en el arduino :
#include IrRemote.h //Esto va entre los signos mayoy menor que pero aca aucun escribir deja de los.
int RECV_PIN = 11 ;
IRrecv irrecv(RECV_PIN) ;
résultats de la decode_results ;
void setup()
{
Serial.Begin(9600) ;
irrecv.enableIRIn() ; Démarrer le récepteur
}
Décharges de la structure decode_results.
Appelons cela après IRrecv::decode()
void * de travailler autour du compilateur question //void dump(void *v)
{ /
/ decode_results * résultats = (decode_results *) v
Sub dump(decode_results *results)
{
int count = résultats -> rawlen ;
Si (résultats -> decode_type == inconnu)
{Serial.print ("codage inconnu:");}
ElseIf (résultats -> decode_type == NEC)
{Serial.print ("décodé NEC:");}
ElseIf (résultats -> decode_type == SONY)
{Serial.print ("décodé SONY:");}
ElseIf (résultats -> decode_type == RC5)
{Serial.print ("décodé RC5:");}
ElseIf (résultats -> decode_type == RC6)
{Serial.print ("décodé RC6:");}
ElseIf (résultats -> decode_type == PANASONIC)
{Serial.print ("décodé PANASONIC – adresse:") ;
Serial.Print (résultats -> panasonicAddress, HEX) ;
Serial.Print ("valeur:");}
ElseIf (résultats -> decode_type == JVC)
{Serial.print ("décodé JVC:");}
Serial.Print (résultats -> value, HEX) ;
Serial.Print ("(") ;
Serial.Print (résultats -> mèches, DEC) ;
Serial.println "(bits)") ;
Serial.Print ("Raw (") ;
Serial.Print (comptage, DEC) ;
Serial.Print("):") ;
pour (int i = 0; i < count; i ++)
{Si ((i % 2) == 1)
{Serial.print (résultats -> rawbuf [i] * USECPERTICK, DEC);}
d’autre
{
Serial.Print (-résultats (int) -> rawbuf [i] * USECPERTICK, DEC) ; }
Serial.Print("") ;
}
Serial.println("") ;
}
void loop()
{if
(irrecv.decode(&results))
{
Serial.println (results.value, HEX) ;
benne basculante (et résultats) ; irrecv.Resume() ;
Recevoir la valeur suivante
}
}