Sensor Reflexivo de Obstáculo Infravermelho KY-032 com arduino:
Semelhantemente ao Módulo Sensor de linha TCRT5000 do tutorial “ROBÔ SEGUIDOR DE LINHA COM SENSOR TCRT5000: ” e o Sensor de obstáculo infravermelho do tutorial “ROBÔ SEGUIDOR DE LINHA” temos o Sensor Reflexivo de Obstáculo Infravermelho KY-032 com arduino. Porém, com a diferença de que ao invés de identificar as cores preto e branco iremos utilizá-lo para identificar objetos.
Como funciona o Sensor Reflexivo de Obstáculo Infravermelho KY-032 com arduino ?
Precipuamente, o funcionamento do nosso sensor é baseado no sistema de reflexão infravermelho, ou seja, possui um LED emissor de infravermelho e um LED fotodiodo receptor, quando algum obstáculo/objeto passa no ângulo de detecçãodo sensor na distância ajustada, o sensor indica tal situação colocando a saída em nível lógico BAIXO. Vemos isso na imagem abaixo:
Imagem dos LED’s emissor e receptor detectando objeto
– Circuito Integrado
Os circuitos integrados tem a função de temporizador, controlar, oscilar e amplificar a presença ou não de obstáculos, sinalizando assim com o valor logico 1(alto) se não houver a presença de obstáculos e com valor logico 0(baixo) se houver a presença de obstáculos. O circuito integrado utilizado no sensor é um chip preto acoplado ao módulo é baseado em um temporizador NE555. Vejamos abaixo uma imagem de um circuito integrado:
Circuito Integrado
Para sua operação o modulo foi projetado para funcionar com frequência de 38KHz, há uma tensão de 3.3 a 6VDC. Além disso, o módulo possui dois potenciômetros ajustáveis, um para controle da frequência de operação e outro para controle da sensibilidade da distância de detecção que pode ficar entre 2cm e 40cm. Vejamos abaixo o Módulo Sensor Reflexivo de Obstáculo Infravermelho KY-032 e seus componentes:
Imagem do Sensor Infravermelho KY-032
Vemos que temos os dois potenciômetros P2 para ajuste do feixe de luz do emissor e P1 para ajuste da distância de detecção, uma entrada para jumper e ao lado temos o circuito integrado NE555. Logo depois, embaixo temos o sensor de energização do módulo (Power LED) que fica constantemente aceso quando o sensor está sendo energizado e logo ao lado temos o LED identifica se detectou ou não a presença de obstaculo. Em seguida temos os LEDs emissor e receptor.
– Óptica
O princípio físico do funcionamento do sensor tem a ver com a absorção da luz e emissão de calor pelas cores. A absorção da luz é o processo pelo qual a luz que incide sobre um corpo é convertida em energia e com isso os elétrons deste corpo se agitam, fazendo com que oscilem e emitem calor. Para isso acontecer, a luz que incide sobre um material em particular precisa ter uma frequência de oscilação próxima da frequência na qual os elétrons dos átomos desse material vibram. Veja a tabela de frequência de cores abaixo:
Tabela identificando as principais frequências da luz
Temos então que as cores que não produzem a própria luz depende da frequência que elas são capazes de absorver e da forma como elas interagem com a luz que as incide, ou seja, a cor não está no objeto. Temos que, na verdade, os objetos absorvem todas as cores que estão na luz branca e refletem apenas aquela que vemos. Essa luz é a que chega aos nossos olhos. Por exemplo, temos que se um objeto absorve todas as frequências de luz igualmente, então a cor que será expressa por ele que veremos será a cor preta. Porém, caso não consiga absorve algum intervalo de frequência de luz visível, como a azul, nós enxergaremos esse objeto com a cor azul, pois será está a cor que refletirá nos nossos olhos.
– Cores
Imagem de incidência da mesma luz branca em dois objetos
Em suma, acima iluminamos dois objetos com a mesma luz branca, e ambos os objetos absorvem todas as cores, exceto a luz azul para o da esquerda e a luz verde para o da direita. Como a luz azul e a luz verde não são absorvidas, elas são refletidas em todas as direções, tornando assim o objeto da esquerda azul e o da direita verde aos nossos olhos. No sensor temos que a luz infravermelho é emitida e quando temos a presença de um objeto essa luz é refletida para o LED receptor.
– Infravermelho
As luzes ditas não-visíveis são aquelas que a frequência está abaixo da frequência da luz vermelha e acima da frequência da luz violeta.
Imagem das luzes visíveis e não visíveis
Em inicio vemos que a luz vermelha tem a maior velocidade de propagação já que o comprimento de onda é o maior e possui a menor frequência das luzes visíveis. Logo depois, por ultimo temos que a violeta é a de menor velocidade de propagação e sua frequência é a maior das luzes visíveis. O infravermelho é um tipo de radiação eletromagnética que apresenta frequência menor que a da luz vermelha, por isso, não está no espectro eletromagnético visível. Ela é utilizada para detectar a temperatura de corpos e objetos, e para o nosso sensor não difere disso, pois o LED emissor envia uma onda de luz infravermelha e quando detecta um objeto está onda é refletida para o receptor. Além disso, temos também outras luzes que não estão no espectro da luz visível, como a ultravioleta.
– Os terminais deste sensor são:
- VCC(+) – Tensão de entrada, entre 3,3 a 5 volts
- GND(-) – O pino de O V do módulo, conectado ao GND do Arduino ou fonte Saida
- EN – Pino de controle do módulo
- Saída Digital(OUT)– Pino de saída digital (retorna HIGH ou LOW)
Mãos à obra — Configurando um Sensor Reflexivo de Obstáculo Infravermelho KY-032 com arduino
Componentes Necessários
– Montando o projeto:
Precipuamente, conectaremos o GND do Módulo no GND do arduino e o VCC do Módulo no 5V do arduino. Logo após, conectaremos o OUT do Módulo no Pino 8 do arduino. Veja o Diagrama de montagem abaixo:
Diagrama de montagem do Sensor de Obstáculo Infravermelho KY-032
– Programando o Arduino:
Neste instante vamos conectar o arduino no computador e abrir a IDE arduino. Desta forma iremos escrever o programa abaixo na IDE e compile o programa para o seu arduino.
Em contrapartida, antes de carregar o programa, você precisa selecionar qual porta você deseja usar para fazer o carregamento do seu programa no Arduino (upload). Dentro do Arduino IDE, clique no menu Ferramentas (tools) e abra o submenu Porta(Port). Clique na porta que seu Arduino está conectado, tal como COM3 ou COM4. Geralmente aparece o nome da placa Arduino : “COM3 (Arduino/Genuino Uno)”.
#define pino_out 8 //Define o fino 8 como "pino_out" void setup(){ pinMode(pino_out, INPUT); // Define o "pino_out" como entrada Serial.begin (9600); //Inicializa a comunicação serial com velocidade } void loop(){ if(digitalRead(pino_out) == LOW){ // Se a leitura do "pino_out" for igual a LOW, Executa Serial.println ("Objeto detectado"); //Imprime o texto "Objeto detectado" no serial monitor }else{ //Senão, faz Serial.println ("Nenhum objeto detectado"); //Imprime o texto "Nenhum objeto detectado" no serial monitor } }
ATENÇÃO: não esqueça de definir a placa e a porta que esta utilizando para carregar
– Testando o funcionamento:
PS: o tamanho e cor do obstáculo influenciam na distância de detecção. Além disso, os trimpots do módulo devem ser ajustados para melhorar o raio de detecção. Se tudo estiver correto temos o resultado abaixo:
GIF do sensor funcionando
– Ajuste de sensibilidade do Sensor Reflexivo de Obstáculo Infravermelho KY-032 com arduino
O ajuste para a detecção de objetos é feita no trimpot. Quando o LED de leitura de detecção estiver aceso, significa que o sensor está recebendo o sinal infravermelho de volta, detectando assim o obstaculo/objeto.
Imagem dos trimpots
Entendendo a fundo:
Software
– Definições e variáveis utilizadas no projeto do Sensor Reflexivo de Obstáculo Infravermelho KY-032 com arduino
A instrução #define apenas associou a porta 8 dos pinos do arduino ao nome “pino_out”, pois é mais fácil para se lembrar durante o programa.
#define pino_out 8 //Define o fino 8 como "pino_out"
– Função Setup – Definindo pinos do Sensor Reflexivo de Obstáculo Infravermelho KY-032 com arduino
Sabemos que função setup é aquela que irá rodar apenas uma vez quando nosso programa for iniciado. Ela é do tipo void, ou seja, não tem retorno e também não tem parâmetros de entrada. Em início na função pinMode nos definimos se os pinos serão entradas ou saída, no caso do “pino_out” ele será uma entrada. Logo depois, por último inicializamos a comunicação serial para podemos visualizar o que esta acontecendo no serial monitor.
void setup(){ pinMode(pino_out, INPUT); // Define o "pino_out" como entrada Serial.begin (9600); //Inicializa a comunicação serial com velocidade }
– Função Loop – Leitura do nosso Sensor Reflexivo de Obstáculo Infravermelho KY-032 com arduino de som e Estruturas de decisão
Em analogia, a função loop ao contrário da setup roda tudo que estiver dentro dela varias vezes em um loop constante até que seja reiniciado ou parado o programa.
Na estrutura de decisão if temos que se for verdadeira a condição entre parenteses o que está entre os colchetes do if será executado, caso contrario o que estiver entre os colchetes do else que será. A função digitalRead() faz a leitura do pino que está entre parenteses. Assim sendo, vemos que no caso do nosso programa o pino em questão é o “pino_out” e se a leitura feita for o valor “0”, nível logico baixo, a condição do if será verdadeira e será impresso no monitor serial o texto “Objeto detectado”. Logo depois, caso a função digitalRead() leia “1”, nível logico alto, o else que será executado imprimindo assim o texto “Nenhum objeto detectado” no serial monitor.
void loop(){ if(digitalRead(pino_out) == LOW){ // Se a leitura do "pino_out" for igual a LOW, Executa Serial.println ("Objeto detectado"); //Imprime o texto "Objeto detectado" no serial monitor }else{ //Senão, faz Serial.println ("Nenhum objeto detectado"); //Imprime o texto "Nenhum objeto detectado" no serial monitor } }
Considerações finais:
No tutorial mostramos como funciona e como utilizar o Sensor Reflexivo de Obstáculo Infravermelho KY-032 . Esperamos que você continue nos acompanhando e sinta-se à vontade para nos dar sugestões, críticas ou elogios. Lembre-se de deixar suas dúvidas nos comentários abaixo.
Estudante de Engenharia Elétrica – IFES, Técnico em Eletrotécnica. Interesse por IoT, Robótica e Sistemas embarcados. Aprecia e deseja desenvolver-se nas tecnologias e suas composições.