Fork me on GitHub

Microcontrolandos

O Blog está passando por uma fase de mudanças. Todos os posts estão sendo atualizados, códigos, links e imagens estão sendo arrumados. Conteúdos novos ainda estão por vir.

Arduino: Acionamento por controle Remoto

Share:

Arduino: Acionamento por controle remoto



Para o arduíno existe uma biblioteca chamada IRremote que facilta muito na hora de fazer a comunicação através do controle remote infravermelho. Baixe essa biblioteca aqui.

O circuito é formado basicamente por um fototransistor infravermelho. Pode ser utilizado também o sensor IR TSOP1838.



RECUPERANDO O VALOR DE CADA BOTÃO
Primeiramente, você precisa saber qual valor é enviado para o arduíno quando você pressiona um botâo no controle remoto.

Este código abaixo ( é um dos exemplos da biblioteca IRremote ) faz com que o arduino recebe o sinal do controle remoto e decodifica-o, enviando através da serial.




Você verá no monitor serial:


A marcação em verde indica o protocolo de transmissão, no caso, o meu controle remoto utiliza o protocolo NEC;

A marcação em vermelho indica o código enviado pelo controle remoto e o número de bits enviado.

CÓDIGO
Depois de recuperado o valor de cada botão, vamos para o acionamento de leds, o código é muito simples:




Vídeo demostrando o funcionamento:



4 comentários:

  1. Cara tem algum circuito que possa aumentar a distância do controle, eu executei o projeto porem somente 10cm é o limite maximo para acionamento e desacionamento, se tiver informar para eu. VALEU !!!

    ResponderExcluir
    Respostas
    1. Se quiser uma distancia maior tera q utilizar um modulo receptor infravermelho, como o IRM2638.

      Excluir
  2. Após compilar o primeiro código desta página, acusa um erro, mostrando esta mensagem:

    C:\Program Files (x86)\Arduino\libraries\RobotIRremote\src\IRremoteTools.cpp:5:16: error: 'TKD2' was not declared in this scope
    int RECV_PIN = TKD2; // the pin the IR receiver is connected to
    ^
    exit status 1
    Erro compilando para a placa Arduino/Genuino Uno)

    Não entendi o porquê, saberia me informar o motivo e/ou como solucionar?

    ResponderExcluir