Apresentando o diabo de TV, uma brincadeira Arduino de controle remoto fácil

Propaganda

Propaganda
Propaganda

Esconda isso na sua sala de estar e ria, já que a caixa TiVo é aparentemente possuída por um demônio que exige assistir a canais de compras bregas. Se o seu objetivo final é desligar todas as TVs do bairro ou construir um controle remoto universal controlado por Siri, este projeto serve como um excelente ponto de partida para aprender os conceitos básicos de controle e receptores de infravermelho.

Nessa “brincadeira”, estaremos fazendo um dispositivo que grava e reproduz uma série de comandos remotos IR. Ele funcionará com qualquer dispositivo que use um controle remoto IR ou até mesmo uma combinação de dispositivos de uma só vez, gravando até 10 teclas pressionadas.

Componentes

Aqui está uma lista das coisas que você precisa para este projeto:

  • Arduino e patch cables
  • Receptor IR, como o TSOP382 - mas você deve ser capaz de encontrar um compatível em eletrônica antiga. Tirei o meu de um controlador de iluminação RGB de reposição. Eles normalmente têm 3 pernas e são pretos, com um lado parecendo um LED que foi cortado ao meio e preso. Tenho certeza que há uma palavra técnica para isso.
  • LED transmissor IR, como o TIL38 - mais uma vez, isso é muito comum, mas eu comprei um novo de alta potência da Maplin; eles parecem idênticos a qualquer outro LED, por isso certifique-se de não misturá-los em seu kit eletrônico!
  • Resistência adequada para o seu LED IV - use esta calculadora LED, dada a tensão de alimentação (5 V do Arduino), e a tensão e corrente para a frente a partir da folha de dados LED (geralmente em torno de 1, 2 V @ 20 mA). Isso saiu como 220 ohms no meu caso.
  • Botão, e 10k pulldown e 100 ohm resistores.
  • Faça o download da biblioteca remota de infravermelho por Ken Shirriff do Github e coloque em sua pasta Arduino / Bibliotecas . Há também algum código de exemplo que usaremos, que deve ser acessível a partir do menu Arduino Open -> Libraries .

componentes

Fiação

Enfrente este circuito em três partes - o interruptor é um pouco complicado, mas todo o resto é fácil. Lembre-se que a perna curta do LED com a face plana é o cátodo (negativo ou terra); a perna longa é o ânodo (positivo).

circuito-diagrama-ir-brincadeira

Sinais de Recebimento

Vá em frente e abra o código de exemplo bibliotecas / IRremote / IRrecvDemo . Certifique-se de que o RECV_Pin esteja configurado corretamente, compile e faça o upload, depois abra o console Serial com 9600 baud. Pegue qualquer controle remoto que você tenha em mãos, aponte-o para o seu receptor e comece a pressionar os botões. Botões diferentes produzirão códigos diferentes; alguns indicarão um pressionamento longo com o código inicial, em seguida, FFFFFF, enquanto controles remotos diferentes podem simplesmente repetir o código novamente.

irrecv

Para uma visualização mais detalhada dos dados sendo recebidos, dê uma olhada no exemplo IRrecvDump, que indicará o tipo de sinal recebido (NEC de 32 bits, neste caso) e os valores brutos. É bom saber, mas na maioria dos casos você só quer os valores decodificados.

irdump

Repetindo um sinal

Nós não estaremos escrevendo nossa pegadinha hoje do zero, então vá em frente e confira o exemplo do IRrecord . A complexidade do código aumenta bastante aqui, mas na maioria das vezes é necessário lidar com diferentes tipos de códigos IR - fundamentalmente, eis o que está acontecendo dentro do loop:

  • Verifique se o botão está sendo pressionado, reproduza o sinal atualmente armazenado e repita a cada 50 ms até que seja pressionado.
  • Se não estiver sendo pressionado e um sinal for detectado, registre isso.

A maior limitação deste exemplo é que ele só funciona com um código por vez, portanto, se você pressionar outro botão remoto, ele sobrescreverá o último. O botão simplesmente reproduz o último sinal recebido. Compile e execute o código para que você possa ter acesso a este repetidor de sinal básico. Para reproduzir um único sinal, funciona bem, mas isso é de pouca utilidade prática em uma brincadeira ou não.

A brincadeira!

Vamos modificá-lo um pouco para gravar 10 ou mais sinais maliciosos. Você pode encontrar o código modificado completo aqui, mas aqui está um resumo das alterações que eu fiz no caso de você querer programar isso para você:

  • Defina 3 novos arrays de tamanho 10 para armazenar um conjunto de sinais cada vez que um é detectado e um inteiro para armazenar o tamanho desses arrays.
  • Armazene um índice de onde estamos atualmente nessa matriz. Aumente o índice cada vez que um sinal for detectado - mas não aumente se o sinal for um código de repetição.
  • Um valor booleano que impede que mais seja gravado assim que atingimos o máximo.
  • Um booleano para indicar se estamos no modo de reprodução ou não, em vez de ter que segurar o botão; também modificou a lógica do botão para alternar isso.

Observe que o LED indicador no Arduino (pino 13) será ativado quando a memória estiver cheia. Agora, você deve gravar 10 pressionamentos de botão - não menos - e o modo de repetição esperará 1 segundo entre cada repetição de botão. Aqui está em ação:

Você pode jogar com mais brincadeiras IR, ou considere isso um bom começo em um projeto de automação residencial mais épico Guia de Automação Residencial Com Raspberry Pi e Arduino Guia de Automação Residencial com Raspberry Pi e Arduino O mercado de automação residencial é inundado com sistemas de consumo caros, incompatíveis entre si e dispendiosos de instalar. Se você tem um Raspberry Pi e um Arduino, basicamente pode conseguir a mesma coisa em ... Leia mais; e não esqueça de verificar todos os outros projetos do Arduino. Compartilhe suas criações (ou problemas) nos comentários e mostre seu agradecimento por este artigo, compartilhando-o em suas redes sociais favoritas!

Crédito da imagem: DaGoaty

In this article