sábado, 14 de janeiro de 2012
IR - Infrared no Arduino
Uma biblioteca sensacional do Arduino é a <IRremote.h> para sinais Infra Red. Vou passar a dica geral para a transmissão e para recepção. Na transmissão, o código para envio é bem simples:
#include <IRremote.h>
IRsend irsend;
void setup()
{
Serial.begin(9600);
}
void loop() {
if (Serial.read() != -1) {
for (int i = 0; i < 3; i++) {
irsend.sendSony(0xa90, 12); // Sony TV power code
delay(100);
}
}
}
Lógico, é necessário conectar o LED de transmissão.
Agora a parte da recepção do sinal. Para conectar o sensor de recebimento use o seguinte esquema:
Para o recebimento do sinal o código:
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
}
Agora a dica principal. Ao invés de construir um sistema de transmissão é possível usar qualquer tipo de controle remoto. Para isso é necessário saber que código o controle transmite. Agora o mais sensacional, pesquisando na internet encontrei um site onde é possível saber o código de transmissão de qualquer controle remoto e com isso montar um sistema de automação.
Os arquivos estão no site abaixo, sugiro o donwload antes que esses documentos saiam do ar! As pastas estão separadas por fabricante!
http://lirc.sourceforge.net/remotes/
Mais detalhes sobre a biblioteca IR
http://www.arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
Mais sobre IR
http://rudrigolima.wordpress.com/2011/03/01/usando-controle-remoto-ir-para-acionamentos/
Assinar:
Postar comentários (Atom)
ola amigo...
ResponderExcluirsabes onde posso arrumar a biblioteca ir compativel com atmega8??
obrigado!
luis_lpc@hotmail.com
O Iremote.h tem que funcionar no ATMega8. Você precisa configurar a IDE jogando as libs lá dentro.
ResponderExcluirMuito Legal...
ResponderExcluiro controle da minha TV (philips) envia codigos muito aleatórios... se eu clicar varias vezes por ex. no botão power.. ele nunca sai o mesmo código... e qdo faz a leitura ele aparece q eh tipo unknown(desconhecido)
vc sabe oq pode ser?