olá.
Quero ligar minha TV pelo controle remoto da TV a cabo.
Estou com esse código.


#include <IRremote.h>
IRsend irsend;
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
}
if (results.value == 0xC2E2807F) {
for (int i = 0; i < 1; i++) {
irsend.sendNEC(0xC2E2F40B, 32); // Sony TV power code
delay(40);
}
}
}

Ele reconhece o botão do controle e faz o IR enviar o sinal para ligar a TV mas fica mandando o sinal direto não para, e só consigo ler uma vez o receptor de IR.
Como faço para isso funcionar.
Obrigado.

Exibições: 328

Responder esta

Respostas a este tópico

companheiro, vc precisaria fazer a pergunta da maneira correta para que as pessoas tenham a possibilidade de te compreender e, quem sabe, ajudar.

A dúvida que fica após ler sua postagem inicial é: "será que o sujeito está tentando ligar a TV através de um controle remoto da TV a cabo mesmo???? E onde entra o sketch nessa história? "

Sim estou tentando ligar o aparelho de TV atraves da controle da NET (Tv a cabo).

Fiz esse sketch e como disse ele passa o sinal mas não para e não consigo mandar outro sinal.

Por isso mandei o sketch, para alguem tentar uma solução. ou ideia.

amigo, explica melhor o que vc quer fazer. Considere que não estamos presenciando o que vc tem aí, e portanto vc precisa ser mais claro.

 Olá Renan.

 Pelo que entendi, e pelo código acima, me parece que não é a "melhor" solução para o caso.

 Primeiro parte: identificar o botão pressionado do controle remoto.

 Até ai me parece consistente a idéia de manter o seu código lendo constantemente o sinal recebido pelo controle remoto. Não sendo necessário parar a leitura em nenhum momento.

 Segunda parte: enviar o sinal IR para ligar a TV.

 Nesse caso você precisa "antes de qualquer outra coisa", gravar o código do botão liga/desliga do controle da TV. Uma vez que você já sabe identificar o botão pressionado do controle da net, basta fazer o mesmo procedimento para o controle da TV. Tendo este código, ele irá se tornar uma constante dentro do seu sketch.

 Outro ponto, usar outro IR direcionado para a TV em outra porta.

 Como vi no seu código, está declarada apenas uma porta de IR.  Para tornar tudo mais simples, deixe dois IR ligados na placa. Um direcionado para a TV, e outro direcionado para o controle.

 Assim um sempre estará recebendo os comandos, e o outro envia quando necessário.

 Mas você pode também manter um IR apenas, mas terá que abrir a TV para ligar diretamente seu controle ao botão da TV por exemplo. Dai é outros 500. rs

 Acho que deve ter dado uma ajuda no que precisa.

 Espero ter ajudado. ^^

 T++.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço