Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Replicador infravermelho conectado à Internet

Componentes e suprimentos

Partícula Photon
× 1
Adafruit IR Receiver Diode
× 1
LED Adafruit - infravermelho 950 nm
× 1
Arduino UNO
× 1
Teensy 3.1
× 1
Tecnologia Microchip ATmega328
× 1
Microchip Technology ATtiny85
× 1
Espressif ESP8266 ESP-01
× 1
Bluz DK
× 1
RedBear Duo
× 1

Aplicativos e serviços online

porter

Sobre este projeto


Algum tempo atrás, comecei a decodificar um controle remoto infravermelho AC com a finalidade de controlar um ar condicionado via WIFI.

Aprendi muitas coisas ao longo do caminho e gostaria de compartilhar esse conhecimento com todos vocês, caso possa ajudá-los em projetos futuros (eu do futuro:estou olhando para vocês também). Eu usei um Particle Photon, mas você pode escolher usar um MCU diferente, uma vez que a IRremote Arduino Library (de Ken Shirriff) usada neste projeto suporta muitos outros. Aqui também está sua página oficial.

muito de informações nessa página, certifique-se de ler algumas delas para um entendimento profundo de como os sinais de infravermelho funcionam, mas reproduzirei alguns pontos importantes na próxima seção.





Algumas informações básicas sobre códigos IR


O que se segue é uma transcrição da postagem original do autor:

Um controle remoto IR funciona ligando e desligando o LED em um padrão específico. No entanto, para evitar a interferência de fontes de infravermelho, como luz do sol ou luzes, o LED não fica aceso continuamente, mas é ligado e desligado em uma frequência de modulação (normalmente 36, 38 ou 40KHz). O tempo em que um sinal modulado está sendo enviado será chamado de marca e quando o LED estiver desligado será chamado de espaço.

Cada tecla do controle remoto possui um código específico (normalmente de 12 a 32 bits) associado a ela e transmite esse código quando a tecla é pressionada. Se a tecla for mantida pressionada, o controle remoto geralmente transmite repetidamente o código da tecla. Para um controle remoto NEC, um código de repetição especial é enviado enquanto a tecla é mantida pressionada, em vez de enviar o código repetidamente. Para controles remotos Philips RC5 ou RC6, um bit no código é alternado cada vez que uma tecla é pressionada; o receptor usa este bit de alternância para determinar quando uma tecla é pressionada pela segunda vez.

Na extremidade de recepção, o detector IR demodula este sinal e emite um sinal de nível lógico indicando se está recebendo um sinal ou não. O detector de infravermelho funcionará melhor quando sua frequência corresponder à frequência do remetente, mas na prática isso não importa muito.

Agora você está pronto para a próxima etapa ...





Construir o circuito receptor IR


Para decodificar os sinais infravermelhos, você precisa de um diodo receptor infravermelho:

E você constrói o circuito receptor conforme indicado na biblioteca:

Aqui está a pinagem:

Minha placa de ensaio ficou assim:

Por enquanto, concentre-se em conectar o diodo receptor (o preto) e esqueça o transmissor (o transparente) - cuidaremos disso mais tarde.





Decodifique alguns sinais IR


Como o projeto irá despejar os códigos recebidos por meio da linha serial, precisamos conectá-lo a um computador. Ligue o Photon com um cabo USB e conecte-o a uma porta USB do seu computador. Agora será um bom momento para atualizar o firmware anexado.

Abra um console ou terminal e use o Particle CLI para monitorar a porta USB.

NOTA: Se você não tiver o Particle CLI instalado, faça-o seguindo os documentos aqui.

No Ubuntu Linux, isso é o que eu tinha que digitar para monitorar a porta serial do Photon:
  $ sudo chmod 666 / dev / ttyACM0 $ monitor serial de partículas  

Dependendo do seu computador e sistema operacional, a porta pode ter um nome diferente e / ou o chmod pode não precisar ser executado.

NOTA: você pode usar qualquer outro software para receber dados na porta serial USB do seu computador.

Feito isso, você pode apontar o controle remoto que deseja decodificar para o diodo receptor IR (o componente semelhante a LED preto) Comece a apertar os botões e verifique o que está impresso no console.

Se tudo correr bem, você receberá algo assim:
  1FEA05F29168950,8500,4050,500,1500,550,500,550,450,550,500,500,1550,500,500,550,500,500,500,550,500,500,500,550,450,550,500,550,1500,500,500,550,500,500,500,550,500,500,550,500,1500,550,1500,550,450,550,1500,550,500,500,1500,550,500,550,450,550,500,500,500,550, END 3,3,2,0 , 1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 , 0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0 , 0,0,0,0,0,0, END  
  • Primeira linha (1FEA05F) e terceira linha:esqueça-os por enquanto
  • Segunda linha:esta linha imprime o comando IV enviado pelo remoto





Nosso primeiro comando IR decodificado


Vamos falar sobre o comando IR recebido:
  29168950,8500,4050,500,1500,550,500,550,450,550,500,500,1550,500,500,550,500,500,500,550,500,500,500,550,450,550,500,550,1500,500,500,550,500,500,500,550,500,500,550,500,1500,550,1500,550,450,550,1500,550,500,500,1500,550,500,550,450,550,500,500,500,550, END  

Podemos descartar o primeiro valor, 29168950 neste caso, uma vez que a biblioteca IR afirma o seguinte:" o buffer de recebimento começa com a duração do espaço de lacuna antes da primeira marca ". Não nos importamos com essa duração, pois é o tempo que passou entre nossos testes, ou o tempo que você levou para apertar um botão no controle remoto.

Portanto, a partir da saída recebida, isso é o que é realmente interessante e o que molda o comando IR:
  8500,4050,500,1500,550,500,550,450,550,500,500,1550,500,500,550,500,500,500,550,500,500,500,550,450,550,500,550,1500,500,500,550,500,500,500,550,500,500,550,500,1500,550,1500,550,450,550,1500,550,500,500,1500,550,500,550,450,550,500,500,500,550, END  

Esses números representam a duração dos pulsos infravermelhos em microssegundos. Se quiséssemos, poderíamos enviar este comando com o seguinte código:
  function sendIt () {unsigned int ircommand [59] ={8550.4000.550,1500.550.450.550.500.500.550.500.1550.500.500.500.500.500.550.500.500.500.550.500.500.500.550.500.500.1500.550.500.500.500.500.500.500.500.500.550.500.500.500.550.500.500.500.550.500.500.1500.550.500.500.500.550.500.500.500.500.500.500.500.500.500.500.500.500.500.500.500.500.500.550.1500.550.550.550.550.550.550.5 , 500.500.550.500.500.500.550.450.550}; irsend.sendRaw (ircommand, 59,38); }  

Mas, para isso, precisaremos construir o circuito do transmissor. Vamos fazer isso a seguir.





Construir o circuito do transmissor IR


O circuito mais simples se parece com este:

No entanto, este circuito fornecerá apenas menos de um metro de alcance.

Se possível, conecte um circuito como este abaixo para um alcance melhorado (cerca de 10 metros):

Este é o lado do transmissor do meu circuito:





Testando o circuito do transmissor IR


Eu adicionei algumas funções no firmware para controlar o volume em uma TV Samsung. Isso é para que você possa testar se o circuito do transmissor está funcionando caso você tenha uma TV Samsung por perto.

Basta apontar o LED do transmissor para a TV e clicar nas funções sendSamsungVolumeUp () e sendSamsungVolumeDown ().

NOTA: Lembre-se de que você pode usar a câmera do seu celular para verificar se o LED IR está transmitindo, já que o IR aparece lá:





Tornando os comandos IR mais legíveis


Se identificarmos valores em torno de 500 com 0 e 1500 com 1, sendo esta seleção arbitrária, atribuindo também 3 para valores acima de 5000 e 2 para valores em torno de 4000, chegamos à seguinte representação:
  3,3,2,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1, 0,0,0,1,0,0,0,0,0,0,0,0,0,0, END  

Agora, lembre-se disso nesta codificação totalmente arbitrária:
  • 3 significa um pulso de 8.500 microssegundos
  • 2 significa um pulso de 4000 microssegundos
  • 1 significa um pulso de 1.500 microssegundos
  • 0 significa um pulso de 500 microssegundos

Por que codificar em números, você pode perguntar?

Isso ajuda a visualizar e comparar comandos, espero. Dessa forma, fica mais fácil comparar pulsos que mudam ou permanecem iguais entre os diferentes comandos.

Exemplo:você quer comparar o que muda entre um comando para definir a temperatura para 18 e 19 graus no caso de um controle remoto AC? Mais fácil quando você tem 1 e 0.

Também gosto desse formato para armazenar os comandos de infravermelho no código do firmware. Lembre-se de convertê-los em pulsos antes de transmitir (chamando a função convertToPulseDuration () no firmware).





Recursos de leitura


Eu li um monte de sites para conseguir entender o assunto. Aqui está uma lista de alguns deles:
  • Engenharia reversa de um protocolo de controle remoto IR de ar condicionado
  • Usando controles remotos arbitrários com a biblioteca arduino IRremote
  • este tópico na comunidade Particle
  • Compreendendo o protocolo IR de controles remotos de ar condicionado
  • este blog sobre adafruit





Conclusão


Com algum trabalho, um MCU e alguns componentes, você será capaz de decodificar e replicar muitos dos controles remotos que você tem em sua casa. Com algumas limitações, isso pode permitir que você controle todos esses dispositivos de seu telefone, tablet, laptop, computador e até mesmo crie algumas automações simples para eles. Legal né?

Agora você pode pensar em adicionar Blynk, criar um aplicativo no Ionic Framework, falar com ele com o Google Now ou Alexa, ou controlá-lo com Porter.

Estou planejando aplicar esse conhecimento para controlar alguns dispositivos pela casa e espero criar mais relatórios no futuro. Fique ligado!

Atualização em 5 de fevereiro de 2018:

Aqui está uma implementação desse projeto:uma lareira infravermelha controlada pela Internet.





Precisa de ajuda?


Se você precisar de ajuda profissional com seus projetos, não hesite em escrever-me uma linha sobre suas necessidades em [email protected]. Obrigada!

Código

infravermelhoReplicador
o código-fontehttps://github.com/gusgonnet/infraredReplicator

Esquemas


Processo de manufatura

  1. Como vagões de carga são conectados à internet
  2. Internet das coisas e a função do 5G em veículos conectados
  3. Cibersegurança e a Internet das coisas:hora da biometria?
  4. Internet das coisas:Uma teia do mundo conectado
  5. Como podemos facilitar a educação com a Internet das coisas?
  6. Tanques a laser Leap Motion!
  7. UnifiedWater v1
  8. Rádio da Internet Pi-Arduino
  9. Compressores de ar conectados, indústria 4.0 e a Internet das coisas
  10. Ar comprimido e gás A-Z Vlog:IOT, Internet 4.0 e compressores conectados