Apresentando a tv diabo, um fácil controle remoto arduino prank

Esconder isso em sua sala de estar e rir como a caixa de TiVo é aparentemente possuído por um demônio que exige para assistir canais de compras de queijo. Se o seu objetivo final é desligar todas as TV no bairro ou construir um controle remoto universal controlado por Siri, este projecto serve como um excelente ponto de partida para aprender as noções básicas de controle de IR e receptores.

Nessa "brincadeira", que estará fazendo um dispositivo que registra, em seguida, reproduz, uma série de comandos remotos IR. Ele vai trabalhar com qualquer dispositivo que usa um controle remoto IR, ou mesmo uma combinação de dispositivos de uma vez - a gravação de até 10 teclas pressionadas.

componentes

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

  • fios Arduino e de patch
  • receptor de IR, como TSOP382 - mas você deve ser capaz de encontrar um compatível em aparelhos eletrônicos velhos. Puxei meu fora de um controlador de iluminação RGB de reposição. Eles normalmente têm 3 pernas e são preto, com um dos lados parecendo um LED que foi picada no meio e preso por diante. Eu tenho certeza que há uma palavra técnica para isso.
  • transmissor IR LED, tais como TIL38 - mais uma vez, estes são bastante comuns, mas eu comprei um nova alta potência a partir Maplin- eles olham idêntico a qualquer outro LED, por isso não se esqueça de levá-los misturados em seu kit de eletrônica!
  • resistor adequado para o seu LED IR - usar esta calculadora LED tendo em conta a tensão de alimentação (5 V a partir do Arduino), e a tensão para a frente e de corrente a partir da folha de dados de diodo emissor de luz (normalmente cerca de 1,2 V @ 20 mA). Este saiu como 220 ohms no meu caso.
  • Botão, e 10k suspenso e 100 ohm resistores.
  • Faça o download do biblioteca remota IR por Ken Condestáveis ​​do Github e colocar em seu Arduino / Bibliotecas pasta. Há também alguns códigos de exemplo vamos usar, que deve ser acessível a partir do Arduino Abertas -> Bibliotecas cardápio.

componentes

Fiação

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



circuit-diagrama-ir-brincadeira

receber sinais

Vá em frente e abrir o bibliotecas / irRemote / IRrecvDemo código de exemplo. Verifique se o RECV_Pin está configurado corretamente, compilar e fazer o upload, em seguida, abrir o console de série em 9600. Agarrar qualquer remoto você tem a mão, o apontar para o seu receptor e começar a pressionar botões. Botões diferentes irá produzir diferentes codes- alguns indicará uma pressão longa com o código inicial, em seguida, FFFFFF, enquanto diferentes controles remotos podem simplesmente repetir o código novamente.

irrecv

Para uma visão mais detalhada dos dados a serem recebidos, dê uma olhada na IRrecvDump exemplo, em vez, que irá indicar tanto o tipo de sinal recebido (32 bits NEC, neste caso), e os valores brutos. É bom saber, mas na maioria dos casos, você só quer os valores descodificados.

irdump

Repetindo um sinal

Nós não será escrever a nossa brincadeira hoje a partir do zero, então vá em frente e confira o IRrecord exemplo. Os complexidade do código aumenta muito aqui, mas é principalmente todos para lidar com lidar com diferentes tipos de códigos de IR - fundamentalmente, aqui está o que está acontecendo dentro do loop:

  • Verifique se o botão está sendo pressionado, repetir o sinal armazenado atualmente se é e repetir a cada 50 ms até deprimido.
  • Se não sendo pressionado e é detectado um sinal, que gravar.


A maior limitação deste exemplo é que ele só funciona com um código de cada vez, por isso, se você pressionar outro botão do controle remoto, que vai substituir o último. O botão simplesmente repete o último sinal de que recebeu. Compilar e executar o código para que possa ter um ir com este repetidor de sinal de base. Para reproduzir um único sinal, ele funciona muito bem, mas isso é de pouca utilidade prática em uma brincadeira ou de outra forma.

O Prank!

Vamos modificar um pouco para gravar 10 ou mais perniciosos sinais. Você pode encontrar o código modificado completo aqui, mas aqui está um resumo das alterações que fiz no caso de você gostaria de ter um ir programando isso por si mesmo:

  • Definir 3 novas matrizes de tamanho 10, para armazenar um conjunto de sinais de cada vez que é detectado um, um número inteiro e para armazenar o tamanho dessas matrizes.
  • Armazenar um índice de onde atualmente estão nessa matriz. Aumentar o índice cada vez que um sinal é detectado - mas não deve aumentar se o sinal é um código de repetição.
  • Um valor booleano que deixa mais sendo gravado, uma vez que já atingiu o máximo.
  • Um booleano para indicar se estamos em modo de reprodução ou não, em vez de ter que segurar o botão-também modificou a lógica botão para alternar isso.

Note-se que o indicador de LED no Arduino (pino 13) irá ativar uma vez que a memória está cheia. Neste momento, você deve gravar 10 pressiona o botão - não menos - e modo de repetição vai esperar 1 segundo entre cada repetição botão. Aqui está em ação:

Você pode jogar com fazer mais brincadeiras IR, ou considerar este um bom começo em uma mais épico projeto de automação residencial- e não se esqueça de verificar todos os outros projectos Arduino. Partilhe as suas criações (ou problemas) nos comentários, e por favor, mostrar o seu apreço para este artigo, partilhando-o em suas redes sociais favoritas!

» » Apresentando a tv diabo, um fácil controle remoto arduino prank