- Componentes necessários:
- Explicação de trabalho:
- Diagrama de circuito:
- Decodificando sinais de controle remoto IR usando Arduino:
- Construindo o aplicativo Android para IR Blaster:
Comecei este projeto para me livrar de vários controles remotos em minha casa e construir algo único que pudesse incorporar recursos de todos eles. Tive esta ideia quando vi um dos telemóveis do meu amigo com blaster de infravermelhos integrado, na altura decidi não comprar um telemóvel semelhante, em vez de fazer o meu próprio dispositivo que deverá ser compatível com o meu auscultador existente. Portanto, aqui vamos converter um telefone Android em um controle remoto infravermelho usando o Arduino para controlar vários dispositivos em casa.
Componentes necessários:
- Arduino Uno
- LED IV
- Receptor TSOP-IR (1838T)
- Módulo Bluetooth (HC05)
- Dispositivo Android (telefone, tablet, etc.)
Explicação de trabalho:
Geralmente usamos dois controles remotos para operar a TV em casa, um para a televisão e um para o decodificador, então aqui neste projeto estou direcionando esses dois controles remotos e fazendo um telefone Android funcionando como IR Blaster para que a TV possa ser controlada com o telefone, sem tocar em nenhum dos controles remotos.
Usar uma placa Arduino Uno tornou mais fácil para mim lidar com a decodificação e codificação IR. O escudo personalizado apenas adiciona à parte de conveniência deste projeto. A blindagem consiste em um receptor TSOP IR (1838T), um LED IR e um módulo Bluetooth (HC-05), veja a imagem abaixo:
Você pode construir o escudo personalizado ou conectar diretamente os componentes ao Arduino, conforme mostrado no 'Diagrama de circuito' na seção abaixo.
Antes de avançar, vamos primeiro discutir sobre 'como funcionam os controles remotos IR'. A maioria dos controles remotos IR trabalham em torno de frequências de 38 KHz (esta é a razão pela qual escolhi 18 38 T). Ao se aprofundar neste tópico, reconheceremos que não há representação fixa para zeros e uns nesses métodos de transmissão de dados IR. Esses códigos fazem uso de várias técnicas de codificação que estudamos em nosso currículo de engenharia (já que sou um estudante de engenharia eletrônica). O significado de 38 KHz é que é a frequência na qual o sinal oscila quando logicamente alto, ou seja, esta é a frequência portadora do sinal. Dê uma olhada na foto abaixo; este é um exemplo de protocolo NEC. Isso tornará seu conceito mais claro:
Então é assim que funciona este IR Blaster; um telefone Android com o aplicativo Android feito sob medida envia o sinal para o circuito do Arduino via Bluetooth, além disso, o Arduino recebe o sinal através do receptor TSOP-IR (1838T) e o analisa. Em seguida, o Arduino comanda o LED IR para piscar em um padrão específico, correspondendo ao botão pressionado naquele aplicativo de dispositivo Android. Este padrão de piscar é capturado pela TV ou receptor IR do decodificador e segue as instruções de acordo, como mudar o canal ou aumentar o volume.
Mas antes disso, precisamos decodificar os controles remotos existentes. Conforme mencionado anteriormente, neste projeto usei dois controles remotos, um que se comunica com a TV, enquanto o outro é para o decodificador conectado à TV.
Diagrama de circuito:
Decodificando sinais de controle remoto IR usando Arduino:
A placa Arduino aqui funciona em duas fases, uma é quando você a usa para decodificar códigos IR remotamente e outra é quando você a usa como o dispositivo de blaster IR.
Vamos falar sobre a primeira fase. Agora, para decodificar os códigos do botão IR, usei o arquivo de cabeçalho IRremote de Ken Shirriff . Este arquivo de cabeçalho tem muitos exemplos / códigos predefinidos apenas para tornar mais fácil para nós trabalharmos com códigos IR:
- Você primeiro precisa baixar e instalar a biblioteca remota IR aqui
- Descompacte-o e coloque-o na pasta 'Bibliotecas' do Arduino. Em seguida, renomeie a pasta extraída para IRremote.
- Em seguida, grave o código fornecido abaixo no Arduino, conecte o escudo personalizado conforme mostrado acima e coloque um controle remoto para ser decodificado na frente do receptor TSOP IR. Abra o monitor serial correspondente a este Arduino e pressione qualquer botão desejado no controle remoto. Você verá algumas informações exibidas no terminal, essas informações envolvem o tipo de código, seu valor e a quantidade de bits envolvidos nele. É assim que parece:
#incluir
Depois de concluir a parte de decodificação desejada, anote todos os valores de decodificação e outras informações com o nome do botão correspondente pressionado. Isso servirá como um banco de dados para a próxima fase do Arduino. O programa acima é retirado da pasta 'exemplos' da biblioteca IRremote, você pode verificar mais exemplos para aprender mais sobre como usar o controle remoto IR. Então foi assim que decodificamos a saída remota IR.
Agora grave o Código, fornecido na seção Código no final, nesta mesma placa. Parabéns, você concluiu a primeira metade deste projeto.
Construindo o aplicativo Android para IR Blaster:
Aí vem a segunda metade, a criação do aplicativo Android. Eu simplesmente prefiro usar o APP inventor-2 do MIT para fazer esse tipo de aplicativo. Se você for um amador na codificação do Android, isso economizará seu tempo e fornecerá bons resultados. Os principais componentes usados na confecção deste aplicativo não são muitos, apenas alguns botões e um pacote de cliente Bluetooth. Ao codificar o aplicativo, forneça o texto correspondente a ser enviado para cada botão pressionado na tela, que solicitaria ao Arduino para piscar o LED IV da mesma maneira que faria com o controle remoto individual; certifique-se também de fornecer o endereço correto do módulo Bluetooth HC-05. Esta é a aparência do aplicativo final em seu smartphone Android:
Aqui está o processo passo a passo para construir o aplicativo:
PASSO 1:
Faça logon neste link: ai2.appinventor.mit.edu ou tente pesquisar o MIT appinventor-2 no Google. O login no AI2 requer uma conta do Google, portanto, se ainda não tiver, crie uma.
PASSO 2:
Depois de fazer login com sua conta do Google, você será redirecionado para a página de trabalho do AI2, que se parece com esta:
Inicie um novo projeto clicando na guia “Projetos” na parte superior e selecione “Iniciar Novo Projeto”. Quando você terminar com a parte de nomeação e tudo, uma tela em branco será exibida para você na qual você pode colocar botões e texto como mostrado acima. Esta é a tela da GUI, na qual você decide como o aplicativo seria para um usuário.
Para usar um pacote de botão, selecione a guia “Botão” no lado esquerdo da tela na seção “Interface do usuário”. Basta arrastar qualquer pacote do menu do lado esquerdo e soltá-lo na tela de trabalho. Da mesma forma, para exibir qualquer coisa relacionada a texto, use o pacote “Label”.
ETAPA 3:
Depois de organizar todos os seus botões e rótulos, agora é hora de criar um código para este aplicativo. Mas antes disso, precisamos selecionar um pacote Bluetooth também para nos comunicarmos com o Arduino.
Você notará que este pacote não é exibido na tela, mas sim em “Componentes não visíveis”. Esses são os componentes que não têm significado na composição da GUI.
PASSO 4:
Em seguida, vem a seção de codificação, na qual você definirá a função dos componentes selecionados e com os quais deseja trabalhar.
No lado esquerdo da tela, você notará todos os pacotes que selecionou na seção GUI. A imagem acima mostra todos os componentes de um pacote específico que você pode usar. Observe também que o endereço do módulo Bluetooth deve ser fornecido em formato textual.
SETP 5:
Quando achar que o aplicativo está pronto para ser usado e não houver erros também, clique na guia “Construir” conforme mostrado acima e selecione a segunda opção. Isso fará o download do seu próprio aplicativo criado para o computador, no formato “.apk”. Em seguida, basta transferir esse arquivo.apk para qualquer dispositivo Android e clicar nele para instalar.
Então é assim que você pode controlar qualquer dispositivo de controle remoto IR com seu telefone inteligente, você só precisa decodificar o controle remoto de todos os aparelhos que deseja controlar com seu telefone e substituir o código HEX decodificado dos botões remotos no código do Arduino.