2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Introdução
Olá a todos e bem-vindos ao meu primeiro Instructable.
Hoje vamos aprender, como diz o título, a emular um controle remoto de TV ou algo semelhante que funcione com sinais infravermelhos usando o Arduino (qualquer modelo).
O problema era: como posso transmitir códigos a um objeto se não conheço o código?
Pesquisando na internet não encontrei a resposta para minha pergunta, então comecei a pensar e inventei esse método sozinho.
Neste tutorial, mostrarei como fazer isso.
P. S.:
Antes de começarmos, vou dizer que as comunicações Ir são muito complexas e exigem um pouco de conhecimento primeiro.
Etapa 1: Material
Você precisa de menos componentes do que pensa:
-Arduino (usei o Leonardo)
-470ohm ou resistor semelhante! ATENÇÃO !: o valor do resistor pode mudar dependendo do seu LED IV
-IR led (usei SFH4546)
-Alguns Jumpers
-IR receptor (usei TSOP38238)
-Breadboard
Isso é o que usei para este circuito simples, mas essencial.
EDITAR: Se você usar o meu mesmo led, não use nenhum resistor entre o pino do Arduino e o led porque diminuirá muito a distância de você pode usar o seu controle remoto
Se não usar o mesmo LED sugiro colocar um aparador e regular como quiser
Etapa 2: Circuito e codificação
Agora vamos dar uma olhada no circuito.
Precisamos construir 2 circuitos:
-O primeiro circuito precisa capturar o sinal do controle remoto.
-O segundo transmite o sinal que capturamos antes.
Então pegue o arduino, a placa de ensaio, os fios e o receptor e vamos começar a trabalhar
Primeiro conecte 5v e GND ao seu receptor (o meu tem no pedido OUT, GND, 5V)
O pino OUT precisa ser conectado ao pino 2 do Arduino. (Como o circuito se parece)
Depois de fazer isso, precisamos conectar o ânodo do nosso led ao resistor e o cátodo ao aterramento.
A partir do resistor, conectaremos mais tarde ao pino que é definido pela biblioteca Ir. (Como é o circuito)
O código é muito simples:
Primeiro, precisamos instalar as bibliotecas:
-A biblioteca IrLib2 para a passagem de recepção
Você precisa então abrir o arquivo zip e copiar as pastas dentro desse arquivo para a pasta de bibliotecas.
-A biblioteca IrRemote para enviá-lo
Depois de fazer isso, abra o IDE do Arduino e, no menu de exemplos, vá para a pasta de exemplos IrLib2 e carregue o esboço "RawRecv.ino" na placa do Arduino.
Uma vez carregado na placa, abra o monitor serial, pegue o controle remoto que deseja emular, aponte para o receptor Ir e pressione um botão nele: você verá alguma saída (código bruto) no monitor, então apenas copie-o a área de transferência.
A próxima passagem é o envio dos códigos que adquirimos.
Cada modelo Arduino tem seu próprio pino para a classe IRsend e você não pode alterá-lo devido a algumas restrições do hardware.
Aqui há uma mesa com a configuração de pinos de algumas placas Arduino.
Este é o meu esboço, ele envia o comando channel_up para uma velha TV Samsung:
#incluir
IRsend irsend; # define RAW_DATA_LEN 68 // saída de RawRecv uint16_t rawData [RAW_DATA_LEN] = {4458, 4482, 546, 1698, 550, 1690, 554, 1690, 546, 606, 518, 610, 526, 602, 522, 606, 526, 602, 522, 1694, 554, 1686, 550, 1694, 550, 602, 522, 606, 530, 598, 526, 602, 522, 606, 526, 602, 522, 1694, 554, 598, 522, 606, 530, 1686, 554, 602, 518, 610, 522, 602, 522, 1694, 554, 602, 522, 1694, 550, 1690, 546, 610, 526, 1690, 546, 1694, 554, 1690, 546, 1000}; void setup () {} void loop () {irsend.sendRaw (rawData, RAW_DATA_LEN, 38); // envia dados brutos com atraso de frequência de 38 KHz (1000); // 1 segundo de atraso entre cada rajada de sinal}
Preste ATENÇÃO: copiar e colar no IDE pode não funcionar, se não funcionar, você precisa escrever todas as linhas
Etapa 3: teste e acabamento
É hora de um teste agora!
Aponte seu led para o receptor da mesma forma que você aponta o controle remoto e liga seu Arduino, espere um segundo e você verá que o dispositivo receptor começará a fazer o que estamos dizendo para ele fazer, então é isso!
Se algo estiver errado, por favor, deixe um comentário abaixo.
É o fim do nosso Instructable. Espero que seja útil para você.
Comente se quiser um vídeo deste tutorial e ……….
para o próximo Instructable!