Índice:

Usando sensor infravermelho com Arduino: 8 etapas (com imagens)
Usando sensor infravermelho com Arduino: 8 etapas (com imagens)

Vídeo: Usando sensor infravermelho com Arduino: 8 etapas (com imagens)

Vídeo: Usando sensor infravermelho com Arduino: 8 etapas (com imagens)
Vídeo: SENSOR INFRAVERMELHO (SIMPLES E EFICAZ) 2024, Junho
Anonim
Usando sensor infravermelho com Arduino
Usando sensor infravermelho com Arduino

O que é um sensor infravermelho (também conhecido como IR)?

Um sensor IR é um instrumento eletrônico que faz a varredura de sinais IR em faixas de frequência específicas definidas por padrões e os converte em sinais elétricos em seu pino de saída (normalmente chamado de pino de sinal). Os sinais de IV são usados principalmente para transmitir comandos pelo ar em distâncias curtas (normalmente alguns metros), como o que você já trabalhou em controles remotos de TV ou outros dispositivos eletrônicos semelhantes.

Protocolo de comunicação IR

Cada sinal representa um código específico. Os sinais elétricos podem ser convertidos de volta para os dados / códigos reais que o remetente enviou. Quando você pressiona um botão no controle remoto da TV, ele gera um sinal correspondente ao código do botão (por exemplo, liga / desliga, aumentar volume, etc.) e o envia para um receptor (neste caso, sua TV). Tanto o emissor quanto o receptor concordaram com um conjunto de códigos para que o receptor saiba o que fazer com base em cada código. A forma como um código deve ser modulado (modelado) à medida que um sinal é definido em um padrão diferente e cada fabricante de sensores normalmente tenta produzir um produto compatível com eles para que possa ser usado em diferentes dispositivos. Um dos protocolos padrão mais conhecidos é o da NEC. Você pode encontrar um breve histórico dos protocolos IR na Wikipedia sob o título Consumer IR.

Etapa 1: Qual é a aparência de um sensor de infravermelho?

Qual é a aparência de um sensor de infravermelho?
Qual é a aparência de um sensor de infravermelho?
Qual é a aparência de um sensor de infravermelho?
Qual é a aparência de um sensor de infravermelho?
Qual é a aparência de um sensor de infravermelho?
Qual é a aparência de um sensor de infravermelho?

Os sensores IR estão disponíveis em pacotes diferentes. Aqui você pode ver algumas embalagens típicas de um receptor IR.

Etapa 2: Módulo / placa do sensor de infravermelho

Módulo / placa de interrupção do sensor de infravermelho
Módulo / placa de interrupção do sensor de infravermelho
Módulo / placa de interrupção do sensor de infravermelho
Módulo / placa de interrupção do sensor de infravermelho
Módulo / placa de interrupção do sensor de infravermelho
Módulo / placa de interrupção do sensor de infravermelho
Módulo / placa de interrupção do sensor de infravermelho
Módulo / placa de interrupção do sensor de infravermelho

Você também pode comprá-los como um módulo IR / placa breakout no eBay, Aliexpress ou Amazon. Esses módulos normalmente incorporam um dos sensores mencionados acima com um pacote amigável de placa de ensaio junto com um LED que pisca quando o sensor detecta um sinal. Ao fazer isso, você notará se algum dado está sendo transferido. Eu sugiro começar com um desses módulos.

Nota: se você tiver um sensor infravermelho bruto, nada mudaria, exceto que você deve verificar a folha de dados do sensor para se certificar de que está conectando-o corretamente, porque caso contrário, você pode ter uma bela fumaça azul com um cheiro que duraria por um hora. Você sabe o que eu quero dizer;)

Etapa 3: peças e componentes necessários

Peças e componentes necessários
Peças e componentes necessários

Aqui você pode encontrar a lista de componentes necessários para concluir este tutorial:

Links do eBay:

  • 1 x Arduino Uno:
  • 1 x módulo de sensor IR com controle remoto:
  • 4 resistores de 220 ohms:
  • 4 x LED:
  • 8 x cabo Dupont:
  • 1 placa de ensaio sem solda:
  • 1 x mini breadboard (opcional):

Links da Amazon.com:

  • 1 x Arduino Uno:
  • 1 x módulo sensor IR com controle remoto:
  • 1 placa de ensaio sem solda:
  • 4 x resistores de 220 ohms:
  • 4 x LED:
  • 8 x cabo Dupont:
  • 1 x mini breadboard (opcional):

Etapa 4: conectando o sensor infravermelho ao Arduino

Conectando Sensor IR ao Arduino
Conectando Sensor IR ao Arduino
Conectando Sensor IR ao Arduino
Conectando Sensor IR ao Arduino
Conectando Sensor IR ao Arduino
Conectando Sensor IR ao Arduino

Configurar a conexão do sensor IR com o Arduino é muito simples. Ao lado do pino VCC e GND, o sensor possui apenas um pino de saída que deve ser conectado a um dos pinos digitais do Arduino. Neste caso, ele está conectado ao pino 13.

Tentei demonstrar o módulo do sensor IR e a configuração do sensor IR bruto. Como pode ser visto nas fotos, a posição dos pinos VCC e GND no módulo do sensor é o oposto do sensor bruto. No entanto, pode não ser o caso do seu sensor, então conforme mencionado na etapa anterior, no caso de usar o sensor bruto, verifique primeiro a ficha técnica.

Etapa 5: encontre o código correspondente a cada tecla no controle remoto

Encontre o código correspondente a cada tecla no controle remoto
Encontre o código correspondente a cada tecla no controle remoto
Encontre o código correspondente a cada tecla no controle remoto
Encontre o código correspondente a cada tecla no controle remoto
Encontre o código correspondente a cada tecla no controle remoto
Encontre o código correspondente a cada tecla no controle remoto

Para programar o Arduino para fazer algo quando você pressiona uma tecla no controle remoto, primeiro você deve ter o código correspondente a essa tecla. O código-chave é um número normalmente apresentado como hexadecimal. Cada controle remoto tem seu próprio conjunto de códigos de chave, embora seja possível que dois controladores compartilhem o mesmo código para finalidades diferentes. Ter códigos de chave diferentes junto com o uso de faixas de frequência diferentes garante que dois controladores remotos de dispositivos diferentes não tenham interferência. É por isso que quando você muda seu canal de TV, seu DVD player não reage de forma alguma.

Para detectar os códigos do seu controle remoto IR, você deve primeiro executar um esboço simples que tenta ler o código do sensor quando você pressiona uma tecla e o envia através da porta serial para o seu computador, onde você pode acessá-lo usando as ferramentas do Serial Monitor do Arduino IDE. Isso é o que o esboço anexado a esta seção faz. Seria melhor pressionar todos os botões para ver o código e anotar a lista de códigos em algum lugar para que você não precise executar esse código novamente no futuro. A lista de códigos de teclas que você vê como uma tabela na imagem são, na verdade, códigos que recebi ao pressionar botões em meu controle remoto infravermelho barato.

Você também pode acessar o código-fonte real compartilhado no meu editor da web do Arduino em ir-key-code-logger.

Nota: Não tenha medo se você vir um código como FFFFFF em algum lugar no meio. Isso significa que você pressionou e segurou um botão por um tempo. Voltaremos a isso mais tarde. Por enquanto, apenas ignore-os e concentre-se em outros códigos.

Etapa 6: controlar um conjunto de LEDs usando o controle remoto infravermelho

Controlar um conjunto de LEDs usando o remoto infravermelho
Controlar um conjunto de LEDs usando o remoto infravermelho
Controlar um conjunto de LEDs usando o remoto infravermelho
Controlar um conjunto de LEDs usando o remoto infravermelho
Controlar um conjunto de LEDs usando o remoto infravermelho
Controlar um conjunto de LEDs usando o remoto infravermelho

Agora que temos um código para cada botão, é hora de nos concentrarmos na maneira como podemos usá-los. Normalmente você usa o IR remoto para enviar comandos ao Arduino para fazer algo como ligar ou desligar uma lâmpada, mover um robô em uma direção específica, exibir algo em uma tela LCD / OLED, etc. Aqui, tentamos demonstrar o processo usando um simples circuito composto por 4 LEDs em cores diferentes. Queremos ligar ou desligar cada um deles por um botão dedicado do controle remoto IR. Como você pode ver no esquema, você deve conectar o Arduino da seguinte forma aos LEDs e ao sensor:

Arduino GND -> sensor IR GND.

Arduino VCC -> sensor IR VCC.

Arduino 13 -> Saída de sinal do sensor IR.

Arduino 2 -> Ânodo do LED azul (pino mais curto do LED azul)

Arduino 3 -> Ânodo do LED verde (pino mais curto do LED verde)

Arduino 4 -> Ânodo do LED amarelo (pino mais curto do LED amarelo)

Arduino 5 -> Ânodo do LED vermelho (pino mais curto do LED vermelho)

Arduino GND -> Cátodo de todos os LEDs por meio de um resistor de 220 ohms (pino mais longo dos LEDs)

Você pode encontrar o código correspondente a este circuito no arquivo anexado ou em meu editor da web Arduino em ir-led-control.

Etapa 7: Solução de problemas

Ao configurar seu projeto e seguir os passos, você pode encontrar muitas situações estranhas. Aqui está a lista de alguns erros comuns que você pode obter ao trabalhar com o sensor de infravermelho.

Obtendo FFFFFF ao pressionar uma tecla

Ao pressionar um botão você pode notar que na maioria das vezes ele reporta um código como FFFFFF. Isso acontece quando você pressiona um botão e o mantém pressionado por um tempo, mesmo que por um curto período de tempo. O cenário é que quando você pressiona o botão inicialmente, o controle remoto IR envia o código do botão e, enquanto você segurar o botão, ele repete o envio de FFFFFF, o que significa que o usuário ainda está pressionando o botão relatado recentemente. Isso seria bom. Você pode simplesmente omiti-los. O código real é aquele que você obteve antes de FFFFFF no Monitor Serial.

O sensor de infravermelho não reage de forma alguma e parece que está esquentando

Corte a energia !!! Se você tiver certeza de que o esboço do logger do código-chave está correto, o problema pode ser devido à configuração incorreta dos fios. O cenário que aconteceu comigo foi que para o meu módulo de IR (o que está conectado à placa) eu havia conectado o VCC e o GND de forma oposta (por não usar cores adequadas para os fios de conexão). Ao fazer isso, o componente do sensor queimou e uma bela fumaça azul se levantou. Comprei um pacote de sensores IR brutos e tentei substituí-lo e agora funciona perfeitamente:). Infelizmente, cometi o mesmo erro quando estava testando com o sensor IR bruto e desta vez nada aconteceu, exceto que o sensor esquentou. Portanto, sempre verifique o circuito antes de ligar a energia!

Às vezes, o sensor detecta um código que nunca vi antes

Este é um dos problemas mais comuns. Provavelmente é devido a um dos seguintes motivos:

Você não está apontando seu controle remoto infravermelho diretamente para o sensor

Isso levará a alguns novos códigos (principalmente códigos mais longos) que você nunca recebeu antes e normalmente não correspondem ao comprimento dos códigos que você já possui. Portanto, lembre-se de sempre apontar o controle remoto em direção ao seu sensor.

Você está usando um controle remoto infravermelho barato (como o que usei neste tutorial)

Em vez de usar controles remotos imprevisíveis baratos, você pode tentar o mesmo cenário usando o controle remoto da TV ou do DVD Player ou um controle remoto infravermelho de qualquer dispositivo que você tenha. Eles normalmente têm uma boa qualidade de sinal / hardware (e, claro, são mais caros) e, com base na minha experiência, normalmente funcionam bem mesmo se você não apontar o controle remoto diretamente para o sensor.

Como posso saber se um código registrado não é um lixo

Os códigos são normalmente apresentados em formato hexadecimal. Se você convertê-los para o valor binário correspondente, notará que a representação binária do último byte é a negação do byte que vem antes disso. Se você sabe disso, pode fazer esta verificação em seu código para ter certeza de que o código que você recebeu é realmente válido ou não. Por exemplo, se você obtiver FF7A85, sua representação binária seria a seguinte:

1111 1111 0111 1010 1000 0101

Da esquerda para a direita, cada lote de 4 dígitos é a representação de um caractere no número hexadecimal original. Como você pode ver, o lote correspondente a 7 é 0111 e o lote correspondente a 8 é 1000, que é a negação exata disso. Por negação, quero dizer que todos os 0s seriam 1s e todos os 1s seriam substituídos por 0s. O mesmo é verdade para o próximo que é A (1010) e 5 (0101).

Etapa 8: O que fazer a seguir?

Agora é sua vez. Depende da sua imaginação ver o que você pode fazer com este pequeno e simples sensor em sua mão. Aqui estão algumas idéias para começar:

  • Use o controle remoto IR de um dos dispositivos que você tem em casa (TV, estéreo, etc.) e tente usá-lo em seu projeto Arduino
  • Tente ligar todos os LEDs de uma vez pressionando uma tecla e, em seguida, desligue-os usando outra tecla
  • Use o botão para cima / para baixo do controle remoto para ligar / desligar os LEDs um por um até que todos eles liguem / desliguem
  • Crie um semáforo usando LEDs e controle-o usando seu controle remoto
  • Se você tiver um pequeno motor DC disponível, tente iniciar / parar ou alterar sua direção de rotação por meio do controle remoto IR
  • Você pode usar o controle remoto da TV para controlar o robô ou ativar / desativar alguns sensores / atuadores nele

Deixe-me saber nos comentários, o que você faria (ou já fez) usando o controle remoto IR.

Recomendado: